michael-borck/ethical-hacking-docker-labs
GitHub: michael-borck/ethical-hacking-docker-labs
为道德黑客课程提供基于 Docker 的 12 周完整实验环境,每周对应不同安全主题,开箱即用。
Stars: 0 | Forks: 1
# 道德黑客课程 Docker 实验室
[](https://github.com/topics/cybersecurity) [](https://github.com/topics/docker) [](https://github.com/topics/docker-compose) [](https://github.com/topics/edtech) [](https://github.com/topics/educational) [](https://github.com/topics/ethical-hacking) [](https://github.com/topics/kali-linux) [](https://github.com/topics/penetration-testing) [](https://github.com/topics/security-training) [](https://github.com/topics/vulnerability-assessment)
本仓库为为期 12 周的道德黑客课程组织了 Docker 实验室。每周都有一个专门的文件夹,其中包含与课程主题对应的 Docker Compose 设置、README 和相关资源。
## 课程对应
| 周次 | 主题 | 实验室重点 | 关键工具/服务 |
|------|--------|-----------|-------------------|
| 1 | 搭建 Docker 环境 | 基础环境设置与实用工具 | HAProxy, Wireshark, SecUtils, Kali base |
| 2 | 道德与法律问题 | 阅读与讨论 | N/A(仅文档) |
| 3 | 范围与提案制定 | 流量分析 | Wireshark + 示例捕获文件 |
| 4 | 报告与项目收尾 | 扫描目标 | 对目标使用 Nmap |
| 5 | 系统与网络枚举 | 枚举 | LDAP, MySQL, SMB, SNMP, Netshoot |
| 6 | 密码破解 | 破解技术 | John, Hydra, SSH target |
| 7 | Web 应用漏洞 | SQLi, XSS | DVWA, Juice Shop |
| 8 | 权限提升 | 提升向量 | De-ICE S1.100 模拟(web, SSH, FTP, mail) |
| 9 | 横向移动 | Pivoting | SSH/SOCKS 隧道,双网络模拟 |
| 10 | 漏洞利用开发 | 缓冲区溢出 | GDB,存在漏洞的二进制文件 |
| 11 | 绕过物理访问限制 | 物理安全 | 访问控制逻辑模拟(RFID 模拟) |
| 12 | 社会工程学 | 钓鱼缓解 | GoPhish, MailHog,安全意识培训 |
## 共享基础镜像
所有实验室共享一个基础的 Kali 镜像:`ghcr.io/michael-borck/ethical-base`,该镜像由 [`base.Dockerfile`](base.Dockerfile) 构建并内置了核心工具(nmap, hydra, john, hashcat, wireshark, sqlmap, gobuster 等)。GitHub Actions 工作流([`.github/workflows/build-base.yml`](.github/workflows/build-base.yml))会在每次更改时自动构建并将其发布到 GHCR,因此各实验室只需拉取即可使用。
- **默认方式(在线)**:运行 `docker compose up -d` 会直接拉取预构建的镜像 —— 无需本地构建。
- **后备方式(离线环境,或需要自定义工具)**:运行 `make build-base` 会在本地构建 `base.Dockerfile` 并使用相同的名称进行标记,因此执行 `docker compose up` 时会自动使用您的本地副本。
## 使用说明
1. **克隆并进入特定周次的目录**:
git clone https://github.com/michael-borck/ethical-hacking-docker-labs.git
cd ethical-hacking-docker-labs/labs/week6
2. **启动实验室**:执行 `docker compose up -d` —— 基础镜像和所有目标服务都会自动拉取。(首次运行时需要几分钟时间拉取镜像。)
3. **进入攻击者 shell**:执行 `docker exec -it bash` —— 每一周的 README 中都会注明其对应的攻击者容器名称(例如 `password-cracking-lab`)。
4. **停止 / 清理**:在对应周次的文件夹中运行 `docker compose down`;或者在仓库根目录运行 `make stop-all`。
仓库根目录下的便捷命令:`make run-weekN`(启动第 *N* 周的实验室)、`make status`(列出所有周次的状态)、`make pull-base`(刷新基础镜像)、`make build-base`(在本地构建基础镜像)。
### 实验室状态
所有 12 周的课程均已实现。第 2 周仅为文档内容(道德与法律);第 1 周和第 3 到 12 周为实操 Docker 实验室。在仓库根目录下运行 `make status` 可以查看哪些周次已准备就绪以及它们的启动命令。每个实操实验室都包含一份 `README.md`、一份 `STUDENT-WORKSHEET.md`,以及其服务所需的所有种子文件。
## 目录结构
- `base.Dockerfile`:共享 Kali 基础镜像的源文件。
- `.github/workflows/build-base.yml`:用于构建并将基础镜像发布到 GHCR 的 CI 流程。
- `labs/weekN/`:每周的独立设置(compose、README、工作表、种子文件)。
- `data/`:共享资源(例如用于流量分析实验室的抓包文件)。
- `Makefile`:编排工具(构建/拉取基础镜像、启动/停止周次、查看状态)。
- `.gitignore`, `LICENSE`:仓库日常维护文件。
## 设置
快速开始:
```
git clone https://github.com/michael-borck/ethical-hacking-docker-labs.git
cd ethical-hacking-docker-labs/labs/week6
docker compose up -d # pulls the base image + targets
docker exec -it password-cracking-lab bash
```
请在隔离的环境中运行。您只需要安装 Docker —— 无需进行本地构建。
**注意**:仅供教育用途。请遵守道德规范;未经许可,严禁进行任何真实环境下的测试。
由 Claude Code 生成。
标签:CTI, Docker, 后端开发, 安全教育, 安全防御评估, 版权保护, 网络安全, 请求拦截, 隐私保护, 靶场环境