Beginn-coder/AI-assisted-Detection-Engineering-Incident-Response

GitHub: Beginn-coder/AI-assisted-Detection-Engineering-Incident-Response

一个模拟现代SOC运营的AI辅助检测工程与事件响应平台,通过Detection-as-Code、SOAR自动化和LLM驱动的调查辅助,实现从威胁检测到事件闭环的完整安全运营工作流。

Stars: 0 | Forks: 0

# 🛡️AI辅助的检测工程与事件响应 AI辅助的检测工程与事件响应平台,具备 Detection-as-Code、Sigma 规则、GitHub Actions CI/CD、Splunk、Wazuh、Microsoft Sentinel、SOAR 自动化、Jira 集成,以及由 LLM 驱动的分诊、调查、报告和检测调优功能。 ## 📖 概述 本项目展示了一个AI辅助的检测工程与事件响应平台的设计与实现,该平台模拟了现代的安全运营中心 (SOC)。该平台将 Detection-as-Code 原则与自动化事件响应相结合,允许通过统一的工作流来开发、测试、版本控制、部署、调查安全检测,并进行持续改进。 该环境集成了 Windows 端点、Sysmon、Splunk 和 Atomic Red Team,以生成和收集安全遥测数据。Sigma 规则通过基于 Git 的 CI/CD pipeline 进行开发和管理,并自动验证和转换为特定于 SIEM 的检测逻辑。当检测到恶意活动时,SOAR 工作流将统筹进行证据收集,创建 Jira 事件工单,并启动自动响应操作。 集成的 LLM Security Copilot 通过执行告警分诊、ATT&CK 映射、时间线重建、调查辅助、playbook 生成、事件报告和检测调优建议,来增强分析师的工作流。AI 并非为了取代分析师,而是辅助决策并减少重复性任务,从而实现更快速、更一致的事件响应。 该项目旨在反映现代安全运营中心使用的工作流,展示在检测工程、事件响应、安全自动化、威胁检测和AI辅助安全运营方面的实用技能。 ### 流程分解 1. **遥测数据摄取:** Windows 目标虚拟机通过 Microsoft Sysmon 记录进程执行遥测数据,并将其转发至 Splunk Enterprise。 2. **告警触发:** Splunk 检测到可疑的执行行为(例如 `whoami.exe` 或本地账户发现),并将 JSON payload 发送至 Tines Webhook Listener。 3. **自动化事件创建:** Tines 解析告警遥测数据,格式化 AI 分析师分诊报告,并使用 Jira 的 REST API 创建 Jira 任务工单。 4. **分析师批准循环:** SOC 分析师审查 Jira 工单。为了执行遏制操作,分析师只需将 `auto-isolate` 标签添加到 Jira 工单中。 5. **统筹编排的主机隔离:** Jira 将 webhook 发送回 Tines。Tines 通过条件规则验证事件,执行主机网络隔离操作,并自动将格式化的 Wiki Markdown 遏制审计评论发布回 Jira 工单。 ## 🧰 技术栈 * **Hypervisor:** Oracle VM VirtualBox * **目标端点:** Windows 10 虚拟机 * **SIEM:** Splunk Enterprise 和 Splunk Universal Forwarder * **遥测代理:** Microsoft Sysmon (System Monitor) * **SOAR 平台:** Tines (Cloud Edition) * **工单与事件管理:** Jira Software Cloud ## 🛠️ 阶段 1:环境设置与虚拟机 ## 第 1 部分:虚拟机设置 我们将创建 2 台虚拟机:Windows 10 和 Splunk(SIEM)。 ## 🖥️ 虚拟机配置 | 虚拟机名称 | 角色 | 操作系统 | CPU | 内存 | 硬盘大小 | |--------------------|------------------|----------------|------|-------|------------------| | Windows-10 | 受害者/端点 | Windows 10 | 2 | 4 GB | 60 GB (默认) | | Splunk | SIEM | Ubuntu Server | 2 | 8 GB | 100 GB | ## ⚙️ 虚拟机创建步骤 对于每台虚拟机: 1. 遵循您的 hypervisor 的**“新建虚拟机”向导**。 2. 将安装程序指向相应的 ISO 文件。 3. 按照 [虚拟机配置表](#🖥️-virtual-machine-configuration) 中的说明分配资源。 4. 将所有虚拟机的**网络适配器**设置为 **NAT** 和 **Host-Only Adapter**。 5. 打开虚拟机电源以开始安装操作系统。 ### A. Windows 10 (Windows-10) * **操作系统:** Windows 10 (64-bit) * **内存:** 4096 MB * **处理器:** 2 vCPUs 1. 遵循 Windows 设置向导。 2. 出现提示时,选择: - **“我没有产品密钥。”** - **Windows 10 Pro** - **自定义:仅安装 Windows** 3. 在初始设置 (OOBE) 期间: - 设置为个人使用 → 离线账户 → 有限的体验。 - 创建一个本地用户(例如 `mydfir`)并设置密码。 - 拒绝所有的隐私和遥测选项。 4. 进入桌面后,启用远程桌面: - 开始 → *Remote desktop settings* → 将**启用远程桌面**切换为**开**。 - 禁用 Windows Defender 实时保护(仅用于实验室测试目的)。 5. 打开 `cmd` 并获取虚拟机的 IP 地址:ipconfig ### B. Ubuntu 服务器 * **操作系统:** Ubuntu (64-bit) * **内存:** 8192 MB * **处理器:** 4 vCPUs 1. 遵循 Ubuntu Server 设置向导。 2. 对于语言、键盘和网络保留默认设置 (DHCP)。 3. 对于存储,选择使用整个磁盘。 4. 设置您的用户(例如,姓名:,服务器名称:,用户名:)。 5. 关键步骤:出现提示时,勾选安装 OpenSSH server 的复选框。 6. 等待安装完成并重启。 7. 登录到控制台,获取 IP 地址:ip a,并运行系统更新:sudo apt-get update && sudo apt-get upgrade -y 注意:请记录所有虚拟机的 IP 地址。 ## 🔬 第 2 部分:Splunk 安装与配置 ### 1. 下载并安装 Splunk 1. 在您的主机上,转到 Splunk Enterprise 下载页面并复制该文件的链接。 2. 在您的 mydfir-splunk 虚拟机的 SSH 会话中,下载该文件:wget -O splunk.deb "https://download.splunk.com/..." (请记住您的链接会有所不同) 3. 安装软件包:sudo dpkg -i splunk.deb 4. 启动 Splunk 并接受许可协议:sudo /opt/splunk/bin/splunk start 5. 设置 Splunk 开机自启:sudo /opt/splunk/bin/splunk enable boot-start -user splunk ### 2. 配置 Splunk GUI 在您的主机浏览器上,访问 http://your-splunk-vm-ip:8000 并使用您刚刚创建的凭据登录。 ### A. 启用数据接收 1. 转到 Settings > Forwarding & receiving。 2. 在“Receive data”下,点击 Configure receiving。 3. 点击 New Receiving Port,输入 9997,然后点击 Save。 514913755-84b5ae48-dad3-4dcd-9614-9ae7d2dc7ff8 ## 第 3 部分:安装 Sysmon 和 Splunk Universal Forwarder ### 步骤 1. 安装 Microsoft Sysmon 在您的 Windows 虚拟机上,通过访问 https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon 安装 Sysmon。接下来,导航到 https://github.com/olafhartong/sysmon-modular 向下滚动并选择 sysmonconfig.xml。点击“raw”,并保存文件。解压 sysmon 文件,复制解压后目录的 URL,将 sysmonconfig.xml 文件放入解压后的 Sysmon 文件夹中。以管理员身份打开 Powershell,并导航到该目录。运行 .\Sysmon64.exe -i ..\sysmonconfig.xml,然后点击同意。 ### 2. 安装 Splunk Universal Forwarder 1. 在 Windows 虚拟机上下载并安装 Splunk Universal Forwarder。 - 遵循设置向导: - 接受许可协议。 - 选择 Splunk Enterprise (本地部署)。 - 用户名:(forwarder 的本地用户)。 - 设置密码。 - Deployment Server:留空。 - Receiving Indexer: Host:您的 Splunk 虚拟机 IP Port:9997 - 点击下一步并进行安装。 2. 创建新 Index - 前往 Settings > Indexes。 - 点击 New Index。 - 将 Index Name 设置为 [project-name] 然后点击 Save。 3. 安装 Windows Add-on - 前往 Apps > Find More Apps。 - 搜索 Windows event 并安装 Splunk Add-on for Microsoft Windows。 - 您需要输入您的 splunk.com 凭据(而非您的服务器凭据)才能进行安装。 最后,为 Splunk 虚拟机拍摄快照并将其命名为 Splunk-installed。 ### ⚡ 阶段 2:Splunk 告警与 Webhook 摄取 ## 第 1 部分:将 Windows 遥测数据发送至 Splunk 1. 在 Windows 10 虚拟机上,导航至 C:\Program Files\SplunkUniversalForwarder\etc\system\local 2. 打开记事本并创建一个新文件 3. 前往 [inputs.conf](https://drive.google.com/file/d/1-qYp4oCrT1BqhG1oaprQfkFhgFIHiWEm/view) 并复制所有文本,将其粘贴到记事本文件中,然后将其作为 inputs.conf 保存在 C:\Program Files\SplunkUniversalForwarder\etc\system\local 下 4. 以管理员身份运行服务应用。 5. 找到 SplunkForwarder 服务: - 右键点击 > 属性 > 登录 选项卡。 - 选择本地系统账户并点击应用。 - 右键点击该服务并重启。 验证操作: 1. 返回您的 Splunk Web 界面并点击 Search & Reporting。 2. 在搜索栏中,输入 index="mydfir-project" 并将时间范围设置为过去 24 小时 您应该能够看到来自 Windows 10 虚拟机的事件
标签:DLL 劫持, 大语言模型, 安全运营, 库, 应急响应, 扫描框架