域滲透-LDAP中域內組、OU筆記


貼一份筆記而已

最近沒空寫文章了 好好復習一下筆記

環境我用的god.org這個域

又看東西的時候遇到ldap基礎相關的知識了 復習手寫筆記 詳細可以參考靈騰文章和harmj0y文章

http://www.harmj0y.net/blog/activedirectory/a-pentesters-guide-to-group-scoping/


0x01 域中ldap查詢安全組

所有的組都是group類的實例

可以用(objectClass=group)或者(objectCategory=group)來過濾組

組的類型由屬性groupType決定,屬性groupType是一個位字段

域內所有組

域內全局組

域內通用組

域內本地組

域內安全組

域內系統創建的組

0x02 組中的 member && memberof屬性

這兩個屬性能查看組之間的所屬關系

0x03 安全組范圍

安全組可以根據作用范圍划分為

  • 全局組 (Global group)
  • 通用組(Universal group)
  • 域本地組(Domain Local group)

附上daiker師傅畫的范圍圖:

三個組的使用范圍 簡寫的:

常見組

Administrators 域本地組

Domain Admins 全局組 “域管組” 域內所有計算機會把domain admins加入到本地管理員

Enterprise Admins 通用組 林 域中會默認把Enterprise Admins組加入到域本地組的administrators組中

Domain Users 全局組 域內機器 默認也會把Domain Users組加入本地用戶組

0x04 ad中的分區

Naming Context即為ad的分區,為什么要有分區?簡而言之為了隔離,以至於每個DC不需要復制林中的所有數據。

Active Directory預定義的Naming Context

  • Configuration NC(Configuration NC)
    
  • Schema NC(Schema NC)
    
  • Domain NC(DomainName NC)
    

連上ldap后查看相關容器。

Configuration NC

林配置信息的主要存儲庫,包含有關站點,服務,分區和Active Directory Schema 的信息。

配置NC中頂級容器說明:

Schema NC

Schema 信息定義Active Directory中使用的類,它是具有 classSchema ,attributeSchema 和 subSchema 對象的單個容器

Domain NC

不同的域內有不同的域Naming Context,其中包含特定於域的數據。
一個域的name context的根由域的DN表示:
corp.test.local域的DN將為dc=corp,dc=test,dc=local

Application Partitions NC

Application Partitions其實就是Naming Context的一個擴展,一共是兩個作用

1.用戶定義分區

簡而言之,因為nc是微軟預定義了,用戶自己定義不了,如果要定義分區,就可以使用Application Partitions NC。

2.存儲動態對象

動態對象是具有生存時間(TTL) 值的對象,Application Partitions可以給數據設置個TTL,時間一到,Active Directory就刪除該數據。

0x05 ldap中的objectCategory和objectClass

簡而言之,objectCategory和objectClass是用來ldap查詢中對類實例所屬關系的篩選

objectClass 屬性中,可以看到這個對象是哪個類的實例, 以及這個類的所有父類

example:

CN=jane,CN=Users,DC=test,DC=local的objectClass是top,person,organizationalPerson,user。

查詢上面對象的語句:(objectClass=user),(objectClass=organizationalPerson) 

所有的類都是top類的子類。因此當我們過濾(objectClass=top)可以找到域內的所有對象

objectCategory是因為2008之前默認不對objectClass 屬性進行索引,所以objectCategory粗略可以理解為是帶了索引的objectClass

對象類的每個實例具有一個objectCategory屬性,該屬性是一個單值屬性。並且建立了索引。
其中包含對象是其實例的類或其父類之一的專有名稱。


example:
CN=jane,CN=Users,DC=test,DC=local. 

他的objectCategory是CN=Person,CN=Schema,CN=Configuration,DC=test,DC=local
所以同理:
adfind.exe -b dc=god,dc=org -s -subtree -bit -f "(objectCategory=person)" -dn

objectClass與objectCategory結合

Objectclass包含對象是哪個類的實例,以及這個類的所有父類
Objectcategory包含對象實例的類 或 其父類之一
所以如果沒建立索引,objectCategory划分一個大的范圍,然后通過objectClass進行精准匹配

0x06 AD中的OU、組

組:

OU:


ou、組、容器之間的區別

簡而言之
最重要的一點是OU能部署組策略,容器不行。

  • OU:組織單元,是一個專用容器,被管理的集合,也可以說管理對象的集合。
  • 容器: Domain Computers 是常規容器,Domain Controllers是OU
  • 組: 組是權限的集合。

OU的委派

賦予域內用戶對OU的某些管理權限

ADfind 過濾OU

所有的OU都是organizationalUnit類的實例

使用(objectClass=organizationalUnit)或者(objectCategory=organizationalUnit)來過濾OU。

0x07 AGDLP

說白了 對組權限的策略集合:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM