安全矩阵

 找回密码
 立即注册
搜索
查看: 12225|回复: 0

Vulnhub靶机Five86-2详细解析

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2021-1-21 21:16:19 | 显示全部楼层 |阅读模式
原文链接:Vulnhub靶机Five86-2详细解析


VulnHub渗透测试实战靶场Jarbas 1.0

https://www.hetianlab.com/expc.do?ec=ECIDfe8c-5c48-41ae-be67-6728d2ae15b2&pk_campaign=weixin-wemedia     
Jarbas1.0是一个难度为初级的Boot2root/CTF挑战,实验目的是获取目标root shell得到flag。



技术点总结
•对WordPress网站的渗透
–wpscan
•WordPress中IEAC插件的RCE漏洞
–WordPress插件IEAC漏洞分析及组合利用尝试
•tcpdump的使用
–tcpdump使用详解

目标发现
nmap -sP 参数使用 ping 扫描局域网主机,目的地址为 192.168.56.6
nmap -A 192.168.56.6 -p- 可以看到目标主机的一些信息,-A 是进行操作系统指纹和版本检测,-p- 是全端口
开放了 22、21、80 端口,并且 80 端口是WordPress 5.1.4的CMS 这里最好提前在/etc/hosts中加上192.168.56.6 five86-2这一条,因为后面访问wordpress的后台wp-admin时会跳转到到这个域名


漏洞发现与利用
在searchsploit和Google并没有发现WordPress 5.1.4的漏洞,可以用wpscan扫描一下这个URL。wpscan是一款针对WordPress的扫描器,详细的使用可以参考WPScan使用完整攻略。
默认扫描会返回目标站点的中间件、XML-RPC、readme文件、上传路径、WP-Corn、版本、主题、所有的插件和备份文件。
命令wpscan -u http://192.168.56.6/

这里并没有发现很有用的信息,考虑去枚举用户名,然后配合rockyou.txt去爆破密码。爆破用户名命令wpscan --url http://192.168.56.6/ --enumerate u,发现了5个用户

peter admin barney gillian stephen

爆破密码命令wpscan --url http://192.168.56.6/ -U user.txt -P /usr/share/wordlists/rockyou.txt


最终爆破出来两个结果
Username: barney, Password: spooky1
Username: stephen, Password: apollo1
使用barney登录后台http://five86-2/wp-admin/,可以看到这个站点安装了三个插件,但是只激活了一个Insert or Embed Articulate Content into WordPress Trial(IEAC)
Akismet Anti-Spam    Version 4.1.1
Hello Dolly          Version 1.7.1
IEAC                 Version 4.2995

在谷歌上搜索一下,不难搜到这个插件的RCE:WordPress插件IEAC漏洞分析及组合利用尝试,在exploit-db上也有
先生成poc.zip,
echo "hello" > index.html
echo "" > index.php
zip poc.zip index.html index.php
然后登录wordpress后台,选择新建文章

选择添加区块

选择E-Learning

上传poc.zip

选择Insert As iFrame

可以看到上传的位置,也就是说上次的shell位置为
http://192.168.56.6/wp-content/uploads/articulate_uploads/poc/index.php
使用php-reverse-shell去反弹shell,访问
http://192.168.56.6/wp-content/uploads/articulate_uploads/poc4/shell.php
就可以看到反弹的shell,还不是TTY,接下来就想办法变成TTY吧

ls /home发现有8个目录,刚刚爆破来两个密码,一个登陆了后台,还有一个没有测试,并且两个都在这8个用户里面。可以先试试su barney,密码填spooky1,发现失败,再试试stephen,密码apollo1。这里的shell不知道为什么没有前面的$了,但是可以用
实际上,这里的www-data可以直接使用python3 -c 'import pty;pty.spawn("/bin/bash")'变成TTY,这样可能更方便一些

然后再sudo -l发现需要密码,并且不是spooky1,所以还是su stephen吧,发现stephen在一个名为pcap的用户组中(pcap不是流量包吗^_^)

然后sudo -l发现无法执行sudo

回到pcap那里,流量包是不是意味着流量分析,尝试ifconfig发现没有这个命令,但是可以使用ip add,发现目前运行着几个网络接口

这里的最后一个接口好像是动态的,每次都不一样,可以使用tcpdump -D列出可用于抓包的接口。这里选择把后面两个抓下来,因为不怎么常见。抓包命令为timeout 120 tcpdump -w 1.pcap -i veth2c37c59,其中timeout 120是指2分钟,-w是将结果输出到文件,-i是指定监听端口


可以去分析一下这两个流量包,命令tcpdump -r 1.pcap,这里-r是从给定的流量包读取数据,不难发现paul用户FTP的密码esomepasswford。后面2.pcap与1.pcap内容相同。
接着su paul,用上面的那个密码发现可以登陆。尝试sudo -l发现stephen可以使用peter的service命令

那不就可以直接执行peter的/bin/bash了吗。命令sudo -u peter service /bin/bash。这里要注意一下目录的问题,用相对目录找到/bin/bash的位置

获取peter的权限后,还是先sudo -l,发现他可以运行root用户的passwd命令,这我直接修改root的密码不就获取root权限了吗

是时候表演真正的技术了。sudo -u root passwd root(强迫症,全文一致),用sudo passwd root一样的
找到flag


               
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-9-20 20:22 , Processed in 0.015716 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表