CreativeHive-stack/sql-threat-hunting-lab

GitHub: CreativeHive-stack/sql-threat-hunting-lab

基于 MariaDB 的防御性安全实验项目,通过 SQL 查询身份验证日志和员工记录来模拟 SOC 环境中的威胁狩猎与安全日志分析。

Stars: 0 | Forks: 0

# SQL 威胁狩猎与安全日志分析实验 ## 概述 本项目演示了如何使用 MariaDB 进行基于 SQL 的威胁狩猎和安全日志分析。 该实验侧重于查询身份验证日志、员工记录和登录尝试数据,以识别可疑活动、分析失败的登录尝试,并使用 SOC 和蓝队环境中常用的 SQL 查询过滤组织安全事件。 ## 目标 - 分析失败的登录尝试 - 调查非工作时间的身份验证活动 - 按国家/地区过滤登录事件 - 查询员工部门记录 - 练习 SQL 威胁狩猎技术 - 提升数据库调查技能 ## 环境 - 数据库:MariaDB - 查询语言:SQL - 实验类型:安全调查实验 - 方法论:防御性安全 / 威胁狩猎 ## 使用的工具 - MariaDB - SQL - SELECT 语句 - WHERE 过滤 - 逻辑运算符 (AND / OR / NOT) # 任务 1 — 检索非工作时间的失败登录尝试 ## 截图 Task 1  Retrieve after hours failed login attempts Pt 2 Task 1  Retrieve after hours failed login attempts Pt 1 Task 1  Retrieve after hours failed login attempts Pt 3 ## 目的 此查询用于识别发生在工作时间之后的失败登录尝试。 ## 使用的 SQL 概念 - SELECT - WHERE - AND - 布尔过滤 ## 查询逻辑 该查询过滤了: - 18:00 之后的登录时间 - 仅包含失败的登录尝试 ### 使用的查询 ``` SELECT * FROM log_in_attempts WHERE login_time > '18:00' AND success = FALSE; ``` ### 展示的技能 - 身份验证日志分析 - SQL 过滤 - 威胁狩猎 - 安全事件审查 # 任务 2 — 检索特定日期的登录尝试 ## 截图 Task 2  Retrieve login attempts on specific dates Task 2  Retrieve login attempts on specific dates Pt 2 ## 目的 此查询调查了特定日期的登录活动,用于事件关联和身份验证审查。 ## 使用的 SQL 概念 - SELECT - WHERE - OR 运算符 - 日期过滤 ## 查询逻辑 该查询过滤了发生在以下日期的登录活动: - 2022-05-08 - 2022-05-09 ### 使用的查询 ``` SELECT * FROM log_in_attempts WHERE login_date = '2022-05-09' OR login_date = '2022-05-08'; ``` ### 展示的技能 - 基于日期的事件过滤 - 身份验证监控 - SQL 分析 - 安全调查 # 任务 3 — 检索来自墨西哥境外的登录尝试 ## 截图 Task 3  Retrieve login attempts outside of Mexico Pt 2 Task 3  Retrieve login attempts outside of Mexico Pt 1 ## 目的 此查询过滤了源自特定地理区域之外的身份验证尝试,以识别异常的登录行为。 ## 使用的 SQL 概念 - SELECT - WHERE - NOT 运算符 - LIKE 运算符 ## 查询逻辑 该查询过滤了所有国家/地区不是墨西哥的登录尝试。 ### 使用的查询 ``` SELECT * FROM log_in_attempts WHERE NOT country LIKE 'MEX%'; ``` ### 展示的技能 - 地理过滤 - 威胁狩猎方法论 - SQL 逻辑运算 - 身份验证分析 # 任务 4 — 检索东办公区的市场部员工 ## 截图 Task 4  Retrieve employees in Marketing East buidling specific ## 目的 此查询根据部门和办公地点过滤员工记录,用于行政调查目的。 ## 使用的 SQL 概念 - SELECT - WHERE - AND 运算符 - LIKE 运算符 ## 查询逻辑 该查询过滤了: - 市场部的员工 - 位于东办公区的员工 ### 使用的查询 ``` SELECT * FROM employees WHERE department = 'Marketing' AND office LIKE 'East%'; ``` ### 展示的技能 - 组织数据分析 - SQL 过滤 - 行政记录调查 - 数据库分析 # 任务 5 — 检索财务部或销售部的员工 ## 截图 Task 5  Retrieve employees in Finance or Sales Pt 1 Task 5  Retrieve employees in Finance or Sales Pt 2 ## 目的 此查询演示了在组织数据分析期间如何使用 OR 条件来过滤多个部门。 ## 使用的 SQL 概念 - SELECT - WHERE - OR 运算符 ## 查询逻辑 该查询过滤了来自以下部门的员工: - 财务部 - 销售部 ### 使用的查询 ``` SELECT * FROM employees WHERE department = 'Finance' OR department = 'Sales'; ``` ### 展示的技能 - 多条件过滤 - SQL 查询构建 - 员工数据库分析 - 安全数据调查 # 任务 6 — 检索所有非 IT 部门的员工 ## 截图 Task 6  Retrieve all employees not in IT Pt 2 Task 6  Retrieve all employees not in IT Pt 1 ## 展示的技能 - SQL 查询 - 数据库调查 - 安全日志分析 - 身份验证监控 - 威胁狩猎方法论 - 数据过滤 - 布尔逻辑分析 - SQL 条件运算符 - 组织数据分析 ## 展示的技能 - SQL 查询 - 数据库调查 - 安全日志分析 - 身份验证监控 - 威胁狩猎方法论 - 数据过滤 - 安全事件分析 - MariaDB 使用 - 防御性安全技术 ## 关键要点 本实验通过对 SOC 和安全分析师环境中常见的身份验证和员工数据进行动手分析,巩固了基础的 SQL 调查和威胁狩猎技能。 这些练习提升了对以下方面的理解: - 身份验证事件分析 - 数据库过滤逻辑 - 威胁狩猎方法论 - 聚焦安全的 SQL 查询 - 防御性调查工作流 ## 免责声明 本项目在受控的实验环境中进行,仅供教育和专业作品集展示之用。 ## 作者 Brandon H. Steeno 有志成为网络安全分析师与 SOC 专家
标签:MariaDB, SQL, 多线程, 安全日志分析, 系统审计