ShadowHound:一款用于活动目录AD枚举的PowerShell工具

2025-01-11 19 0

关于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


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

RequestShield:一款HTTP请求威胁识别与检测工具
2025年十大最佳漏洞管理工具分享
Redis漏洞利用与SSH免密反弹Shell
LIEF:用于解析和修改 ELF, PE 和MachO 格式的跨平台库
网络安全市场的“冬天”还长
Shiro CVE-2020-1957详细分析

发布评论