vulnhub--DC1
环境搭建
kali(攻击机,NAT,192.168.96.4)
靶机(渗透机,NAT,IP未知)
难度:初级
信息收集
主机存活探测
netdiscover -i eth0
arp-scan -l
goby
fscan
经过多轮扫描,发现靶机ip为192.168.96.6
端口扫描
其实在扫主机的时候就会扫出一系列的端口信息,包括goby以及fscan
这里在使用nmap扫一遍,发现主机开放了22、80、111、42989四个端口
漏洞探测
访问80端口,是一个Drupal的cms框架
awvs扫漏洞
根据严重程度排序,选择对应的漏洞,这里选择CVE-2018-7600
接着使用msf对漏洞进行利用msfconsole
搜索漏洞drupal
根据网联网查询结果可知cve-2018-7600对应geddon2漏洞
对漏洞进行利用
use exploit/unix/webapp/drupal_drupalgeddon2
设置RHOSTS参数,这里指的就是我们的靶机192.168.96.6
利用成功,成功拿到靶机的shell,利用ls命令发现flag1.txt文件
查看,拿到第一个flag(指向网站的配置文件)
启动交互式shell命令:python -c 'import pty;pty.spawn("/bin/bash")'
尝试连接数据库,服务器已经启动了3306端口
mysql -u dbuser -p R0ck3t进入mysql数据库
基础命令
show database();
show tables();
select语句定位user表,拿到admin用户的密码哈希,下一步的关键是解密
搜索过后,发现较高版本的Drupal已经不再使用纯密码使用md5的加密方式,而是使用密码加盐值的方式,Drupal在scripts目录下存放加密脚本passwd-hash.sh
运行脚本,服务器是使用PHP5.4.45去运行的
此时,我们已经拿到通过网站本身的逻辑加密的明文admin123的密文,只需要将其替换至数据库的users表中,即可实现登录
使用update语句(修改admin用户的Miami)
update users set pass='php脚本跑出来的哈希值' where name = 'admin';
此时,使用admin/admin123成功登陆
拿到flag3
flag3提示在用户的文件shadow中存在信息
进入/home/flag4
flag4提示我们需要提权拿到root权限,那么flag5应该在root目录下
先对www-data用户进行提权并查看shadow文件,发现flag4用户存在密码可爆破,我们直接复制哈希,使用john爆破
成功爆破flag4用户密码是orange
ssh成功登陆flag4用户
上述操作寄,其实不用这么麻烦,还需要登录flag4用户,www用户提权后直接可以查看最终的flag
至此所有flag拿下
总结
1、信息收集
2、80端口的Drupal内容管理系统漏洞(cve-2018-7600)
3、msf使用
4、admin密码绕过(php脚本、利用新漏洞创建管理员账户)
5、find提权
参考文章
https://blog.csdn.net/Eastmount/article/details/105442329?ops_request_misc=%257B%2522request
https://www.cnblogs.com/ooooo/archive/2011/11/17/2252347.html(Drupal重置密码)