tdt1114/azure-ad-signin-analyzer

GitHub: tdt1114/azure-ad-signin-analyzer

基于Python的Azure AD登录日志分析工具,通过Microsoft Graph API检测暴力破解和非工作时间异常认证行为。

Stars: 0 | Forks: 0

# Azure AD 登录日志分析器 ## 概述 一款基于 Python 的安全工具,用于分析 Azure Active Directory 登录日志以检测可疑的身份验证行为。构建为我的混合 Active Directory 实验室环境的扩展。 ## 检测内容 - **暴力破解指标** — 超过失败登录阈值的账户 - **非工作时间身份验证** — 在工作时间之外(早上 6 点之前或晚上 10 点之后)发生的登录 - **高优先级关联** — 同时被标记为失败登录和非工作时间活动的账户,提升优先级以进行立即分类 ## 检测输出 ![分析输出](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ccb9f87051015909.png) ## 工作原理 1. 使用应用注册和客户端凭据向 Microsoft Graph API 进行身份验证 2. 从 Azure AD 审计日志中提取登录日志数据 3. 解析每个条目的错误代码和时间戳 4. 关联发现结果并输出优先级报告 ## 检测逻辑 ![VS Code 检测逻辑](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ac6883c7c4015909.png) ## API 身份验证 应用注册在 Azure AD 中配置了以下 Microsoft Graph 权限: - `AuditLog.Read.All` - `Directory.Read.All` ![API 权限](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/01f9585cae015910.png) 已针对在线 Azure 租户验证身份验证。API 返回了 `403 Authentication_RequestFromNonPremiumTenantOrB2CTenant` 错误,确认凭据和权限配置正确,但访问登录日志需要 Azure AD Premium P1/P2 许可。 ![403 响应](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e1dfb23f60015911.png) 在缺少高级许可的情况下,使用了模拟日志数据来演示检测逻辑和分析输出。 ## Azure 应用注册 ![应用注册](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/fbbaf4038e015912.png) ## 环境 - Python 3.x - Microsoft Graph API - Azure AD (免费层) - 包含 Windows Server 2022 DC 和 Windows 10 客户端的 VirtualBox 实验室环境 ## 展示技能 - Azure 应用注册和 API 权限配置 - OAuth 2.0 客户端凭据身份验证流程 - 用于安全日志分析的 Python 脚本编写 - 检测逻辑和告警关联 - 环境限制的专业文档编写 ## 相关实验室 该项目扩展了我的 [混合 Active Directory 实验室](https://github.com/tdt1114/hybrid-active-directory-lab) ## 备注 `config.py` 包含租户凭据,并通过 `.gitignore` 从此仓库中排除
标签:AMSI绕过, App Registration, Azure, Azure AD, Microsoft Graph API, OAuth 2.0, Python, 免杀技术, 威胁检测, 异常登录, 无后门, 暴力破解检测, 混合AD环境, 红队行动, 身份安全, 逆向工具, 非工作时间活动