AzSubEnum 是一款专为 Azure 服务量身定制的子域名枚举工具。该工具旨在细致地搜索并识别与各类 Azure 服务相关联的子域名。通过结合多种技术与查询方式,AzSubEnum 深入 Azure 域名结构,系统性地探测并收集与各类 Azure 服务相关的子域名。
AzSubEnum 通过利用 DNS 解析技术和系统化的排列方法来揭示与 Azure 服务(如 Azure 应用服务、存储账户、Azure 数据库(包括 MSSQL、Cosmos DB 和 Redis)、Key Vault、CDN、电子邮件、SharePoint、Azure 容器注册表等)相关联的子域名。其功能还扩展到全面扫描不同的 Azure 服务域名,以识别相关联的子域名。
借助此工具,用户可以在 Azure 环境中进行彻底的子域名枚举,帮助安全专业人员、研究人员和管理员深入了解 Azure 服务的广阔版图及其对应的子域名。
在学习 Azure AD 利用的过程中,我发现 NetSPI 的 Azure 子域名工具 Invoke-EnumerateAzureSubDomains 无法在我的 Debian PowerShell 上运行。因此,我用 Python 创建了该工具的一个简易实现。
➜ AzSubEnum git:(main) ✗ python3 azsubenum.py --help
usage: azsubenum.py [-h] -b BASE [-v] [-t THREADS] [-p PERMUTATIONS]
[--blobsenum] [-bw BLOB_WORDLIST] [-bt BLOB_THREADS]
Azure Subdomain Enumeration and Blob Container Access Checker
options:
-h, --help show this help message and exit
-b BASE, --base BASE Base name to use
-v, --verbose Show verbose output
-t THREADS, --threads THREADS
Number of threads for concurrent execution
-p PERMUTATIONS, --permutations PERMUTATIONS
File containing permutations
--blobsenum Perform blob container enumeration
-bw BLOB_WORDLIST, --blob-wordlist BLOB_WORDLIST
Path to a custom wordlist file for blob container
enumeration
-bt BLOB_THREADS, --blob-threads BLOB_THREADS
Number of threads to use for blob container
enumeration
基本枚举:
python3 azsubenum.py -b retailcorp --threads 10
使用排列字典:
python3 azsubenum.py -b retailcorp --threads 10 --permutations permutations.txt
带详细输出:
python3 azsubenum.py -b retailcorp --threads 10 --permutations permutations.txt --verbose
Blob 容器枚举:
python3 azsubenum.py -b retailcorp --threads 10 --blobsenum
python3 azsubenum.py -b retailcorp --threads 10 --blobsenum -bt 10
python3 azsubenum.py -b retailcorp --threads 10 --blobsenum --blob-wordlist custom_wordlist.txt --blob-threads 10

你对如何改进这个工具有什么想法吗?一起来贡献吧!
BSD-3-Clause。可自由使用、修改和再分发(包括商业用途),前提是保留版权声明。参见 LICENSE。基于 NetSPI/MicroBurst(BSD-3-Clause)。
与本工具所含材料相关的任何操作和/或活动均由你自行承担责任。滥用本工具中的信息可能导致相关人员面临刑事指控。