筆記備份。
備份下學習daiker師傅文章的筆記,LDAP基礎、域內用戶屬性、機器用戶相關、域內會話信息收集 筆記。
類的結構理解 TODO.
0x01 查詢域用戶
SAMR 協議查詢: net user /domain
impacket samrdump.py查詢:


Ldap 語法查詢
通過(&(objectCategory=person)(objectClass=user))語法

用戶屬性對應ldap:
姓對應的屬性就是sn
名對應的屬性是giveName
展示名,對應的屬性是displayName。
相關時間屬性

userAccountControl屬性



Q:機器用戶為什么是域用戶?
-
機器用戶為Computer類的實例
-
域用戶是user類的實例
-
因為computer是user的子類,子類繼承父類的屬性
-
所以機器用戶擁有域用戶的屬性,是一種域用戶

查找域內機器:
objectclass=Computer && objectcategory=Computer
- 在對象的objectClass 屬性里面,可以看到這個對象是哪個類的實例
- 對象類的objectCategory里面建立了索引。其中包含對象是其實例的類或其父類之一的專有名稱。
查看能夠登陸的主機

查看正在登陸的主機
1.遠程注冊表查看
2.NetSessionEnum (https://docs.microsoft.com/en-us/windows/win32/api/lmshare/nf-lmshare-netsessionenum)
3.NetWkstaUserEnum(https://docs.microsoft.com/en-us/windows/win32/api/lmwksta/nf-lmwksta-netwkstauserenum)
查看登陸過后的主機
導出DC日志后查看登陸記錄 。
wevtutil epl Security C:\Users\Administrator\Desktop\1.evtx /q:“*[System[(EventID=4624)] and EventData[Data[@Name=‘LogonType’]=‘3’]]” //導出日志
LogParser.exe -i:EVT -o:CSV "SELECT TO_UPPERCASE(EXTRACT_TOKEN(Strings,5,'|')) as USERNAME,TO_UPPERCASE(EXTRACT_TOKEN(Strings,18,'|')) as SOURCE_IP FROM 1.evtx" >log.csv // 提取日志
0x02 LDAP基礎
基礎名詞:
- 目錄樹
- 條目
- DN(唯一可區別的名稱),RDN
- 屬性
Q:ldap如何表示一條記錄?
dn:一條記錄的位置
dc:一條記錄所屬的區域
ou:一條記錄所屬的組織
cn/uid:一條記錄的名字/ID

AD 中的Naming Context
簡而言之 Active Directory具有分布式特性,一個林中有若干個域,每個域內有若干台域控,每台域控有一個獨立的Active Directory。這個時候就有必要將數據隔離到多個分區中,如果不隔離的話,則每個域控制器都必須復制林中的所有數據。若隔離為若干個分區之后,就可以有選擇性的復制某幾個分區。微軟將Active Directory划分為若干個分區(這個分區我們稱為Naming Context,簡稱NC),每個Naming Context都有其自己的安全邊界。
AD 預定義了三個Naming Context
- 域目錄分區(Domain Directory Partition NC)
- 配置目錄分區(Configuration Directory Partition NC)
- 架構目錄分區(Schema Directory Partition NC)
- 應用程序目錄分區(Application Directory Partition)

連接工具Adexplorer:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/adexplorer
Configuration NC(Configuration NC):
包含有關站點,服務,分區和AD的信息

Schema NC(Schema NC):
定義Active Directory中使用的類,對象和屬性。
理解Schema NC之前先理解ldap的類繼承。
LDAP 中的類和繼承
域內每個條目都是類的實例。而類是一組屬性的集合。
例子:

查看條目實例所屬的類 查看objectClass屬性

類是可繼承的。子類繼承父類的所有屬性,Top類是所有類的父類。
域內每個條目都是類的實例。所有的類都存儲在Schema NC里面,是Schema NC的一個條目。
Domain NC(DomainName NC):
不同的域內有不同的域Naming Context,其中包含特定於域的數據。Domain NC表示域的DN,域內的所有計算機,所有用戶的具體信息都這個Naming Context里面。
Application Partitions : 微軟允許用戶自定義分區來擴展Naming Context的概念
查看工具:rootDSE查看域內的所有Naming Context以及Application Partitions
查詢AD過濾條件(LDAP):
用與號 (&) 表示的 AND 運算符。
用豎線 (|) 表示的 OR 運算符。
用感嘆號 (!) 表示的 NOT 運算符。
用名稱和值表達式的等號 (=) 表示的相等比較。
用名稱和值表達式中值的開頭或結尾處的星號 (*) 表示的通配符。
查詢ldap工具:
adfind&&admod
ldapsearch
ADSI 編輯器
LDP
ADExplorer


