01x04.Ubuntu Server 24.04.2 LTS 部署渗透测试靶机

📄 文档说明

项目内容
文档编号55K-RPT-2025-Ubuntu-04

👥 信息介绍

⚠️ 免责声明

重要提示
本次文章中所有内容均在本地授权环境中进行。目的仅为安全研究与学习,提升安全防护能力。
请勿将文中所述技术用于任何非法用途,否则后果自负。


版权声明:本文由 55K-学安全 团队原创,转载请注明出处。


一、环境准备

✅ Ubuntu Server 24.04.2 LTS 系统安装
✅ 小皮面板 (XP Panel) 安装完成
✅ Docker 及Docker Compose 安装完成

二、phpStudy 部署 Web 漏洞靶场

2.1.启动phpStudy服务

安装后默认是开机自启,如果没启动可手动开启

# 输入xp命令
xp 
# 输入命令编号
3

在这里插入图片描述

访问面板:“http://IP:Port” 使用安装时设置的用户名密码登录。

2.2.服务环境搭建

# 本系统为初始环境,需配置基础Web服务栈
# 以下组件将协同构建完整的网站运行环境
# DVWA使用PHP开发,需配置相应的PHP运行环境

1. 进入“软件商店”,依次安装以下服务:
 - Nginx-1.20.2          # 高性能 Web 服务器与反向代理
 - MySQL-5.7             # 关系型数据库管理系统
 - PHP-5.6               # 编程语言运行环境,快速搭建 PHP 网站
 - PHP-7.4               # 编程语言运行环境,快速搭建 PHP 网站

2. 为支持数据库管理工具,还需安装:
 - PHP-8.0               # phpMyAdmin 需要 PHP 8.0 或更高版本
 - phpMyAdmin-5.2.1      # 基于 Web 的 MySQL 数据库管理工具

在这里插入图片描述

2.3.创建存放目录

# 存放下载的源码包
mkdir -p /data/phpStudy /data/docker

2.4.部署 DVWA 靶场

2.4.1.下载DVWA源码

# Wget命令下载,若网络限制则可通过浏览器下载
# 使用 -P 参数指定下载目录(大写P)
wget -P /data/phpStudy/ https://github.com/digininja/DVWA/archive/master.zip

# 先进入目标目录再下载
cd /data/phpStudy/
wget https://github.com/digininja/DVWA/archive/refs/heads/master.zip

# 修改名称以方便区分源码包
mv /data/phpStudy/master.zip /data/phpStudy/DVWA-master.zip

在这里插入图片描述

# 浏览器下载
https://github.com/digininja/DVWA/archive/refs/heads/master.zip

在这里插入图片描述
2.4.2.创建DVWA站点

1.进入创建页面:
 - 在首页导航栏找到并点击「网站」
 - 然后选择「添加网站」
 - 最后点击「手动创建」

在这里插入图片描述
在这里插入图片描述

2.填写网站信息:
 - 绑定域名:输入您要绑定的域名
 - 根目录:为网站设置对应的根目录
 - 备注:建议填写便于识别的备注信息(如网站名称)
 - 填写完毕后,点击「下一步」

在这里插入图片描述

3.配置运行环境:
 - PHP版本:根据程序要求选择合适的PHP版本
 - 数据库:勾选「创建数据库」 # 注:我这里使用了root账户,生产环境不建议使用root账户
 - 点击「确定」提交,即可完成网站的创建

在这里插入图片描述
2.4.3.上传DVWA源码包

# 使用工具上传源码包至服务器
# 解压源码包并移动至根目录下
cd /data/phpStudy/
unzip DVWA-master.zip
cd DVWA-master/
mv * /xp/www/172.168.20.41_8001/

在这里插入图片描述
在这里插入图片描述
2.4.4.DWVA配置修改

# 备份配置文件
cp /xp/www/172.168.20.41_8001/config/config.inc.php.dist /xp/www/172.168.20.41_8001/config/config.inc.php

在这里插入图片描述

# 编辑配置文件
vim /xp/www/172.168.20.41_8001/config/config.inc.php
# 编辑以下内容
$_DVWA = array();
$_DVWA[ 'db_server' ]   = getenv('DB_SERVER') ?: '127.0.0.1';
$_DVWA[ 'db_database' ] = getenv('DB_DATABASE') ?: 'dvwa';
$_DVWA[ 'db_user' ]     = getenv('DB_USER') ?: 'root';
$_DVWA[ 'db_password' ] = getenv('DB_PASSWORD') ?: '********';
$_DVWA[ 'db_port']      = getenv('DB_PORT') ?: '3306';

$_DVWA[ 'recaptcha_public_key' ]  = getenv('RECAPTCHA_PUBLIC_KEY') ?: '6LfON94rAAAAAEhVnsY3_5TWIS5mX11mKVV1OUks';
$_DVWA[ 'recaptcha_private_key' ] = getenv('RECAPTCHA_PRIVATE_KEY') ?: '6LfON94rAAAAAGIAaIzsM8XsqsOijN-ZRaMUrvrB';
# 查看修改配置项内容
grep -E 'db_server|db_database|db_user|db_password|db_port|recaptcha_public_key|recaptcha_private_key' /xp/www/172.168.20.41_8001/config/config.inc.php

在这里插入图片描述
2.4.5.配置DVWA-PHP文件

# 备份配置文件
cp /xp/server/php/php-7.4/etc/php.ini /xp/server/php/php-7.4/etc/php.ini.bak

在这里插入图片描述

# 编辑配置文件
vim /xp/server/php/php-7.4/etc/php.ini
# 编辑以下内容
display_errors = On
display_startup_errors = On
allow_url_include = On
# 查看修改配置项内容
grep -E 'display_errors = On|display_startup_errors = On|allow_url_include = On|allow_url_fopen = On' /xp/server/php/php-7.4/etc/php.ini

在这里插入图片描述
2.4.6设置文件权限

# 目标是让用户拥有写入权限,操作需在服务器终端执行
# 若755仍不可写,可临时用775或777,但生产环境不建议777
chmod -R 777 /xp/www/172.168.20.41_8001/hackable/uploads/
chmod -R 777 /xp/www/172.168.20.41_8001/config

在这里插入图片描述
2.4.7登录DWVA系统

查看DVWA环境检查报告后,若所有项目均符合要求(无红色异常提示)、则无需修改配置,可直接进行操作;
点击页面中的Create / Reset Database按钮,完成数据库创建或重置后,系统将自动跳转至登录页面。

在这里插入图片描述

系统初始访问凭证信息如下:

  • 账号为 admin
  • 密码为 password

输入后即可进入系统

在这里插入图片描述

2.5.部署 Pikachu 靶场

2.5.1.下载Pikachu源码

# Wget命令下载,若网络限制则可通过浏览器下载
# 使用 -P 参数指定下载目录(大写P)
wget -P /data/phpStudy/ https://github.com/zhuifengshaonianhanlu/pikachu/archive/refs/heads/master.zip

# 或先进入目标目录再下载
cd /data/phpStudy/
wget https://github.com/zhuifengshaonianhanlu/pikachu/archive/refs/heads/master.zip

# 修改名称以方便区分源码包
mv /data/phpStudy/master.zip /data/phpStudy/Pikachu-master.zip

在这里插入图片描述

# 浏览器下载
https://github.com/zhuifengshaonianhanlu/pikachu/archive/refs/heads/master.zip

在这里插入图片描述
2.5.2.创建Pikachu站点

1.进入创建页面:
 - 在首页导航栏找到并点击「网站」
 - 然后选择「添加网站」
 - 最后点击「手动创建」

在这里插入图片描述
在这里插入图片描述

2.填写网站信息:
 - 绑定域名:输入您要绑定的域名
 - 根目录:为网站设置对应的根目录
 - 备注:建议填写便于识别的备注信息(如网站名称)
 - 填写完毕后,点击「下一步」

在这里插入图片描述

3.配置运行环境:
 - PHP版本:根据程序要求选择合适的PHP版本
 - 数据库:勾选「创建数据库」 # 注:我这里使用了root账户,生产环境不建议使用root账户
 - 点击「确定」提交,即可完成网站的创建

在这里插入图片描述
2.5.3.上传Pikachu源码包

# 浏览器下载的可使用工具上传源码包至服务器
# 解压源码包并移动至根目录下
cd /data/phpStudy/
unzip Pikachu-master.zip
cd Pikachu-master/
mv * /xp/www/172.168.20.41_8002/

在这里插入图片描述
在这里插入图片描述
2.5.4.配置Pikachu文件

# 备份配置文件
cp /xp/www/172.168.20.41_8002/inc/config.inc.php /xp/www/172.168.20.41_8002/inc/config.inc.php.bak

在这里插入图片描述

# 编辑配置文件
vim /xp/www/172.168.20.41_8002/inc/config.inc.php
# 编辑以下内容
//定义数据库连接参数
define('DBHOST', '127.0.0.1');
define('DBUSER', 'root');
define('DBPW', '********');
define('DBNAME', 'pikachu');
define('DBPORT', '3306');

在这里插入图片描述
2.5.5.初始化Pikachu系统

# 浏览器输入URL地址访问,进行*安装/初始化*,初始化成功即可使用靶机
http://172.168.20.41:8002/install.php

在这里插入图片描述
2.5.6初始化问题解决

# 告警信息
Warning: mysqli_connect(): (HY000/1049): Unknown database 'pikachu' in /xp/www/172.168.20.41_8002/index.php on line 14
# 这个错误提示表明:PHP脚本在连接数据库时,找不到名为pikachu的数据库(可能是数据库未创建,或配置文件中数据库名称写错了)

在这里插入图片描述

# 解决步骤:
1.使用数据库管理软件“phpMyAdmin”进行创建数据库即可;(推荐)
2.通过使用MySQL命令行创建pikachu数据库;

在这里插入图片描述
在这里插入图片描述

2.6.部署 sqli-labs 靶场

2.6.1.下载sqli-labs源码

# Wget命令下载,若网络限制则可通过浏览器下载
# 使用 -P 参数指定下载目录(大写P)
wget -P /data/phpStudy/ https://github.com/Audi-1/sqli-labs/archive/refs/heads/master.zip

# 或先进入目标目录再下载
cd /data/phpStudy/
wget https://github.com/Audi-1/sqli-labs/archive/refs/heads/master.zip

# 修改名称以方便区分源码包
mv /data/phpStudy/master.zip /data/phpStudy/sqli-labs-master.zip

在这里插入图片描述

# 浏览器下载
https://github.com/Audi-1/sqli-labs/archive/refs/heads/master.zip

在这里插入图片描述
2.6.2.创建sqli-labs站点

1.进入创建页面:
 - 在首页导航栏找到并点击「网站」
 - 然后选择「添加网站」
 - 最后点击「手动创建」

在这里插入图片描述

2.填写网站信息:
 - 绑定域名:输入您要绑定的域名
 - 根目录:为网站设置对应的根目录
 - 备注:建议填写便于识别的备注信息(如网站名称)
 - 填写完毕后,点击「下一步」

在这里插入图片描述
在这里插入图片描述

3.配置运行环境:
 - PHP版本:根据程序要求选择合适的PHP版本
 - 数据库:勾选「创建数据库」 # 注:我这里使用了root账户,生产环境不建议使用root账户
 - 点击「确定」提交,即可完成网站的创建

在这里插入图片描述
2.6.3.上传sqli-labs源码包

# 浏览器下载的可使用工具上传源码包至服务器
# 解压源码包并移动至根目录下
cd /data/phpStudy/
unzip sqli-labs-master.zip
cd sqli-labs-master/
mv * /xp/www/172.168.20.41_8003

在这里插入图片描述
在这里插入图片描述
2.6.4.配置sqli-labs数据库文件

# 备份配置文件
cp /xp/www/172.168.20.41_8003/sql-connections/db-creds.inc /xp/www/172.168.20.41_8003/sql-connections/db-creds.inc.bak

在这里插入图片描述

# 编辑配置文件
vim /xp/www/172.168.20.41_8003/sql-connections/db-creds.inc
# 编辑以下内容
//give your mysql connection username n password
$dbuser ='root';
$dbpass ='********';
$dbname ="security";
$host = 'localhost';
$dbname1 = "challenges";

在这里插入图片描述
2.6.5.初始化sqli-labs系统

# 创建sqli-labs数据库
1.使用数据库管理软件“phpMyAdmin”进行创建数据库即可
2.选择sql-lab.sql文件导入

在这里插入图片描述

# 浏览器输入URL地址访问,进行*安装/初始化*,初始化成功即可使用靶机
http://172.168.20.41:8003/
点击“Setup/reset Database for labs”创建数据库

在这里插入图片描述
在这里插入图片描述

2.7.部署 upload-labs 靶场

2.7.1.下载upload-labs源码

# Wget命令下载,若网络限制则可通过浏览器下载
# 使用 -P 参数指定下载目录(大写P)
wget -P /data/phpStudy/ https://github.com/c0ny1/upload-labs/archive/refs/heads/master.zip

# 或先进入目标目录再下载
cd /data/phpStudy/
wget https://github.com/c0ny1/upload-labs/archive/refs/heads/master.zip

# 修改名称以方便区分源码包
mv /data/phpStudy/master.zip /data/phpStudy/upload-labs-master.zip

在这里插入图片描述

# 浏览器下载
https://github.com/c0ny1/upload-labs/archive/refs/heads/master.zip

在这里插入图片描述
2.7.2.创建upload-labs站点

1.进入创建页面:
 - 在首页导航栏找到并点击「网站」
 - 然后选择「添加网站」
 - 最后点击「手动创建」

在这里插入图片描述

2.填写网站信息:
 - 绑定域名:输入您要绑定的域名
 - 根目录:为网站设置对应的根目录
 - 备注:建议填写便于识别的备注信息(如网站名称)
 - 填写完毕后,点击「下一步」

在这里插入图片描述
在这里插入图片描述

3.配置运行环境:
 - PHP版本:根据程序要求选择合适的PHP版本
 - 数据库:勾选「创建数据库」 # 注:我这里使用了root账户,生产环境不建议使用root账户
 - 点击「确定」提交,即可完成网站的创建

在这里插入图片描述
2.7.3.上传upload-labs源码包

# 浏览器下载的可使用工具上传源码包至服务器
# 解压源码包并移动至根目录下
cd /data/phpStudy/
unzip upload-labs-master.zip
cd upload-labs-master/
mv * /xp/www/172.168.20.41_8004/

在这里插入图片描述
在这里插入图片描述
2.7.4.验证Upload-labs系统

# 浏览器输入URL地址访问,进行*安装/初始化*,初始化成功即可使用靶机
http://172.168.20.41:8004/

在这里插入图片描述

2.8.部署 xss-labs 靶场

2.8.1.下载xss-labs源码

# Wget命令下载,若网络限制则可通过浏览器下载
# 使用 -P 参数指定下载目录(大写P)
wget -P /data/phpStudy/ https://github.com/do0dl3/xss-labs/archive/refs/heads/master.zip

# 或先进入目标目录再下载
cd /data/phpStudy/
wget https://github.com/do0dl3/xss-labs/archive/refs/heads/master.zip

# 修改名称以方便区分源码包
mv /data/phpStudy/master.zip /data/phpStudy/xss-labs-master.zip

在这里插入图片描述

# 浏览器下载
https://github.com/do0dl3/xss-labs/archive/refs/heads/master.zip

在这里插入图片描述
2.8.2.创建xss-labs站点

1.进入创建页面:
 - 在首页导航栏找到并点击「网站」
 - 然后选择「添加网站」
 - 最后点击「手动创建」

在这里插入图片描述

2.填写网站信息:
 - 绑定域名:输入您要绑定的域名
 - 根目录:为网站设置对应的根目录
 - 备注:建议填写便于识别的备注信息(如网站名称)
 - 填写完毕后,点击「下一步」

在这里插入图片描述
在这里插入图片描述

3.配置运行环境:
 - PHP版本:根据程序要求选择合适的PHP版本
 - 数据库:勾选「创建数据库」 # 注:我这里使用了root账户,生产环境不建议使用root账户
 - 点击「确定」提交,即可完成网站的创建

在这里插入图片描述
2.8.3.上传xss-labs源码包

# 浏览器下载的可使用工具上传源码包至服务器
# 解压源码包并移动至根目录下
cd /data/phpStudy/
unzip xss-labs-master.zip
cd xss-labs-master/
mv * /xp/www/172.168.20.41_8005/

在这里插入图片描述
在这里插入图片描述
2.8.4.验证XSS-labs系统

# 浏览器输入URL地址访问,进行*安装/初始化*,初始化成功即可使用靶机
http://172.168.20.41:8005/

在这里插入图片描述

三、Docker 部署 Compose 工具

3.1.通过 apt 包管理器安装

# 安装 docker-compose
apt install docker-compose -y
# 安装完成后,验证是否成功
docker-compose --version

在这里插入图片描述
在这里插入图片描述

四、Docker 部署 Vulhub 漏洞环境

4.1.下载 Vulhub 源码

# 克隆Vulhub代码‌
# 如果GitHub访问较慢,可尝试国内镜像(如Gitee的同步仓库)
cd /data/docker/
# GitHub
git clone https://github.com/vulhub/vulhub.git
# Gitee
git clone https://gitee.com/vulhub/vulhub.git
cd vulhub

在这里插入图片描述

4.2.启动常见漏洞环境

4.2.1.启动Tomcat漏洞环境

# 进入靶机目录
cd /data/docker/vulhub/tomcat/CVE-2020-1938/
# 启动靶机环境
docker-compose up -d
# 查看服务状态
docker ps

在这里插入图片描述

# 靶机启动后,使用浏览器访问靶机URL地址
http://172.168.20.41:8080

在这里插入图片描述
4.2.2.启动Weblogic漏洞环境

# 进入靶机目录
cd /data/docker/vulhub/weblogic/CVE-2018-2894/
# 启动靶机环境
docker-compose up -d
# 查看服务状态
docker ps

在这里插入图片描述

# 靶机启动后,使用浏览器访问靶机URL地址
http://172.168.20.41:7001/console/

在这里插入图片描述
4.2.3.启动Redis漏洞环境

# 进入靶机目录
cd /data/docker/vulhub/redis/4-unacc/
# 启动靶机环境
docker-compose up -d
# 查看服务状态
docker ps

在这里插入图片描述

# 靶机启动后,使用Redis-cli工具验证
# 攻击机安装Redis-cli工具(Kali系统)
wget http://download.redis.io/redis-stable.tar.gz
mkdir -p /data/client/
tar -zxvf redis-stable.tar.gz -C /data/client/
cd /data/client/
make
cp /data/client/redis-stable/src/redis-cli /usr/bin/
redis-cli -h

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 使用redis-cli工具远程免密登录Redis主机
# 无密码登录
redis-cli -h 172.168.20.41
# 有密码登录
redis-cli -h 172.168.20.41 -p 6379 -a ********

在这里插入图片描述

4.3.查看运行中的容器

# 当前正在运行中的容器
docker ps
# 查看所有状态的容器
docker ps -a

在这里插入图片描述

4.4.停止运行中的容器

# 在对应的漏洞目录下执行
docker-compose down

在这里插入图片描述

四、使用建议

4.1.学习顺序建议

- 初级:DVWA → Pikachu
- 中级:XSS-Labs → Upload-Labs
- 高级:SQLi-Labs → Vulhub 漏洞环境

4.2.测试环境隔离

- 建议在内部网络使用
- 不要暴露到公网
- 测试完成后及时关闭漏洞环境

4.3.法律合规

- 仅在授权环境中进行测试
- 遵守相关法律法规
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值