cyb3rmik3/KQL-threat-hunting-queries

GitHub: cyb3rmik3/KQL-threat-hunting-queries

提供用于 Microsoft Sentinel 和 Defender XDR 的 KQL 威胁狩猎查询集合,帮助安全团队检测和响应威胁。

Stars: 769 | Forks: 96

# 使用KQL查询进行威胁狩猎/检测 [![在X上分享](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=KQL%20Threat%20Hunting%20Queries%20by%20@cyb3rmik3&url=https://github.com/cyb3rmik3/KQL-threat-hunting-queries) [![关注 @cyb3rmik3](https://img.shields.io/twitter/follow/cyb3rmik3)](https://twitter.com/cyb3rmik3) ``` _ _____ _ _____ _ _ ____ _____ _ _____ _ _ _ _ _ _ _____ ___ _ _ ____ | |/ / _ \| | |_ _| | | | _ \| ____| / \|_ _| | | | | | | | \ | |_ _|_ _| \ | |/ ___| | ' | | | | | | | | |_| | |_) | _| / _ \ | | | |_| | | | | \| | | | | || \| | | _ | . | |_| | |___ | | | _ | _ <| |___ / ___ \| | | _ | |_| | |\ | | | | || |\ | |_| | |_|\_\__\_|_____| |_| |_| |_|_| \_|_____/_/ \_|_| |_| |_|\___/|_| \_| |_| |___|_| \_|\____| ``` 本仓库旨在提供现成的检测与狩猎查询(以及更多内容),以帮助分析师和威胁猎人充分利用 Microsoft Sentinel 和 Microsoft Defender XDR 中 KQL 的强大功能。 - [KQL 培训](#kql-training) - [KQL 基础](#kql-basics) - [威胁狩猎基础](#threat-hunting-basics) - [KQL 社区](#kql-community) 请注意: - 请阅读下方的[免责声明](#disclaimer)。 - 如果您觉得这里提供的查询有用,欢迎给本仓库点个 :star:。 祝您使用愉快,如有任何问题或建议,请联系:[cyb3rmik3](https://twitter.com/Cyb3rMik3)。 ##### 喜欢我的工作吗?考虑请我喝杯咖啡吧! :) Buy Me a Coffee at ko-fi.com # KQL 培训 ### 微软安全运营分析师助理认证 (SC-200) 如果 Microsoft Sentinel 和 Microsoft 365 Defender 是您的日常工具,您应该考虑参加微软的认证安全运营分析师课程(考试代码 [SC-200](https://learn.microsoft.com/en-us/certifications/exams/sc-200/))。您将熟悉微软广泛的安全产品组合,以及如何使用它们提供数据、安全信号并分析警报和事件。 尽管如此,您也可以直接跳转到专注于 KQL 的微软课程: - [利用 KQL 进行 Azure Sentinel 分析](https://learn.microsoft.com/en-us/training/paths/sc-200-utilize-kql-for-azure-sentinel/) - [配置 Azure Sentinel 环境](https://learn.microsoft.com/en-us/training/paths/sc-200-configure-azure-sentinel-environment/) ### 在高级模式下创建查询 Microsoft Defender XDR 高级狩猎专家培训为安全分析师和威胁猎人提供了一份全面的指南,以提升他们在高级狩猎方面的技能。培训通过一系列名为“追踪对手”和“L33TSP3AK”的网络广播进行。 - [获取关于高级狩猎的专家培训](https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-expert-training) ### 面向威胁狩猎与检测工程的动手 KQL Mehmet Ergene(又名 [cyb3rmonk](https://twitter.com/cyb3rmonk))创立了 blu raven 学院,在那里他提供以下 KQL 培训课程,包括在超真实实验室环境中的动手体验。 - [“安全分析 KQL 入门(免费)”](https://academy.bluraven.io/intro-to-kql-for-security-analysis) - [“面向威胁狩猎与检测工程的动手 KQL”](https://academy.bluraven.io/hands-on-kusto-query-language-kql-for-security-analysts) - [面向安全分析师的动手 Kusto 查询语言 (KQL)](https://academy.bluraven.io/hands-on-kusto-query-language-kql-for-security-analysts) ### Rod Trent 的 MustLearnKQL [Rod Trent](https://github.com/rod-trent) 创建了 [MustLearnKQL](https://github.com/rod-trent/MustLearnKQL) 系列,这是一组博客文章和 YouTube 视频,旨在讨论和传授 Kusto 查询语言的强大功能和简洁性。 ### 类似 CTF 的学习方式 - [KC7 Cyber](https://kc7cyber.com/) 是一种学习网络安全的新方式,注重实践、有趣且引人入胜。 - [Kusto 侦探事务所](https://detective.kusto.io/) 是一系列挑战,旨在帮助您学习 KQL。 ### 微软云中的事件响应 [Invictus](https://github.com/invictus-ir) 创建了[“微软云中的事件响应”](https://academy.invictus-ir.com/advanced-incident-response-in-the-microsoft-cloud)培训,涵盖了如何在 Microsoft Azure 和 Microsoft 365 中进行事件响应。其中包括 KQL 基础知识,以及 KQL 查询包和更高级的用例与针对云攻击的 KQL 查询。 # KQL 基础 ### 选择合适的表 数据被组织成数据库、表和列的层次结构,类似于 SQL。例如,高级狩猎架构中的 `DeviceNetworkEvents` 表包含有关网络连接和相关事件的信息。 ### where 运算符 `where` 根据特定谓词进行筛选 ``` DeviceNetworkEvents | where LocalIP == "192.168.0.1" ``` ### 包含/拥有 - **Contains**:查找任何子字符串匹配 - **Has**:查找特定单词(性能更好) ``` DeviceNetworkEvents | where DeviceName has "ComputerName" ``` ### 之前 返回相对于查询执行时间的时间偏移量 ``` DeviceNetworkEvents | where Timestamp > ago(1d) ``` ### 项目 按照指定的顺序选择要包含的列 ``` DeviceNetworkEvents | where Timestamp > ago(1d) | where DeviceName has "ComputerName" | project Timestamp, ActionType, RemoteIP, RemotePort, RemoteUrl ``` # 威胁狩猎基础 ## 微软威胁狩猎 威胁狩猎应是一个持续的过程。我们从循环顶部的假设开始。我们的假设帮助我们规划要狩猎什么,这需要我们了解在哪里狩猎以及如何进行。这意味着我们需要理解我们拥有的数据、工具、专业知识,以及如何运用它们。狩猎循环不会在执行狩猎时停止。在整个生命周期中,我们还需要进行几个阶段,包括对异常的响应。即使我们没有发现活跃的威胁,也会有一些活动需要执行。[了解更多](https://learn.microsoft.com/en-us/training/paths/sc-200-perform-threat-hunting-azure-sentinel/)。

## MITRE ATT&CK 狩猎方法包含两个组成部分:恶意活动的特征描述,以及狩猎的执行。这些活动应是持续进行的,并根据关于对手和环境的新信息不断更新。[了解更多](https://www.mitre.org/sites/default/files/2021-11/prs-19-3892-ttp-based-hunting.pdf)。

# KQL 社区 在社区内贡献和分享至关重要,因为它营造了一个协作环境,使我们所有人都能交流见解、应对挑战,并共同提升专业水平。以下是我收藏的一些社区资源。 ### KQL Search [KQL Search](https://www.kqlsearch.com/) 是由 [Ugur Koc](https://github.com/ugurkocde) 创建的一个项目,它聚合了来自 KQL 社区成员的 GitHub 仓库,这些成员贡献了用于 Microsoft Sentinel 和 Microsoft Defender XDR 的查询。本仓库也包含在内,与其他受尊敬的成员一起,努力利用微软安全栈构建更强大的防御。 ### 书签 - [KQL Cafe](https://github.com/KQLCafe/website/blob/gh-pages/index.md) - [Kusto Insights Newsletter](https://kustoinsights.substack.com/) - [KQL Query Blog](https://kqlquery.com/) - [KustoKing](https://www.kustoking.com/) - [Ashwin Patil](https://github.com/ashwin-patil/blue-teaming-with-kql) - [seccnet](https://github.com/secnnet/Microsoft-365-Defender-Hunting-Queries/blob/main/Top%20Hunting%20Queries.txt) - [ml58158, Demystifying KQL](https://github.com/ml58158/Demystifying-KQL/)
标签:AMSI绕过, KQL培训, KQL查询, Kusto查询语言, Microsoft 365 Defender, Microsoft Sentinel, Microsoft XDR, URL发现, 威胁分析, 威胁响应, 威胁情报, 威胁检测, 安全检测, 安全运营中心, 开发者工具, 微软安全, 数据查询, 社区, 管理员页面发现, 网络安全, 网络映射, 自动化侦查工具, 隐私保护