Windows域渗透终极指南:RedTeaming_CheatSheet中的Domain Enumeration实战技巧

【免费下载链接】RedTeaming_CheatSheet Pentesting cheatsheet with all the commands I learned during my learning journey. Will try to to keep it up-to-date. 【免费下载链接】RedTeaming_CheatSheet 项目地址: https://gitcode.com/gh_mirrors/red/RedTeaming_CheatSheet

RedTeaming_CheatSheet是一份全面的渗透测试速查手册,汇集了大量在学习过程中积累的Windows域渗透命令和技术。本文将围绕其中的Domain Enumeration模块,为新手和普通用户提供一套简单易懂的实战技巧,帮助你快速掌握Windows域环境下的信息收集方法。

一、Domain Enumeration基础认知 🧩

Domain Enumeration(域枚举)是Windows域渗透测试中的关键环节,它通过收集域内用户、组、计算机、策略等信息,为后续攻击提供重要依据。在RedTeaming_CheatSheet项目中,相关内容主要集中在windows-ad/Domain-Enumeration.md文件中,涵盖了从无认证到有认证的多种枚举方法。

核心工具介绍 🛠️

域枚举常用工具可分为PowerShell工具、原生命令和第三方工具三大类:

  • PowerShell工具:如PowerView(windows-ad/Domain-Enumeration.md第20行)和SharpView,提供强大的域对象查询能力
  • 原生命令:包括dsquery、net accounts等系统自带命令
  • 第三方工具:如windapsearch、ldapsearch-ad等轻量级枚举工具

二、无认证枚举技巧 🔓

在没有任何凭证的情况下,依然可以尝试对域环境进行初步探测,主要通过LDAP匿名绑定实现。

1. 扫描LDAP端口

使用nmap扫描目标网段的389和636端口,定位可能的域控制器:

sudo nmap -p 389,636 <目标网段>

2. 测试匿名绑定

通过Python脚本测试是否允许匿名LDAP绑定:

from ldap3 import *
s = Server('<IP地址>', get_info=ALL)
c = Connection(s, '', '')
c.bind()  # 若返回True则表示匿名绑定成功

3. 获取基础域信息

使用windapsearch工具获取域功能级别、用户列表和计算机列表:

# 获取域功能级别
python3 windapsearch.py --dc-ip <IP> -u "" --functionality

# 获取所有域用户
python3 windapsearch.py --dc-ip <IP> -u "" -U

# 获取所有计算机
python3 windapsearch.py --dc-ip <IP> -u "" -C

三、认证枚举实战 🚀

当拥有域内用户凭证后,可以进行更深入的域信息收集,主要通过PowerView和Active Directory模块实现。

1. 加载枚举工具

# 导入PowerView
. ./PowerView.ps1

# 导入AD模块
Expand-Archive ADModule-master.zip
Import-Module .\ADModule-master\ADModule-master\Microsoft.ActiveDirectory.Management.dll
Import-Module .\ADModule-master\ADModule-master\ActiveDirectory\ActiveDirectory.psd1

2. 域基础信息查询

# 获取当前域信息
Get-Domain

# 获取域SID
Get-DomainSID

# 获取域密码策略
Get-DomainPolicy
net accounts /domain

3. 用户和组枚举

# 获取所有用户
Get-DomainUser | select samaccountname

# 获取特定用户信息
Get-DomainUser -Username <用户名>

# 获取所有管理员组
Get-DomainGroup -GroupName *admin*

# 获取组成员
Get-DomainGroupMember -Groupname "Domain Admins" -Recurse

4. 计算机和共享枚举

# 获取所有计算机
Get-DomainComputer

# 按操作系统筛选计算机
Get-DomainComputer -OperatingSystem "*Windows 10*"

# 查找域内共享
Find-DomainShare -CheckShareAccess

# 查找敏感文件
Find-InterestingDomainShareFile -Verbose

5. GPO和OU枚举

# 获取所有GPO
Get-DomainGPO

# 获取应用于特定计算机的GPO
Get-DomainGPO -Computername <计算机名>

# 获取所有OU
Get-DomainOu -Fulldata

# 获取OU中的计算机
Get-DomainOu <OU名称> | %{Get-DomainComputer -ADSPath $_}

四、高级枚举技术 🔍

1. ACL权限分析

# 获取对象ACL
Get-DomainObjectAcl -Identity <对象名> -ResolveGUIDS

# 查找有趣的ACL
Find-InterestingDomainAcl -ResolveGUIDs

2. 域信任关系枚举

# 获取域信任
Get-DomainTrust

# 获取森林信息
Get-Forest

# 获取森林中的所有域
Get-ForestDomain

3. BloodHound自动化分析

BloodHound是一款强大的域关系分析工具,能直观展示域内权限关系:

# 收集数据
SharpHound.exe -c all

# 导入数据到BloodHound进行分析

五、总结与注意事项 ⚠️

Domain Enumeration是域渗透的基础,通过本文介绍的方法,你可以系统地收集域内关键信息。在实际操作中,建议优先使用windows-ad/Domain-Enumeration.md中记录的原生命令和PowerShell工具,减少第三方工具带来的检测风险。

记住,枚举过程中应遵循最小权限原则,避免对目标系统造成不必要的影响。RedTeaming_CheatSheet项目持续更新,建议定期查看最新版本以获取更多枚举技巧和命令。

要开始使用这份指南,你可以通过以下命令克隆项目:

git clone https://gitcode.com/gh_mirrors/red/RedTeaming_CheatSheet

通过不断实践这些Domain Enumeration技巧,你将能够快速掌握Windows域环境的信息收集方法,为后续渗透测试打下坚实基础。

【免费下载链接】RedTeaming_CheatSheet Pentesting cheatsheet with all the commands I learned during my learning journey. Will try to to keep it up-to-date. 【免费下载链接】RedTeaming_CheatSheet 项目地址: https://gitcode.com/gh_mirrors/red/RedTeaming_CheatSheet

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐