1.Knock端口敲门
用nmap扫描,只扫到了22端口开放。
这个情况还是很少见的啊,连接一下试试:
打印出来的信息提示靶机配置了Knock ,敲门端口为1,2,3. 这个应用根据我的理解,Knock类似于一个防火墙,例如通常状况下,它只开放22端口,只有检测到向指定端口发送“敲门包”,才会开放其它端口。
所以安装Knock,然后向靶机的1,2,3端口发送“敲门包”,即Knock客户端向服务器发送TCP SYN 数据包。然后再次用nmap扫描:
knock 192.168.71.154 1 2 3
扫出一个新的端口:1337
这个页面里只有一张图片,其它什么都没发现!
2.测试常见目录
我卡在这儿了,然后看别人的walkthrough,发现是要访问index.php。这个页面确实可以访问,可是我用各种目录扫描工具扫描半天,什么都没有扫出来。那我不看别人攻略的话我怎么知道啊?还是说我以后要手动尝试一下index.php?
后来我又查看了其它walkthrough,他们查看的是robots.txt,因为在渗透测试过程中,都要查看下robots.txt文件。(但我还是有个疑惑,为什么它没有被扫出来,因为配置了knock这种防火墙吗)
后来通过测试,只要在http://192.168.71.154:1337/ 后面随便输入几个字,就会返回这个这个页面,应该是靶机作者的一种策略设置。
总结就是:可以手动测试robots.txt,index.php等文件是否存在。
查看源码:
base64解码:
得到一串base64解密字符串,提示Closer,继续base64解码:
访问 http://192.168.71.154:1337/978345210/index.php
3.使用SQLmap
面对一个登录页,可以考虑是否存在sql注入漏洞,用sqlmap工具寻找注入点:
sqlmap --url http://192.168.71.154:1337/978345210/index.php --forms --dbs --level=5 --risk=3 --batch
扫描到可利用的数据库,将Webapp数据库的Users表dump下来
sqlmap --url http://192.168.71.154:1337/978345210/index.php --forms --dbs --level=5 --risk=3 -D Webapp -T Users --columns --dump
利用用户名smeagol和密码MyPreciousR00t接入SSH
4.提权
根据靶机系统内核版本,查找可利用的exploit。
把exploit上传到靶机然后编译,执行后获得root权限。
获得root用户flag。
5.总结
阳后第一练,身体虚弱,这个靶机做得也挺难受的:
- knock端口敲门:第一次接触
- sqlmap:OSCP不可以用这个不是吗?但是手动测试还不会,后面遇到再说吧
- 提权:又是内核版本漏洞提权