AD学习记录(上)
字数 2346 2025-08-25 22:58:28

Active Directory 凭据获取与信息收集技术详解

一、NTLM 认证服务攻击

1. NTLM认证原理

NTLM认证是AD中验证用户身份的重要方式,流程如下:

  1. 用户请求接入
  2. 服务发送challenge给用户
  3. 用户发送response返回
  4. 服务向DC发送用户给的challenge
  5. DC对比challenge和response验证,返回结果给服务
  6. 服务返回结果给用户

2. 攻击方法

  • 暴力破解:使用工具对NTLM进行暴力破解
  • 密码喷洒:在存在账户锁定策略时使用,使用已知初始密码(如Changeme123)进行尝试

3. 实战应用

  • 常见于Outlook Web App、RDP服务、VPN端点等
  • 使用空间搜索引擎(如Quack)可发现约1w+中国IP使用NTLM认证
  • 401未授权带NTLM认证的网站是常见攻击点

二、LDAP绑定凭证攻击

1. LDAP认证流程

  1. 用户发送请求(含用户名密码)
  2. 服务使用自身AD凭据创建LDAP绑定请求
  3. DC提供绑定回应
  4. 服务用LDAP搜索验证用户
  5. DC返回用户信息
  6. 服务发送用户密码绑定请求
  7. DC验证并返回结果
  8. 服务返回用户操作结果

2. 攻击方法

  • Gitlab配置泄露

    • 默认路径:/etc/gitlab/gitlab.rb/home/git/gitlab/config/gitlab.yml
    • 关键字段:passwordusername
  • LDAP密码回传攻击

    1. 获取服务器权限
    2. 发现网络打印机Web界面
    3. 修改打印机认证IP为攻击者控制IP
    4. 捕获明文凭据

3. 恶意LDAP服务器搭建

  1. 安装:apt-get update && sudo apt-get -y install slapd ldap-utils
  2. 配置:
    • 创建olcSaslSecProps.ldif文件,设置noanonymousminssf=0
    • 执行:ldapmodify -Y EXTERNAL -H ldapi:// -f ./olcSaslSecProps.ldif
  3. 验证:ldapsearch -H ldap:// -x -LLL -s base -b "" supportedSASLMechanisms
  4. 抓包:tcpdump监听389端口

三、NTLM Relay攻击

1. 攻击原理

  • 拦截NTLM Challenges进行离线破解
  • 中间人攻击中继SMB身份验证

2. 使用Responder工具

  1. 执行:responder -I [接口]
  2. 毒化LLMNR、NetBIOS和WPAD请求
  3. 获取NTLMv2-SSP Hash
  4. 使用hashcat破解

四、Microsoft Deployment Toolkit攻击

1. PXE引导流程

  1. 用户发送DHCP发现
  2. DHCP返回IP和PXE信息
  3. 用户发送DHCP请求
  4. 服务返回DHCP确认
  5. 客户端执行启动服务发现
  6. MDT服务返回确认和PXR信息
  7. 客户端发送PXE boot请求
  8. 服务端通过TFTP返回PXE boot

2. 攻击方法

  1. 获取MDT服务器IP
  2. 下载BCD文件:tftp -i [IP] GET "\Tmp\x64{...}.bcd" conf.bcd
  3. 使用PowerPXE.ps1获取系统路径
  4. 下载系统镜像:tftp -i [IP] GET "\Boot\x64\Images\LiteTouchPE_x64.wim" pxeboot.wim
  5. 恢复密码:Get-FindCredentials -WimFile pxeboot.wim

五、配置文件泄露

1. 常见位置

  • 集中部署的应用程序配置文件
  • 注册表
  • 应用服务配置
  • Web服务配置文件

2. 实用工具

  • Seatbelt
  • winPEAS

3. McAfee Enterprise案例

  1. 定位ma.db文件
  2. 使用sqlitebrowser查看
  3. 解密auth_password字段

六、信息收集技术

1. CMD命令

  • net user /domain - 列出域用户
  • net user [用户名] /domain - 查看用户详情
  • net group /domain - 检查域组
  • net group "[组名]" /domain - 查看组详情
  • net accounts /domain - 列出账户策略

2. PowerShell命令

  • Get-ADUser -Identity [用户名] -Server [域名] -Properties *

3. BloodHound工具

  1. 安装Kali版本(推荐)
  2. 使用Sharphound收集器:
    Sharphound.exe --CollectionMethods All --Domain [域名] –ExcludeDCs
    
  3. 导入生成的zip文件分析

4. 关系分析示例

  • 通过DOMAIN USERS→RDP进入THMJMP1→获取T1_HENRY.MILLER会话→提权获取Tier 1 ADMINS权限

七、防御建议

  1. 监控异常认证尝试
  2. 限制LDAP绑定权限
  3. 禁用不必要的协议(LLMNR、NetBIOS)
  4. 加强PXE引导安全
  5. 定期审计配置文件权限
  6. 实施最小权限原则

八、参考资源

  • LDAP认证:https://www.redhat.com/zh/topics/security/what-is-ldap-authentication
  • BloodHound文档:https://bloodhound.readthedocs.io/en/latest/
  • Gitlab LDAP配置:https://docs.gitlab.cn/jh/administration/auth/ldap/
  • PowerPXE脚本:https://github.com/wavestone-cdt/powerpxe
Active Directory 凭据获取与信息收集技术详解 一、NTLM 认证服务攻击 1. NTLM认证原理 NTLM认证是AD中验证用户身份的重要方式,流程如下: 用户请求接入 服务发送challenge给用户 用户发送response返回 服务向DC发送用户给的challenge DC对比challenge和response验证,返回结果给服务 服务返回结果给用户 2. 攻击方法 暴力破解 :使用工具对NTLM进行暴力破解 密码喷洒 :在存在账户锁定策略时使用,使用已知初始密码(如Changeme123)进行尝试 3. 实战应用 常见于Outlook Web App、RDP服务、VPN端点等 使用空间搜索引擎(如Quack)可发现约1w+中国IP使用NTLM认证 401未授权带NTLM认证的网站是常见攻击点 二、LDAP绑定凭证攻击 1. LDAP认证流程 用户发送请求(含用户名密码) 服务使用自身AD凭据创建LDAP绑定请求 DC提供绑定回应 服务用LDAP搜索验证用户 DC返回用户信息 服务发送用户密码绑定请求 DC验证并返回结果 服务返回用户操作结果 2. 攻击方法 Gitlab配置泄露 : 默认路径: /etc/gitlab/gitlab.rb 或 /home/git/gitlab/config/gitlab.yml 关键字段: password 和 username LDAP密码回传攻击 : 获取服务器权限 发现网络打印机Web界面 修改打印机认证IP为攻击者控制IP 捕获明文凭据 3. 恶意LDAP服务器搭建 安装: apt-get update && sudo apt-get -y install slapd ldap-utils 配置: 创建 olcSaslSecProps.ldif 文件,设置 noanonymous 和 minssf=0 执行: ldapmodify -Y EXTERNAL -H ldapi:// -f ./olcSaslSecProps.ldif 验证: ldapsearch -H ldap:// -x -LLL -s base -b "" supportedSASLMechanisms 抓包: tcpdump 监听389端口 三、NTLM Relay攻击 1. 攻击原理 拦截NTLM Challenges进行离线破解 中间人攻击中继SMB身份验证 2. 使用Responder工具 执行: responder -I [接口] 毒化LLMNR、NetBIOS和WPAD请求 获取NTLMv2-SSP Hash 使用hashcat破解 四、Microsoft Deployment Toolkit攻击 1. PXE引导流程 用户发送DHCP发现 DHCP返回IP和PXE信息 用户发送DHCP请求 服务返回DHCP确认 客户端执行启动服务发现 MDT服务返回确认和PXR信息 客户端发送PXE boot请求 服务端通过TFTP返回PXE boot 2. 攻击方法 获取MDT服务器IP 下载BCD文件: tftp -i [IP] GET "\Tmp\x64{...}.bcd" conf.bcd 使用PowerPXE.ps1获取系统路径 下载系统镜像: tftp -i [IP] GET "\Boot\x64\Images\LiteTouchPE_x64.wim" pxeboot.wim 恢复密码: Get-FindCredentials -WimFile pxeboot.wim 五、配置文件泄露 1. 常见位置 集中部署的应用程序配置文件 注册表 应用服务配置 Web服务配置文件 2. 实用工具 Seatbelt winPEAS 3. McAfee Enterprise案例 定位ma.db文件 使用sqlitebrowser查看 解密auth_ password字段 六、信息收集技术 1. CMD命令 net user /domain - 列出域用户 net user [用户名] /domain - 查看用户详情 net group /domain - 检查域组 net group "[组名]" /domain - 查看组详情 net accounts /domain - 列出账户策略 2. PowerShell命令 Get-ADUser -Identity [用户名] -Server [域名] -Properties * 3. BloodHound工具 安装Kali版本(推荐) 使用Sharphound收集器: 导入生成的zip文件分析 4. 关系分析示例 通过DOMAIN USERS→RDP进入THMJMP1→获取T1_ HENRY.MILLER会话→提权获取Tier 1 ADMINS权限 七、防御建议 监控异常认证尝试 限制LDAP绑定权限 禁用不必要的协议(LLMNR、NetBIOS) 加强PXE引导安全 定期审计配置文件权限 实施最小权限原则 八、参考资源 LDAP认证:https://www.redhat.com/zh/topics/security/what-is-ldap-authentication BloodHound文档:https://bloodhound.readthedocs.io/en/latest/ Gitlab LDAP配置:https://docs.gitlab.cn/jh/administration/auth/ldap/ PowerPXE脚本:https://github.com/wavestone-cdt/powerpxe