aytankhalilova/A-Threat-Hunting-Model-for-the-ClickFix-Technique-in-Enterprise-Environments

GitHub: aytankhalilova/A-Threat-Hunting-Model-for-the-ClickFix-Technique-in-Enterprise-Environments

针对企业环境中 ClickFix 攻击技术的合成 MDE 遥测数据集,用于开发和验证基于 KQL 的威胁狩猎检测模型。

Stars: 0 | Forks: 0

# ClickFix 威胁狩猎 — 数据集 ## 概述 本代码仓库包含两份用于硕士论文《企业环境中 ClickFix 技术的威胁狩猎模型》的合成数据集:一份是用于开发和调优 KQL 检测查询的规则构建数据集,另一份是用于评估它们的测试数据集。这两份数据集是完全独立的——它们不共享任何日志条目、设备、用户、C2 基础设施或命令行内容。 这两份数据集都是合成的——生成时匹配了 Microsoft Defender for Endpoint (MDE) Advanced Hunting schema——因为目前不存在包含真实 MDE 遥测数据的公开数据集。真实的 MDE 导出数据包含企业 PII,无法公开发布。攻击条目中的所有命令行参数均直接来源于论文中引用的威胁情报报告。 ## 代码仓库结构 ``` ├── build/ # Used to develop and tune KQL queries │ ├── clickfix_rule_DeviceProcessEvents.csv │ ├── clickfix_rule_DeviceRegistryEvents.csv │ ├── clickfix_rule_DeviceNetworkEvents.csv │ ├── clickfix_rule_DeviceFileEvents.csv │ └── clickfix_rule_dataset_manifest.csv │ └── test/ # Used to evaluate KQL queries and validate model ├── clickfix_DeviceProcessEvents.csv ├── clickfix_DeviceRegistryEvents.csv ├── clickfix_DeviceNetworkEvents.csv ├── clickfix_DeviceFileEvents.csv ├── clickfix_kql_test_manifest.csv ├── clickfix_model_validation_manifest.csv └── clickfix_artifact_recovery_manifest.csv ``` ## 规则构建数据集 **目的:** 用于观察攻击模式并开发论文第 4.4 节中记录的七个 KQL 检测查询。 **时期:** 2026 年 2 月 | **域:** PROD | **设备:** PROD-WS-01x / PROD-LT-01x | 文件 | 目的 | 行数 | |---|---|---| | `clickfix_rule_DeviceProcessEvents.csv` | 导入为 `DeviceProcessEvents_CL` | 176 | | `clickfix_rule_DeviceRegistryEvents.csv` | 导入为 `DeviceRegistryEvents_CL` | 43 | | `clickfix_rule_DeviceNetworkEvents.csv` | 导入为 `DeviceNetworkEvents_CL` | 28 | | `clickfix_rule_DeviceFileEvents.csv` | 导入为 `DeviceFileEvents_CL` | 3 | | `clickfix_rule_dataset_manifest.csv` | 将每个 ReportId 映射到场景和分类 | 250 | **组成:共 250 条日志条目** - 106 条真阳性日志条目 — 攻击场景覆盖了所有 9 种接触端点的 ClickFix 变体以及全部 7 个 KQL 查询目标 - 144 条良性日志条目 — 144 个独立且合法的企业活动场景 ## 测试数据集 **目的:** 用于评估 KQL 检测查询并验证狩猎模型(第 4.6.2 节)。 **时期:** 2026 年 3 月 | **域:** CORP | **设备:** CORP-WS-00x / CORP-LT-00x | 文件 | 目的 | 行数 | |---|---|---| | `clickfix_DeviceProcessEvents.csv` | 导入为 `DeviceProcessEvents_CL` | 121 | | `clickfix_DeviceRegistryEvents.csv` | 导入为 `DeviceRegistryEvents_CL` | 29 | | `clickfix_DeviceNetworkEvents.csv` | 导入为 `DeviceNetworkEvents_CL` | 28 | | `clickfix_DeviceFileEvents.csv` | 导入为 `DeviceFileEvents_CL` | 3 | | `clickfix_kql_test_manifest.csv` | 验证 KQL 查询结果 — 按 ReportId 的分类 | 181 | | `clickfix_model_validation_manifest.csv` | 验证模型验证 — 14 个场景(MV-01 到 MV-14) | 14 | | `clickfix_artifact_recovery_manifest.csv` | 验证特征恢复率 — 按 ReportId 的 ArtifactType | 30 | **组成:共 181 条日志条目** - 81 条真阳性日志条目 — 30 个攻击场景覆盖了所有 9 种接触端点的 ClickFix 变体 - 100 条良性日志条目 — 100 个独立且合法的企业活动场景 ## 如何导入 Microsoft Sentinel 在你的 Sentinel 工作区中创建自定义日志表并上传每个 CSV 文件。有关完整说明,请参阅 Microsoft 官方文档:[使用 Azure Monitor Agent 从文本文件收集日志并摄取到 Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-custom-logs-ama)。 | 构建 CSV 文件 | 测试 CSV 文件 | Sentinel 表名 | |---|---|---| | `clickfix_[rule_]DeviceProcessEvents.csv` | `clickfix_DeviceProcessEvents.csv` | `DeviceProcessEvents_CL` | | `clickfix_[rule_]DeviceRegistryEvents.csv` | `clickfix_DeviceRegistryEvents.csv` | `DeviceRegistryEvents_CL` | | `clickfix_[rule_]DeviceNetworkEvents.csv` | `clickfix_DeviceNetworkEvents.csv` | `DeviceNetworkEvents_CL` | | `clickfix_[rule_]DeviceFileEvents.csv` | `clickfix_DeviceFileEvents.csv` | `DeviceFileEvents_CL` | ## 如何验证结果 ### KQL 查询结果 运行查询后,在 `clickfix_kql_test_manifest.csv` 中查找任意结果的 `ReportId`: | 列 | 描述 | |---|---| | `ReportId` | 关联到原始日志条目 | | `Table` | 条目所属的 MDE 表 | | `Scenario` | 场景 ID(TP-01、FP-21 等) | | `Classification` | TruePositive 或 Benign | | `DeviceName` | 设备名称 | | `AccountName` | 用户账户 | | `Timestamp` | 事件时间戳 | ### 模型验证结果 使用 `clickfix_model_validation_manifest.csv` 验证第 4.6.2 节中的 14 个模型验证场景: | 列 | 描述 | |---|---| | `ModelScenarioId` | MV-01 到 MV-14 | | `ModelCategory` | 标准 ClickFix 变体、国家支持或误报 | | `VariationCategory` | 特定的 ClickFix 变体名称 | | `DatasetScenario` | 数据集中的对应场景 ID | | `LogEntryCount` | 此场景的日志条目数量 | | `ReportIds` | 所有日志条目的管道符分隔的 ReportId | ### 特征恢复结果 使用 `clickfix_artifact_recovery_manifest.csv` 验证第 4.6.2 节中的特征恢复率: | 列 | 描述 | |---|---| | `ModelScenarioId` | MV-01 到 MV-12 | | `DatasetScenario` | 对应的场景 ID | | `ReportId` | 关联到原始日志条目 | | `Table` | MDE 表 | | `ArtifactType` | 进程特征、注册表特征、网络特征或文件特征 | | `DeviceName` | 设备名称 | | `AccountName` | 用户账户 | | `Timestamp` | 事件时间戳 | ## 表 Schema ### DeviceProcessEvents_CL | 列 | 描述 | |---|---| | `Timestamp` | ISO 8601 事件时间戳 | | `DeviceId` | 40 个字符的十六进制设备标识符 | | `DeviceName` | 企业工作站名称 | | `ActionType` | ProcessCreated | | `FileName` | 进程二进制文件名 | | `FolderPath` | 进程二进制文件的完整路径 | | `SHA1` | 进程二进制文件的 SHA1 哈希 | | `ProcessCommandLine` | 包含所有参数的完整命令行 | | `ProcessId` | 数字进程 ID | | `InitiatingProcessFileName` | 父进程文件名 | | `InitiatingProcessId` | 父进程 ID | | `InitiatingProcessCommandLine` | 父进程命令行 | | `InitiatingProcessParentFileName` | 祖父进程文件名 | | `InitiatingProcessSHA1` | 父进程二进制文件的 SHA1 哈希 | | `AccountName` | 用户名 | | `AccountDomain` | 域 | | `AccountSid` | Windows 安全标识符 | | `ReportId` | 唯一条目标识符 — 用于交叉引用清单 | ### DeviceRegistryEvents_CL | 列 | 描述 | |---|---| | `Timestamp` | ISO 8601 事件时间戳 | | `DeviceId` | 设备标识符 | | `DeviceName` | 设备名称 | | `ActionType` | RegistryValueSet | | `RegistryKey` | 完整的注册表键路径 | | `RegistryValueName` | 注册表值名称 | | `RegistryValueData` | 注册表值数据 | | `InitiatingProcessFileName` | 写入注册表值的进程 | | `InitiatingProcessId` | 进程 ID | | `InitiatingProcessSHA1` | 发起进程的 SHA1 | | `AccountName` | 用户名 | | `AccountDomain` | 域 | | `AccountSid` | Windows 安全标识符 | | `ReportId` | 唯一条目标识符 — 用于交叉引用清单 | ### DeviceNetworkEvents_CL | 列 | 描述 | |---|---| | `Timestamp` | ISO 8601 事件时间戳 | | `DeviceId` | 设备标识符 | | `DeviceName` | 设备名称 | | `ActionType` | ConnectionSuccess | | `InitiatingProcessFileName` | 发起连接的进程 | | `InitiatingProcessId` | 进程 ID | | `InitiatingProcessSHA1` | 发起进程的 SHA1 | | `RemoteIP` | 目标 IP 地址 | | `RemotePort` | 目标端口 | | `RemoteUrl` | 目标 URL | | `RemoteIPType` | Public 或 Private | | `Protocol` | Tcp | | `LocalIP` | 设备的源 IP 地址 | | `LocalPort` | 源端口 | | `AccountName` | 用户名 | | `AccountDomain` | 域 | | `AccountSid` | Windows 安全标识符 | | `ReportId` | 唯一条目标识符 — 用于交叉引用清单 | ### DeviceFileEvents_CL | 列 | 描述 | |---|---| | `Timestamp` | ISO 8601 事件时间戳 | | `DeviceId` | 设备标识符 | | `DeviceName` | 设备名称 | | `ActionType` | FileCreated | | `FileName` | 创建的文件名 | | `FolderPath` | 创建文件的完整路径 | | `SHA1` | 文件的 SHA1 哈希 | | `InitiatingProcessFileName` | 创建文件的进程 | | `InitiatingProcessId` | 进程 ID | | `InitiatingProcessSHA1` | 发起进程的 SHA1 | | `AccountName` | 用户名 | | `AccountDomain` | 域 | | `AccountSid` | Windows 安全标识符 | | `ReportId` | 唯一条目标识符 — 用于交叉引用清单 | ## 数据集完整性 **跨数据集:** - 规则构建数据集与测试数据集之间零共享 ReportId ## 生成 两份数据集均由 Claude Sonnet 4.6 (claude-sonnet-4-6) 生成,作为论文研究过程的一部分。攻击条目中的命令行参数来源于论文中引用的威胁情报报告。 ## 引用 ## 威胁情报来源 - Proofpoint Threat Research — [*From Clipboard to Compromise: A PowerShell Self-Pwn*](https://www.proofpoint.com/us/blog/threat-insight/clipboard-compromise-powershell-self-pwn) - Proofpoint Threat Research — [*Around the World in 90 Days: State-Sponsored Actors Try ClickFix*](https://www.proofpoint.com/us/blog/threat-insight/around-world-90-days-state-sponsored-actors-try-clickfix) - Microsoft Threat Intelligence — [*Think Before You Click(Fix): Analyzing the ClickFix Social Engineering Technique*](https://www.microsoft.com/en-us/security/blog/2025/08/21/think-before-you-clickfix-analyzing-the-clickfix-social-engineering-technique/) - Sekoia TDR — [*From Contagious to ClickFake Interview: Lazarus Leveraging the ClickFix Tactic*](https://blog.sekoia.io/clickfake-interview-campaign-by-lazarus/) - Elastic Security Labs — [*A Wretch Client: From ClickFix Deception to Information Stealer Deployment*](https://www.elastic.co/security-labs/a-wretch-client) - Microsoft Threat Intelligence — [*New ClickFix Variant CrashFix Deploying Python RAT Trojan*](https://www.microsoft.com/en-us/security/blog/2026/02/05/clickfix-variant-crashfix-deploying-python-rat-trojan/) - SOCRadar — [*ClickFix & FileFix: How a Copy-Paste Trick Became 2025's Top Social Engineering Threat*](https://socradar.io/blog/clickfix-filefix-copy-paste-top-social-engineering/) - Push Security — [*ConsentFix: Browser-Native ClickFix Hijacks OAuth Grants*](https://pushsecurity.com/blog/consentfix) - The Hacker News — [*New FileFix Variant Delivers StealC Malware Through Multilingual Phishing Site*](https://thehackernews.com/2025/09/new-filefix-variant-delivers-stealc.html) - Microsoft Threat Intelligence — [*Phishing Campaign Impersonates Booking.com, Delivers Credential-Stealing Malware*](https://www.microsoft.com/en-us/security/blog/2025/03/13/phishing-campaign-impersonates-booking-com-delivers-a-suite-of-credential-stealing-malware/)
标签:ClickFix攻击, DeviceProcessEvents, EDR, ESC8, IP 地址批量处理, KQL查询, MDE, Microsoft Defender for Endpoint, OpenCanary, TruffleHog, 企业安全, 合成数据集, 威胁情报, 学术论文, 安全数据科学, 开发者工具, 搜索语句(dork), 攻击模拟, 检测规则, 社会工程学, 端点检测与响应, 网络安全, 网络资产发现, 网络资产管理, 脆弱性评估, 脱壳工具, 隐私保护, 驱动签名利用, 高级狩猎