AzurEnum是一款针对Azure的安全工具,在该工具的帮助下,广大研究人员可以轻松快速地枚举Microsoft Entra ID(Azure AD)。
该工具基于纯Python 3开发,可以在Windows和Linux系统上运行,但考虑到性能和稳定性,Linux是首选。我们无需担心AzurEnum会对环境执行某些更改,因为它所做的只是对Azure API执行只读查询。
随着时间的推移,组织不断将越来越多的IT资产转移到云中。更重要的是,Azure云在大多数公司的IT结构中发挥着至关重要的作用,因为它可以与预处理环境进行合并,从而构成混合的活动目录环境。混合环境之所以有吸引力,有很多原因,但同时也会增加另一层复杂性,并为攻击者提供了新的攻击面。为了加快对Azure环境的分析,AzurEnum便应运而生。
功能介绍
1、支持枚举常见信息,例如用户数量、组、应用程序、Entra ID许可证、租户ID等;
2、支持枚举常规安全设置,例如组创建、同意策略、访客访问等;
3、管理Entra ID角色;
4、PIM分配;
5、获取管理用户的同步状态;
6、获取管理用户的MFA状态;
7、获取管理组;
8、获取动态组;
9、获取位置命名;
10、获取条件访问策略;
11、获取对象属性中的凭证;
工具要求
1、Python 3;
2、msal Python库;
3、一个有效的Azure凭证集;
建议广大研究人员在Linux设备上运行和使用该工具。
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。接下来,广大研究人员可以使用下列方法来安装AzurEnum。
pip安装
pip3 install msal
源码安装
git clone https://github.com/SySS-Research/azurenum.git
工具使用
查看工具帮助信息:
python3 azurenum.py -h
将输出结果存储为txt和/或json格式:
python3 azurenum.py -o out.txt -j out.json
禁用颜色高亮显示:
python3 azurenum.py -nc
使用自定义User-Agent运行工具:
python3 azurenum.py -ua "My-UA"
使用ROPC身份认证(用户名&密码)运行工具:
python3 azurenum.py -u myuser@mytenant.com -p mypassword -t xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
读取带颜色高亮的文本输出(Linux支持):
less -r out.txt
工具运行截图
主界面
基本信息
常规设置
Entra ID角色
服务主体API权限
管理单元
动态组
位置命名和条件访问
设备概览
主体和组属性中的凭据搜索
许可证协议
本项目的开发与发布遵循MIT开源许可协议。
项目地址
AzurEnum:【GitHub传送门】
参考资料
Introducing AzurEnum | SySS Tech Blog