DC-5渗透笔记
DC-5渗透笔记
信息搜集
经过前面几个靶机的练习,已经轻车熟路了:

信息搜集一条龙,可知:
- IP为192.168.111.145
- 开放了80、111、47890三个端口
- 目录扫描到一点点可访问路径
接下来看看web服务:

并不是什么通用的cms,那么就只有先尝试从功能点入手了,翻一翻这里有哪些功能

我们发现contact功能点有留言功能,写点东西试试

提交后发现跳转了,并且网页底部的Copyright值从2019变成了2017
联想到我们在用dirsearch的时候,扫描到一个footer.php,看名字应该也是一个关于网页底部内容的文件,访问试试:

还真是,而且如果我们刷新,年份还会有变化:



如果有搭建博客经历的话,其实就能想到,这个footer.php应该是被包含在了thankyou.php里的,我们可以尝试以此为立足点展开利用
漏洞利用
文件包含漏洞
如果这里存在文件包含,我们可以用fuzz一下可能用于包含的参数
先试试get方法:

fuzz一手发现参数为file

再验证一下,包含/etc/passwd试试:

确实是文件包含,那么这里想要getshell就有两种思路:
打php_filter_chain,但是filter链很长,会被GET传参限制,所以只能执行简单命令,但确实可以实现RCE:

包含日志文件写马,只要知道日志文件路径就能写,而我们已知中间件为Nginx,路径通常为
/var/log/nginx/access.log,可以尝试一手
包含日志文件写马
ok直接抓包写一个phpinfo试试:

包含日志文件看看:

出现了phpinfo界面,成功
接下来可以写个一句话木马:

蚁剑连接试试:

连上了,接下来就是反弹shell了
获取交互式shell

nc反弹shell

成功连上了
依然是python获取pty:

我们当前的权限是www-data,接下来又是权限提升了
权限提升
先看看SUID权限的文件有没有什么可以利用的

还真有一个Screen 4.5.0的漏洞可用于权限提升
将脚本复制一份放到web目录:

看看脚本内容:

如图,脚本内容分三段,前两段会构造出单独的脚本文件,还有一段会执行利用命令
接下来打开http服务准备上传文件:
python2 -m SimpleHTTPServer 8000

在靶机上使用wget下载脚本文件到/tmp/目录,再赋予执行权限,即可运行提权脚本:

如图,提权成功,ez
接下来在/root目录拿到flag:

总结
本次渗透过程中,有如下漏洞或利用:
- web网页文件包含参数可控
- 利用文件包含漏洞,包含日志文件写马
- getshell后利用screen的版本漏洞实现suid提权