surajs-sudo/SSH-Incident-Response-Lab
GitHub: surajs-sudo/SSH-Incident-Response-Lab
一个模拟SSH入侵事件的综合实验指南,涵盖日志取证分析、PCAP流量生成和系统加固全流程。
Stars: 1 | Forks: 0
# SSH 事件响应与系统加固综合指南
## 目标
模拟安全网络环境,分析历史 SSH 认证日志中的恶意活动,生成网络流量取证数据,并执行事后系统加固和数据脱敏协议。
## 第一阶段:取证数据生成与日志分析
初始阶段包括解析原始系统日志以识别未授权访问尝试,并生成用于取证分析的真实数据包捕获 (PCAP) 文件。
### 日志提取
从 Linux 跳板机中提取了针对 SSH 服务(**端口 22**)的原始认证日志。
### 流量合成
使用 **Scapy** 库开发并执行了一个自定义 Python 脚本。该脚本解析原始日志文本,提取源 IP 和目的 IP 地址,并将 syslog 数据封装到 UDP 数据包中,从而生成了一个取证 PCAP 文件。
### 网络协议分析
- 将生成的 PCAP 导入 **Wireshark** 进行深度数据包检测。
- 识别出 **21:11:16** 时来自外部 IP 的无效用户账户(攻击者)的**密码认证失败**事件。
- 识别出 **21:18:10** 时来自相同外部 IP 的有效系统用户(`[default_user]`)的随后的**成功登录事件**。
### 取证结论
失败尝试与成功尝试之间约 **七分钟的时间差** 强烈表明这是**人工手动访问**,而非自动化的暴力破解攻击。
## 第二阶段:系统隔离与服务加固
在事件分析之后,立即采取了补救措施以隔离受感染的虚拟机并保护监听服务。
### 网络隔离
修改了虚拟机监控程序的网卡设置,将环境从 **Bridged** 模式转换为 **NAT** 模式。
这成功地将虚拟机隐藏在主机的 IP 路由之后,阻止了进一步的未授权外部入站连接。
### 服务终止
终止活动的 SSH 守护进程以关闭端口 22,并断开所有残留的持久连接:
```
sudo systemctl stop ssh
```
### 永久禁用
将 SSH 服务从系统启动序列中移除,以防止服务在未来的重启中自动启动:
```
sudo systemctl disable ssh
```
## 第三阶段:身份与访问管理 (IAM)
为了进一步保护系统,默认凭据和标准用户名被系统性清除,并替换为自定义的安全管理员账户。
### 超级用户激活
为锁定的 `root` 账户临时设置了密码,以便在没有活跃用户后台进程干扰的情况下进行深度系统修改:
```
sudo passwd root
```
### 账户迁移
直接登录 root 环境以覆盖默认系统身份。执行以下命令将用户、组和主目录重命名为加固标准名称(例如 `sec_admin`):
```
usermod -l sec_admin [default_user]
groupmod -n sec_admin [default_user]
usermod -d /home/sec_admin -m sec_admin
```
### 凭据加固
为新建立的 `sec_admin` 账户分配新的、经过加密的安全密码。
### 权限验证
以新用户身份重新登录,并成功验证了文件所有权的连续性和管理权限:
```
ls -la ~
sudo whoami
```
## 第四阶段:操作安全 (OPSEC) 与数据清洗
在发布此事件报告及相关取证数据之前,执行了严格的数据清洗流程,以确保零泄露私有主机标识符。
### 数据擦除
利用文本处理工具将原始日志和 Python 脚本中的真实私有 IP 地址和个人 Windows 主机名替换为标准的文档占位符:
```
Attacker: 203.0.113.10
Server: 10.0.0.50
```
### 取证数据重生成
使用经过清洗的新日志文件重新执行 Python PCAP 生成脚本,生成了一个 **100% 干净、可公开分享** 的网络捕获文件。
### 视觉遮挡
对原始截图应用了严格的**黑框遮挡**处理,完全掩盖了旧 IP 地址和个人配置文件路径,以维持专业的 OPSEC 标准。
标签:Burp Suite 替代, BurpSuite集成, Linux安全管理, PCAP, Python自动化, Scapy, SSH安全, Wireshark, 句柄查看, 库, 应急响应, 应用安全, 数字取证, 暴力破解防御, 端口安全, 系统加固, 网络安全, 网络隔离, 自动化脚本, 蜜罐/模拟攻击, 逆向工具, 隐私保护