VulnHub是免费的社区资源,提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,文件预先设计了很多漏洞,需要使用VMware或者VitualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚机到获取操作系统的root权限和查看flag。
My Tomcat Host介绍:
靶机难度:轻松/初级
目标:获取五个flag
一、Ip发现
启动靶机
nmap扫描存活主机,不进行端口扫描
nmap -sn ip # 扫描存活主机,不进行端口扫描;
现在就需要判断一下哪一个是靶机的Ip地址。
nmap -A ip # 综合扫描
131这个Ip没有什么发现,试试另一个
发现这些,说明靶机Ip是192.168.249.135。
二、第一个flag
根据刚才扫描出的内容,先访问robots.txt文件试一试
发现这些内容,其实和nmap扫描出来的内容差不多。一个都不要放过,待会都访问试试。
先访问最有可能的“/flag”
得到第一个flag。
三、第二个flag
从上到下,挨个访问下刚才发现的文件
前两个访问结果都是“not found”,直到“admin_area”,出现了以下内容
有点东西的样子,查看源码试试。
OK,第二个出现;上面显示的账号和密码肯定有用,先留着;
四、第三个flag
再继续访问下去,看看能出现什么。
除了“/uploaded_files”没出错,其他的都出错了。所以我认为肯定有上传点,先试着访问常见登录界面或者直接访问Ip。
发现都出来了登录界面,那就试试刚才第二个flag出现时带出来的账号跟密码。
很好,出现了上传的界面(我最喜欢的这个),那就直接上传个php的一句话木马试试,看看有没有过滤机制,有过滤机制再想办法绕过
很好,没有检测机制,直接传上去了。那么现在就上菜刀,菜刀和一句话木马结合拿下webshell(网页后门)。
第一小步,先访问下上传的文件,看是否有问题。记得刚才robots.txt的回显结果中有个“uploaded.files”是访问成功的,所以猜测文件是上传到此目录下,访问下试试。
回显为“test”,test是我为了验证是否上传并解析故意写的,因为遇见无法解析的内容会暴露源码,得以证明,一句话木马能够执行了。
我也不知道为啥,菜刀不好使了,所以用蚁剑,蚁剑还不错,功能多还稳定,以后就用蚁剑了。
在服务器里面翻翻找找,看到了这个
看到flag,就很敏感,其他几个要么是测试过要么就没什么用。好,现在把这三个挨个打开看看。
找到第三个。
五、第四个flag
刚才flag.txt虽然没有内容,但是从hint.txt中看到了提示,直译就是“尝试找到用户technawi密码读取的flag.txt文件,你可以在一个隐藏的文件中找到它”
所以,启动shell的命令行模式,执行“find / -user 'technawi' 2>/dev/null”,过滤掉类似没有权限的信息
找到一个mysql的文件,好像是什么凭证之类的文件,不大确定是什么(日后搞明白了来补上),总之就是很可疑。
那就看看里面有什么了
发现第四个flag,而且又看见了一个用户名和密码,记住它。
六、第五个flag
用刚才看见的用户名密码试着登录下靶机或者数据库之类的,但是想到刚才获取到第三个flag的提示(“尝试找到用户technawi密码读取的flag.txt文件,你可以在一个隐藏的文件中找到它”),所以首选登录靶机。
登录上靶机了,这个密码手动输入比较容易输错,只有'H'是大写的,其他都是小写。
记得刚才找到的第三个flag的时候的提示,“尝试找到用户technawi密码读取的flag.txt文件,你可以在一个隐藏的文件中找到它”,所以直接去cat这个文件。
OK,大功告成,第五个flag出现。
总结一下思路和过程:
1、nmap扫描存活主机(或者netdiscover -i eth0),确认靶机Ip,在扫描ip,看是否有相关信息;
2、访问扫描出的特殊文件robots.txt;
3、访问/falg(获得第一个flag);
4、访问admin_area(获得第二个flag);
5、找到上传点,上传一句话木马,连接蚁剑,查看hint.txt(获得第三个flag);
6、根据第三个flag的提示,shell中执行过滤没有权限的信息,找到特殊文件;
7、读取文件(获得第四个flag);
8、根据第四个得到的账号和密码登录靶机,读取flag.txt文件(获得第五个flag);