Linux应急响应 - Lab README

Linux 应急响应配套实验环境使用指南

实验环境基于 Docker,每个场景独立隔离,安全无害

环境要求

软件依赖

Docker 20.10+

Docker Compose v2+

至少 4GB 可用内存

验证安装

1
2
docker --version
docker compose version

macOS 安装 Docker

推荐使用 Docker Desktop for Mac

或使用 Homebrew: brew install --cask docker

基础镜像构建

所有实验都基于两个基础镜像,必须先构建

构建命令

1
2
3
4
5
6
7
cd /Users/lucy/Desktop/AI/应急响应/labs/00-base

# 构建 Ubuntu 基础镜像
docker build -t ir-lab-ubuntu -f Dockerfile.ubuntu .

# 构建 CentOS 基础镜像
docker build -t ir-lab-centos -f Dockerfile.centos .

基础镜像包含的工具

类别 工具
网络排查 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

使用流程

标准流程

  1. 阅读笔记 — 先学习对应的 Logseq 笔记页面
  2. 启动实验docker compose up -d
  3. 进入容器docker exec -it <container_name> bash
  4. 手动排查 — 使用笔记中学到的命令排查
  5. 对照提示 — 卡住时运行 bash /opt/ir-lab/investigate.sh
  6. 查看答案 — 查看 answers/ 目录
  7. 销毁环境docker compose down -v

常用 Docker 命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 启动实验
cd labs/01-ssh-bruteforce
docker compose up -d

# 查看运行状态
docker compose ps

# 进入 Ubuntu 容器
docker exec -it ir-lab-ssh-ubuntu bash

# 进入 CentOS 容器
docker exec -it ir-lab-ssh-centos bash

# 查看容器日志
docker compose logs -f

# 销毁并清理
docker compose down -v

# 重建实验(从头开始)
docker compose down -v && docker compose up -d --build

实验列表

实战场景

编号 实验 难度 对应笔记
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
2
3
# 清理缓存重建
docker builder prune -f
docker build --no-cache -t ir-lab-ubuntu -f Dockerfile.ubuntu .

容器启动后服务没跑起来

1
2
# 手动执行 setup
docker exec -it <container> bash /opt/ir-lab/setup.sh

端口冲突

修改 docker-compose.yml 中的端口映射

磁盘空间不足

1
2
# 清理所有停止的容器和未使用的镜像
docker system prune -a

上一章 目录 下一章
31-自动化排查脚本 Linux应急响应