DanSanMar/Auto_deploy4me
GitHub: DanSanMar/Auto_deploy4me
一个用 Bash 编写的自动化脚本,帮助用户在 Linux 或 WSL2 环境下通过一条命令快速部署基于 Docker 的 CTF 靶机并自动清理。
Stars: 0 | Forks: 0
# 🚀 使用 Docker 自动部署 CTF 实验室 (WSL2/Linux) V5 简单版
这是一个 Bash 脚本,旨在自动化部署 `.tar` 格式的易受攻击机器,使用 Docker 构建。专门针对解决 **WSL2, Kali Linux, Debian, Ubuntu 和 Fedora** 中的常见错误进行了优化。
## 📌 特性
* 🔄 **智能加载:** 针对 `stat /var/lib/docker/tmp` 错误的自动补丁。
* 🛠️ **多发行版:** 自动支持基于 **Debian (Apt)** 和 **Fedora (Dnf)** 系统的安装。
* ⚙️ **服务自动管理:** 在没有 Systemd 的环境(如标准 WSL2)中自动启动 Docker daemon。
* 🛑 **彻底清理:** 按下 `CTRL + C` 时,容器将自动停止并被删除。
* 📡 **网络信息:** 显示已部署容器的 IP 和数据信息。
## 🧰 要求
* Linux / WSL2 系统 (Ubuntu, Debian, Kali, Fedora 等)。
* **sudo** 权限。
* 易受攻击机器的 `.tar` 文件(DockerLabs 或类似文件)。
## 📦 使用方法
要在终端中运行该脚本,请使用以下命令:
```
# 授予执行权限
chmod +x deploy4me.sh
# 使用 sudo 权限执行部署
sudo ./deploy4me.sh
# 实际示例:
sudo ./deploy4me.sh candy.tar
```
## ⚙️ 脚本功能说明
* **验证:** 检查是否提供了有效的 `.tar` 文件以及用户是否具有管理员权限。
* **Docker 环境:** * 如果未检测到 Docker,将根据系统发行版自动安装。
* 配置用户组并修复 socket (`docker.sock`) 的权限。
* 创建目录 `/var/lib/docker/tmp` 并授予权限,以防止加载失败。
* **部署:**
* 直接从 `.tar` 文件加载 Docker 镜像。
* 启动容器并启动关键服务,如 **Apache2, Nginx, MariaDB 或 MySQL**。
## 🛑 停止实验室
要结束练习会话,只需按下:**`CTRL + C`**
脚本将自动触发清理功能:
1. 🛑 **安全地停止** 正在运行的容器。
2. 🗑️ **删除** 容器以释放系统资源并避免未来的冲突。
## 🧠 技术说明 (版本 5.0)
* **WSL2 兼容性:** 实现了一个 *fallback* 机制,如果检测到缺少 `systemctl`,将使用 `service docker start`。
* **加载稳健性:** 为 Docker 目录应用 `1777` 权限,可防止全新安装中出现的严重加载错误。
## 📄 许可证
可免费用于教育目的、网络安全培训以及整个 **DockerLabs** 社区。
标签:Debian, Docker, DockerLabs, Fedora, OPA, WSL2, 安全测试, 安全防御评估, 容器管理, 应用安全, 攻击性安全, 漏洞靶机, 特权提升, 网络安全, 自动化运维, 自动化部署, 请求拦截, 隐私保护, 靶场