freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

ShadowHound:一款用于活动目录AD枚举的PowerShell工具
2025-01-08 18:29:45
所属地 广西

关于ShadowHound

ShadowHound是一款用于活动目录AD枚举的PowerShell工具,该工具可以帮助广大研究人员更好地检测网络系统活动目录的安全。

功能介绍

ShadowHound提供了一系列功能强大的PowerShell脚本,该工具能够最大程度地利用本机PowerShell功能来降低活动目录的安全风险,主要提供了以下两种数据收集方法:

1、ShadowHound-ADM.ps1:使用 Active Directory 模块 (ADWS);

2、ShadowHound-DS.ps1:通过利用直接 LDAP 查询DirectorySearcher;

工具要求

PowerShell

工具安装

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/Friends-Security/ShadowHound.git

工具使用

ShadowHound-ADM.ps1

方法:Active Directory 模块(Get-ADObject)。

使用场景:当 AD 模块可用且 ADWS 可访问时。

功能

使用-SplitSearch、-Recurse和-LetterSplitSearch选项处理大型目标域;

使用-Certificates选项枚举证书;

ShadowHound-DS.ps1

方法:使用直接 LDAP 查询DirectorySearcher;

使用场景:AD 模块不可用或优先使用 LDAP 的环境。

功能

使用-Certificates选项枚举证书;

支持使用-Credential参数的备用凭据;

工具运行演示

基本枚举

ShadowHound-ADM.ps1

# Basic usage

ShadowHound-ADM -OutputFilePath "C:\Results\ldap_output.txt"

 

# Specify a domain controller and custom LDAP filter

ShadowHound-ADM -Server "dc.domain.local" -OutputFilePath "C:\Results\ldap_output.txt" -LdapFilter "(objectClass=user)"

 

# Use alternate credentials

$cred = Get-Credential

ShadowHound-ADM -OutputFilePath "C:\Results\ldap_output.txt" -Credential $cred -SearchBase "DC=domain,DC=local"

ShadowHound-DS.ps1

# Basic usage

ShadowHound-DS -OutputFile "C:\Results\ldap_output.txt"

 

# Specify a domain controller

ShadowHound-DS -Server "dc.domain.local" -OutputFile "C:\Results\ldap_output.txt"

 

# Use a custom LDAP filter

ShadowHound-DS -OutputFile "C:\Results\ldap_output.txt" -LdapFilter "(objectClass=computer)"

枚举证书

这两个脚本都支持枚举那些有趣的 ADCS 向量的证书相关对象:

# Using ShadowHound-ADM.ps1

ShadowHound-ADM -OutputFilePath "C:\Results\cert_output.txt" -Certificates

 

# Using ShadowHound-DS.ps1

ShadowHound-DS -OutputFile "C:\Results\cert_output.txt" -Certificates

处理大型域名(ShadowHound-ADM.ps1)

# Split search across top-level containers with letter splitting

ShadowHound-ADM -OutputFilePath "C:\Results\ldap_output.txt" -SplitSearch -LetterSplitSearch

为 BloodHound 转换数据

如果使用 ShadowHound 获得的 ldap_output.txt 对于 Bofhound 来说太大(内存错误),可以使用 split_output.py 拆分 ShadowHound 输出:

# Split ldap_output.txt to 100 chunks which are named split_output_1.txt, split_output_2.txt and so on...

# In order to provide bofhound with a folder containing ldap output, the files *must* be prefixed with "pyldapsearch".

python3 split_output.py -i ldap_output.txt -o pyldapsearch_ldap -n 100

 

# Provide Shadowhound with a folder containing the splitted output

python3 bofhound.py -i ./folder -p All --parser ldapsearch

收集数据后,使用BofHound将其转换为与 BloodHound 兼容的 JSON 文件:

python3 bofhound.py -i ldap_output.txt -p All --parser ldapsearch

对于大型 JSON 文件(>100MB),请考虑使用ShredHound之类的工具对其进行拆分。

工具运行截图

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

ShadowHound:【GitHub传送门

参考资料

https://github.com/coffeegist/bofhound

https://github.com/ustayready/ShredHound

# 活动目录 # 活动目录枚举 # AD安全 # 活动目录证书服务
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录