Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
azure-security-auditor — 用于审计 Azure 安全态势、RBAC、NSG、存储、身份和加密的 CLI 工具 | Kitploit
工具/GitHubGitHub/neelkotnis/azure-security-auditor
云基础设施安全防御工具配置审计网络安全云安全DevSecOps身份与访问管理 (IAM)错误配置
GitHubneelkotnis/azure-security-auditor

azure-security-auditor

用于审计 Azure 安全态势、RBAC、NSG、存储、身份和加密的 CLI 工具

查看仓库
121天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Azure Security Posture Auditor

一款轻量级、生产级风格的 CLI 工具,用于审计 Azure 安全配置并暴露常见错误配置 — 复现 Microsoft Defender for Cloud 在内部执行的检查。

检查

ID类别检查项严重程度
AZ-001RBAC在订阅范围内分配了 Owner / Contributor 角色CRITICAL
AZ-002RBAC在资源组范围内分配了 Owner / Contributor 角色HIGH
AZ-003网络包含 0.0.0.0/0 入站允许规则的 NSGHIGH
AZ-004存储启用公共 Blob 访问的存储帐户HIGH
AZ-005身份未注册 MFA 的 Entra ID 用户HIGH
AZ-006身份具有 Owner / Contributor 权限的服务主体HIGH
AZ-007加密缺少显式加密配置的托管磁盘MEDIUM
AZ-008加密无防火墙限制、暴露于公共网络的 Key VaultHIGH
AZ-009监控活动日志保留时间低于 90 天MEDIUM
AZ-010监控Microsoft Defender for Cloud 未在关键资源类型上启用HIGH
AZ-011监控未启用诊断日志记录的 Key VaultMEDIUM
AZ-012计算直接附加了公共 IP 的虚拟机MEDIUM
AZ-013计算未安装终结点保护扩展的虚拟机MEDIUM
AZ-014计算未启用 Azure 磁盘加密(ADE)的虚拟机 OS 磁盘MEDIUM
AZ-015网络RDP 端口 3389 通过 NSG 暴露到互联网CRITICAL
AZ-016网络SSH 端口 22 通过 NSG 暴露到互联网CRITICAL
AZ-017存储允许非 HTTPS 流量的存储帐户HIGH
AZ-018存储允许旧版 TLS 版本(低于 1.2)的存储帐户MEDIUM
AZ-019身份Entra ID 租户中存在来宾用户帐户LOW
AZ-020加密缺少软删除或清除保护的 Key VaultMEDIUM

要求

  • Python 3.10+
  • 已配置 Azure 凭据 — 以下任一方式:
    • az login(Azure CLI)
    • 环境变量:AZURE_CLIENT_ID、AZURE_CLIENT_SECRET、AZURE_TENANT_ID
    • 托管标识(在 Azure 上运行时)
  • 所需的 Azure RBAC 权限:订阅上的 Reader 角色
  • 所需的 Microsoft Graph 权限(用于 AZ-005、AZ-006、AZ-019):
    • UserAuthenticationMethod.Read.All
    • Application.Read.All

如果 Graph API 权限不可用,身份检查(AZ-005、AZ-019)会被优雅跳过 — 审计其余部分不受影响地继续运行。

安装

root@kitploit:~
pip install -e .

用法

root@kitploit:~
# Full audit — all checks, all severities
azure-auditor

# Target a specific subscription
azure-auditor --subscription <subscription-id>

# Show only HIGH and CRITICAL findings
azure-auditor --severity HIGH

# Save JSON report to a specific directory
azure-auditor --output-dir ./reports

# Terminal output only
azure-auditor --no-json

# Verbose logging
azure-auditor --verbose

或者无需安装:

root@kitploit:~
PYTHONPATH=src python -m azure_security_auditor.cli --subscription <id>

输出

终端 — 使用 Rich 格式化的表格,按严重程度排序(CRITICAL 优先):

root@kitploit:~
╭──────────────────────────────────────────────────────────────────╮
│                    Azure Security Posture Audit                   │
│  Subscription:  My Production Subscription                        │
│  ID:            xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx             │
│  Run at:        2026-07-12T10:00:00Z                              │
│  Findings:      12 total  (2 CRITICAL  6 HIGH  4 MEDIUM  0 LOW)  │
╰──────────────────────────────────────────────────────────────────╯

 Severity    Check ID  Check                                     Resource         Detail
 ✖ CRITICAL  AZ-015    RDP Port 3389 Exposed to Internet...      /subscriptions/. ...
 ✖ CRITICAL  AZ-001    Owner Role Assigned at Subscription...    <principal-id>   ...
 ■ HIGH      AZ-010    Defender for Cloud Not Enabled — VMs      /subscriptions/. ...
 ...

JSON — 写入到 reports/azure_audit_<subscription>_<timestamp>.json。

项目结构

root@kitploit:~
src/
  azure_security_auditor/
    cli.py                      # argparse entrypoint
    engine.py                   # ThreadPoolExecutor orchestrator
    models.py                   # Finding, AuditResult, Severity
    checks/
      rbac.py                   # AZ-001, AZ-002
      network.py                # AZ-003, AZ-015, AZ-016
      storage.py                # AZ-004, AZ-017, AZ-018
      identity.py               # AZ-005, AZ-019
      service_principals.py     # AZ-006
      encryption.py             # AZ-007, AZ-008, AZ-020
      monitoring.py             # AZ-009, AZ-010, AZ-011
      compute.py                # AZ-012, AZ-013, AZ-014
    reporters/
      terminal.py               # Rich table output
      json_reporter.py          # JSON file output

身份验证

使用 DefaultAzureCredential — 按以下顺序尝试:

  1. 环境变量(AZURE_CLIENT_ID、AZURE_CLIENT_SECRET、AZURE_TENANT_ID)
  2. Azure CLI(az login)
  3. 托管标识

CI/CD(服务主体)

root@kitploit:~
export AZURE_CLIENT_ID="<app-id>"
export AZURE_CLIENT_SECRET="<secret>"
export AZURE_TENANT_ID="<tenant-id>"
azure-auditor --subscription <subscription-id>
下载工具