freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

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

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安全 # 活动目录证书服务
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录