Zymmerr/AWS-Security-Hardening-SIEM-Lab
GitHub: Zymmerr/AWS-Security-Hardening-SIEM-Lab
该仓库记录了一个端到端的 AWS 安全工程实验,涵盖攻击模拟、SIEM 实时检测和 CIS 基准自动化加固的完整闭环。
Stars: 0 | Forks: 0
# AWS 安全实验室:SIEM、应急响应与加固
本实验记录了安全混合基础设施(AWS + 本地 SOC)的部署过程,旨在检测和修复后渗透活动,特别是通过自定义键盘记录器进行的数据外泄。
## 基础设施与连接

该环境将 **AWS EC2 (Debian 13 Trixie)** 目标与基于 Kali Linux(Docker 化)的本地 **Wazuh 4.7.2 Manager** 连接起来。
为了避免将管理端口暴露在公共互联网上,我实施了一套 **Tailscale Zero Trust VPN**。这创建了一个加密的网状隧道,允许 Wazuh Agent 通过私有的 100.x.y.z IP 将日志发送给 Manager。
* **配置:** Terraform(`/terraform` 中的基础设施即代码)。
* **网络:** Tailscale Mesh(日志传输) | 直接 WAN 外泄(模拟 C2)。
* **目标:** Debian 13(云实例)。
## SIEM 部署与 Agent 注册
监控管道通过部署 Wazuh 技术栈并注册远程 Agent 来建立。
1. **初始状态:** Dashboard 显示有 0 个活跃的 Agent。
2. **注册:** 在 Debian 13 上部署 Wazuh Agent,并将其指向 Tailscale 的 Manager IP。
3. **主动监控:** 在 Dashboard 中确认 Agent 的“Active”状态。
**[Wazuh Agent 活跃]**


*Wazuh Dashboard 确认远程云 Agent 成功连接。*
## 攻击模拟:SSH 键盘记录器
我开发了一个自定义的 Python 键盘记录器(`exfiltrating_ssh_logger.py`),以模拟隐蔽的数据外泄场景。
* **向量:** 一个 `Fake_Update_script.sh` 脚本安装 `python3-pip`,获取恶意软件并执行它。
* **机制:** 使用 `pty.spawn` 拦截交互式 SSH 会话。
* **外泄:** 捕获的击键记录被缓冲,并每 5 秒通过 HTTP POST 发送到远程监听器(`log_receiver.py`)。
**[恶意软件执行]**


## 检测工程 (Wazuh & Auditd)
捕获键盘记录器需要将 **Linux Auditd** 系统调用映射到自定义的 Wazuh 规则。默认规则对于这种特定行为是不够的。
### 1. Auditd 钩子
我配置了 `hardening.sh` 以注入特定的审计策略:
* `execve`:标记为 `-k audit-wazuh` 以跟踪进程执行。
* `connect`:标记为 `-k network-exfiltration` 以监控出站套接字。
### 2. 自定义规则升级
我在 `local_rules.xml`(ID 为 100005 和 100006)中编写了自定义逻辑,以将这些 Auditd 事件升级为 **Level 11 告警**。
**[自定义 XML 规则]**

*在 local_rules.xml 中实现的自定义 Wazuh 规则片段。*
**[Level 11 告警详情]**


*深入分析告警,显示被劫持的 Python 进程及其与 SOC 的连接。*
### 加固与合规性 (SCA)
在发生违规事件后,我使用 `hardening.sh` 自动化了系统修复,应用了基于 CIS 的基准测试。
**加固措施包括:**
* **SSH 安全:** 禁用 root 登录,限制 `AllowUsers`,并启用详细日志记录。
* **策略执行:** 使用 `pam_faillock` 防御暴力破解,使用 `pam_pwhistory` 防止密码重用。
* **网络:** UFW“默认拒绝”以及通过 `sysctl` 进行内核级加固。
* **完整性:** AIDE (Advanced Intrusion Detection Environment) 初始化。
### 合规性得分 (SCA)
安全配置评估(SCA)有了显著提高:
* **加固前:** 42%
* **加固后:** **64%**
**关于 64% 得分的说明:** 剩下的差距是由于 Debian 13 的“merged-usr”架构在标准 CIS 策略中导致了误报,以及 AWS 特有的分区限制(单一 EBS 卷)。
## **[SCA 得分演变]**


## 项目结构
* `hardening.sh`:用于 CIS 修复的主要 bash 脚本。
* `keylogger/`:攻击负载和日志接收器脚本。
* `*.tf`:用于基础设施配置的 Terraform 文件。
标签:AMSI绕过, ECS, Terraform, Wazuh, x64dbg, 威胁检测, 安全实验室, 应用安全, 数据渗出模拟, 混合云基础设施, 请求拦截, 逆向工具, 键盘记录器