Linux 应急响应配套实验环境使用指南
实验环境基于 Docker,每个场景独立隔离,安全无害
环境要求
软件依赖
Docker 20.10+
Docker Compose v2+
至少 4GB 可用内存
验证安装
1 | docker --version |
macOS 安装 Docker
推荐使用 Docker Desktop for Mac
或使用 Homebrew: brew install --cask docker
基础镜像构建
所有实验都基于两个基础镜像,必须先构建
构建命令
1 | cd /Users/lucy/Desktop/AI/应急响应/labs/00-base |
基础镜像包含的工具
| 类别 | 工具 |
|---|---|
| 网络排查 | net-tools, iproute2, lsof, tcpdump, nmap, curl |
| 进程排查 | procps, psmisc, htop, strace, ltrace |
| 文件排查 | file, binutils, findutils |
| 日志分析 | rsyslog, logrotate, journalctl |
| 安全工具 | chkrootkit, rkhunter, debsums/rpm, auditd |
| 编译工具 | gcc, make (用于后门实验) |
| 其他 | python3, netcat, socat, vim |
使用流程
标准流程
- 阅读笔记 — 先学习对应的 Logseq 笔记页面
- 启动实验 —
docker compose up -d - 进入容器 —
docker exec -it <container_name> bash - 手动排查 — 使用笔记中学到的命令排查
- 对照提示 — 卡住时运行
bash /opt/ir-lab/investigate.sh - 查看答案 — 查看
answers/目录 - 销毁环境 —
docker compose down -v
常用 Docker 命令
1 | # 启动实验 |
实验列表
实战场景
| 编号 | 实验 | 难度 | 对应笔记 |
|---|---|---|---|
| 01 | SSH 暴力破解 | ⭐ | 10-SSH暴力破解与未授权访问 |
| 02 | Tomcat 入侵 | ⭐⭐ | 11-Tomcat与Java-Web应急 |
| 03 | Nginx 入侵 | ⭐⭐ | 12-Nginx与Apache应急 |
| 04 | Redis 未授权 | ⭐⭐ | 13-Redis未授权访问应急 |
| 05 | MySQL 入侵 | ⭐⭐ | 14-MySQL入侵分析 |
| 06 | 挖矿病毒 | ⭐⭐⭐ | 14.5-挖矿病毒应急 |
| 07 | 勒索病毒 | ⭐⭐⭐ | 14.6-勒索病毒应急 |
持久化后门
| 编号 | 实验 | 难度 | 对应笔记 |
|---|---|---|---|
| 10 | Crontab 后门 | ⭐ | 15-Crontab后门 |
| 11 | SSH 后门 | ⭐⭐ | 16-SSH-authorized_keys后门 |
| 12 | Systemd 后门 | ⭐⭐ | 17-Systemd-Service后门 |
| 13 | Bashrc 后门 | ⭐ | 18-Bashrc与Profile后门 |
| 14 | LD_PRELOAD | ⭐⭐⭐ | 19-LD_PRELOAD劫持 |
| 15 | PAM 后门 | ⭐⭐⭐ | 20-PAM后门 |
| 16 | SUID 后门 | ⭐ | 22-SUID后门 |
| 17 | 其他后门 | ⭐⭐ | 23-Alias后门 等 |
| 18 | Rootkit | ⭐⭐⭐ | 21-Rootkit检测 |
| 19 | 反弹 Shell | ⭐⭐ | 27-反弹Shell技术与检测 |
综合场景
| 编号 | 实验 | 难度 | 说明 |
|---|---|---|---|
| 99 | 综合攻击链 | ⭐⭐⭐⭐ | SSH暴破→持久化→挖矿 完整链路 |
安全说明
所有实验在 Docker 容器中隔离运行,不包含真实恶意软件
“矿机” 是 CPU 压力工具(stress),不会真正挖矿
“勒索” 是简单的 XOR 重命名,不是真正的加密
默认不暴露端口到宿主机(除非实验需要 SSH 接入)
容器内的 root 密码默认为 toor(仅用于实验)
故障排除
镜像构建失败
1 | # 清理缓存重建 |
容器启动后服务没跑起来
1 | # 手动执行 setup |
端口冲突
修改 docker-compose.yml 中的端口映射
磁盘空间不足
1 | # 清理所有停止的容器和未使用的镜像 |
| 上一章 | 目录 | 下一章 |
|---|---|---|
| 31-自动化排查脚本 | Linux应急响应 |