本号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。
我们发现可以进行匿名登录,我们尝试匿名登录SMB服务,看看有哪些有价值的信息
答案是没有,没有什么共享信息
上面信息收集时发现了ldap服务,那我们尝试使用ldapsearch工具对namingcontexts
字段进行发掘
我们尝试更深入地挖掘DN信息,并尝试获取域中的用户列表
我们还可以使用enum4linux
获取用户
我们将搜集的信息保存为一个anon_ldap.txt
文件,过滤出svc-alfresco
用户的信息
那我们拿到账号和用户名后,我们得检查一下是否启用了预认证,这里解释一下什么是预认证
在请求 TGT(票证授予票证)时,第一步,请求方(用户)使用自己的 NTLM 哈希加密时间戳,并将其发送到 KDC(密钥分发中心),即域控制器。现在,如果 KDC 使用请求用户的 NTLM 哈希成功解密时间戳,KDC 将知道请求用户是有效用户。可以禁用此检查(这不是默认情况)。在这种情况下,KDC 不会验证请求 TGT 的用户是否有效,而是将 TGT 发送回请求者。该 TGT 包含使用请求用户的 NTLM 哈希加密的部分数据,这意味着我们可以将哈希脱机并尝试破解它。
那我们可以使用impacket
包中的GetNPUsers.py
这个脚本去请求TGT,直接获取易受攻击的用户名及对应的哈希值
我们使用john
来破解这个hash值,破解的明文值为s3rvice
我们也可以用hashcat来破解
因为上边我们扫描到主机开放了5985端口,那证明主机开放了WinRM服务
我们使用Bloodhound这个工具查询是否有潜在的提权路径,首先我们得先把客户端SharpHound.exe
上传到目标主机上,并运行它
为了方便我们传输,我们在本机上搭建一个SMB服务器
然后我们将压缩包复制到本机上
在攻击机上启动bloodhound,并将压缩包拖进bloodhound中
然后点击最后一个选项,查看可以进行哈希传递的用户
然后再点击这个选项
可以看到svc-alfresco
这个用户是属于service account
这个组的成员,同时它也是Privileged IT Accounts
的成员,它也是account operators
的成员。它允许该组的成员创建和修改用户并将其添加到不受保护的组
那我们现在点击Shortest Paths to High Value Targets
,查看去往高权限目标的路径。该用户具有GenericAll
的权限和Exchange Windows
权限组。在Exchange Windows
权限组具有WriteDacl
在域的权限。该WriteDacl
权限使用户能够向对象添加DACL
(自由访问控制列表)。
那就意味着:
**DCsync是几个权限的集合体,是域渗透中经常会用到的技术,如果普通用户想具有DCsync权限,可以给对象添加以下三条ACE:
首先我们先将用户添加到域中
然后我们将用户添加到Exchange Windows
权限组
我们看看菜单,我们选择Bypass-4MSI
,Bypass-4MSI
命令用于在导入脚本之前规避防御者。接下来,我们可以使用Add-ObjectACL
和john
的凭证,并给他DCSync
权限。
然后输入以下的powershell的代码
开启一个小型服务器
执行完成后,我们使用secretdumps.py
脚本获取用户名对应的哈希值。这里我们获取到了管理员的哈希值
那么我们只需要使用psexec.py
脚本来进行哈希传递攻击,获取到超级管理员权限