下载地址:https://www.vulnhub.com/entry/dc-1-1,292/
主机发现 nmap -sn 192.168.44.0/24
(因为DC靶机使用的是NAT模式,而我得NAT模式是192.168.44.0网段,因此我只需要扫描192.168.44.0网段新增的存活的主机就行了,那一定是靶机)
找到靶机的IP地址之后,开始端口扫描,发现开启了22 80 111端口
访问80端口,发现是Drupal cms,是三大PHP CMS之一(drupal joomal wordpress),但是不知道具体的版本
之前用nmap扫描端口的时候,使用了-A参数,因此扫描出该网站存在robots.txt文件,访问nmap中扫描出来的robots.txt文件
在UPGRADE.txt发现drupal版本为7.x
使用kali中的searchsploit搜索关于drupal 7 的漏洞
使用/usr/share/exploitdb/exploits/php/webapps/34992.py这个sql注入漏洞,添加admin用户
查看用法
使用/usr/share/exploitdb/exploits/php/webapps/34992.py
/usr/share/exploitdb/exploits/php/webapps/34992.py -t 网站url -u 添加的管理员权限的用户名 -p 用户的密码
从上面可以看到Administrator管理员用户创建成功
登陆后台,在后台点呀点呀,发现flag3
在后台找到了个文件上传,肝了半天,没有肝下来。
转换下思路,使用msf查看有没有可用的exp
kali:
msfconsole 启动msf
search drupal 搜索exp
use exploit/unix/webapp/drupal_drupalgeddon2 使用该exp
配置该exp并运行
获得shell,发现flag1
cat flag1.txt 读取flag1
得到提示:每个好的CMS都需要一个配置文件,这个也是
搜索一下配置文件的位置
cat settings.php读取该配置文件,发现flag2和数据库用户和密码
flag2提示:暴力破解和字典攻击不是唯一得到访问权限的方法(你需要得到访问权限),你如果利用这些认证。
'database' => 'drupaldb',
'username' => 'dbuser',
'password' => 'R0ck3t',
根据得到的数据库用户和密码,尝试登陆MySQL数据库,发现msf这个shell执行不了登陆数据库的命令
获取shell
使用获取到的shell登陆数据库,但是没有回显还是无法登陆数据库
只有完善一下这个获取的shell,发现靶机上存在python环境,可以用python给他写一个shell
python -c 'import pty;pty.spawn("/bin/sh")'
参考:之前的文章:https://blog.csdn.net/qq_32393893/article/details/105487795 完善一下这个shell
完成shell,有回显之后,成功登陆到MySQL数据库
在users表中发现了之前文章刚开头新建的管理员shy账号,从而得到了flag 3
在数据库中翻呀翻,没有发现其他的东西
在/etc/passwd文件中发现了用户flag4
使用hydra爆破flag4的密码,得知它开启了22端口,这里我使用的字典是john的字典,路径是/usr/share/john/password.list
登陆成功,发现flag4.txt文件,得到flag4
根据提示,flag在root下,尝试suid提权,发现系统上运行的suid可执行文件
发现存在find执行,尝试find提权
touch shy
find shy -exec whoami \;
find shy -exec /bin/sh \;
cd /root
cat thefinalflag.txt