Real-Fruit-Snacks/Maelstrom

GitHub: Real-Fruit-Snacks/Maelstrom

一个整合 35+ AD 枚举模块的 NetExec 封装工具,通过单条命令实现多协议、多目标的全域信息收集与可视化输出。

Stars: 0 | Forks: 0

Maelstrom ![Python](https://img.shields.io/badge/language-Python-3776AB.svg) ![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows%20%7C%20macOS-lightgrey) ![License](https://img.shields.io/badge/license-MIT-blue.svg) **将 35+ 个 AD 枚举模块整合为单一命令的 NetExec 封装工具。** 通过子进程调用 NetExec 进行 SMB、LDAP、MSSQL、RDP、FTP、NFS 和 VNC 枚举,提供 Catppuccin Mocha 彩色输出、智能凭据处理、CIDR 范围多目标扫描,以及包含自动填充凭据的可操作后续步骤建议。零外部 Python 依赖。
## 快速开始 ``` # pipx(推荐) pipx install git+https://github.com/Real-Fruit-Snacks/Maelstrom.git # 或标准 pip pip install git+https://github.com/Real-Fruit-Snacks/Maelstrom.git ``` ``` # 匿名枚举(自动探测 null/guest 会话) maelstrom 10.0.0.1 # 单个凭据 -- 完整枚举 maelstrom 10.0.0.1 -u admin -p 'Password123' -d CORP # Pass-the-hash maelstrom 10.0.0.1 -u admin -H aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 # 多凭据 -- 比较访问级别 maelstrom 10.0.0.1 -C creds.txt -d CORP # 多目标 -- CIDR、范围或文件 maelstrom 10.0.0.0/24 -u admin -p 'Password123' # 仅特定模块 maelstrom 10.0.0.1 -u admin -p pass --shares --users --laps --mssql ``` 需要 Python 3.10+ 且 NetExec 在系统 PATH 中。 ## 功能 ### 35+ 枚举模块 用户、组、共享、LAPS、Kerberoastable、委派、ADCS、gMSA、GPP、PSO、SCCM 等。使用 `-A` 一次运行全部,或使用单独标志选择特定模块。覆盖 SMB、LDAP、MSSQL、RDP、FTP、NFS 和 VNC 协议。 ``` maelstrom 10.0.0.1 -u admin -p pass -A # All modules maelstrom 10.0.0.1 -u admin -p pass --kerberoast --delegation --adcs ``` ### 多目标扫描 CIDR 范围、IP 范围和目标文件。100 线程端口预扫描并行主机发现可在数秒内扫描 /24 网络。每个目标单独结果及聚合汇总。 ``` maelstrom 10.0.0.0/24 -u admin -p 'Password123' maelstrom targets.txt -u admin -p 'Password123' maelstrom 10.0.0.0/24 --discover-only # Live SMB hosts only ``` ### 多凭据模式 使用 `-C creds.txt` 测试多个凭据。可视化共享访问矩阵、管理员检测和跨用户访问对比。 ### 可操作的后续步骤 发现结果生成可立即运行的命令,自动填充您的凭据。按优先级排序,并对危险模块(如 secretsdump 和 ntlmrelayx)提供自动利用警告。 ### 代理模式 完整的 proxychains/SOCKS 支持。自动降低并发、增加超时并跳过不兼容的模块。通过 `LD_PRELOAD` 自动检测。 ### 复制粘贴输出 用户名、SPN、共享、计算机等的清晰逐行列表。使用 `-o` 或 `--copy-paste` 直接管道传输到其他工具或保存到文件。 ## 模块 | 模块 | 协议 | 描述 | |--------|----------|-------------| | Users | RPC | 域用户,包含内置/服务/域分类 | | Groups | RPC | 域组,高价值目标高亮显示及成员列表 | | Shares | SMB | 共享权限(多凭据模式下显示矩阵) | | LAPS | LDAP | LAPS 部署及密码读取权限 | | Kerberoastable | LDAP | 通过 LDAP 查询获取带 SPN 的账户 | | AS-REP Roastable | LDAP | 无需预认证的账户 | | Delegation | LDAP | 无约束/约束/RBCD 委派 | | ADCS | LDAP | 证书模板和证书颁发机构 | | gMSA | LDAP | 组托管服务账户枚举 | | GPP Password | SMB | 组策略首选项 cpassword 提取 | | PSO | LDAP | 细粒度密码策略 | | SCCM | LDAP | SCCM/MECM 基础设施发现 | | Computers | LDAP | 域计算机,包含操作系统及过时检测 | | Sessions | RPC | 活动 Windows 会话 [需管理员权限] | | AV/EDR | RPC | 已安装的安全产品 [需管理员权限] | | LDAP Signing | LDAP | 签名和通道绑定要求 | | SMB Signing | SMB | SMB 签名要求 | | MSSQL | MSSQL | 服务检测、身份验证测试、查询建议 | | RDP | RDP | RDP 状态和 NLA 要求 | | FTP | FTP | 匿名访问和凭据测试 | | NFS | NFS | NFS 导出和权限 | | VNC | VNC | VNC 服务检测(端口 5900-5903) | 此外还有:Local Groups、Spider、Policies、Logged On、Printers、BitLocker、DC List、AdminCount、PASSWD_NOTREQD、MAQ、WebDAV、DNS、Descriptions、Subnets、Network Interfaces、Disks、iOXID 和 Pre-2K Computers。 ## 架构 ``` maelstrom/ maelstrom/ cli/ args.py # Argument parsing (70+ flags) main.py # Orchestration, module dispatch core/ colors.py # Catppuccin Mocha terminal colors constants.py # Regex patterns, thread pool sizes output.py # Buffered output system parallel.py # ThreadPoolExecutor module runner runner.py # NetExec subprocess execution enums/ # 35+ enumeration modules models/ # EnumCache, Credential, results parsing/ # NXC output parsers reporting/ # Summary, next steps, share matrix validation/ # Credential and anonymous validation tests/ # 249 tests ``` 执行分阶段进行:端口预扫描(100 线程)、SMB 验证、身份验证探测、缓存预热(7 个并行查询)、顺序域情报收集,然后通过 ThreadPoolExecutor 使用 15 个工作线程运行 36 个独立模块。代理模式降至 2 个工作线程。 | 层级 | 技术 | |-------|------------| | 语言 | Python 3.10+(零外部依赖) | | 引擎 | 通过 subprocess 调用 NetExec (nxc) | | 并行 | ThreadPoolExecutor(标准库) | | 颜色 | Catppuccin Mocha(24 位真彩色) | | 测试 | pytest(249 个测试) | | 格式化 | Black、isort、flake8 | ## 命令参考 | 类别 | 标志 | 描述 | |----------|-------|-------------| | 目标 | `TARGET` | IP、主机名、CIDR、范围或目标文件 | | 身份验证 | `-u -p -H -d` | 用户名、密码、NTLM 哈希、域 | | Kerberos | `-k --use-kcache --aesKey` | Kerberos 身份验证、ccache、AES 密钥 | | 多凭据 | `-C -U -P` | 凭据文件及喷射控制 | | 模块 | `-A --shares --users --laps` | 选择特定模块或全部模块 | | 协议 | `--mssql --rdp --ftp --nfs` | 额外协议枚举 | | 输出 | `-o -j --copy-paste` | 文件输出、JSON、复制粘贴列表 | | 行为 | `--proxy-mode --debug --timeout` | 运行时行为控制 | ## 平台支持 | 功能 | Linux | macOS | Windows | |------------|-------|-------|--------- | 完整枚举 | 完整 | 完整 | 完整 | | 多目标扫描 | 完整 | 完整 | 完整 | | 多凭据模式 | 完整 | 完整 | 完整 | | 代理模式 | 完整 | 完整 | 有限 | | Kerberos 身份验证 | 完整 | 完整 | 完整 | | 基于证书的身份验证 | 完整 | 完整 | 完整 | ## 安全 通过 [SECURITY.md](SECURITY.md) 或 GitHub Security Advisories 报告漏洞。请勿就安全问题公开提交 issue。 Maelstrom 是一个**只读枚举封装工具**。它**不会**: - 在目标系统上执行命令 - 请求 Kerberos TGS 票据(仅通过 LDAP 识别 SPN) - 执行中继攻击(仅识别机会) - 管理植入物、横向移动或信标 输出文件创建时权限为 0o600。后续步骤会对自动利用的命令(如 secretsdump、ntlmrelayx)进行明确警告。 ## 许可证 [MIT](
标签:ActiveDirectory, AD枚举, CIDR扫描, CISA项目, GitHub, LAPS, LDAP枚举, NetExec, Pass-the-Hash, PE 加载器, Python, RDP, SMB枚举, StruQ, XXE攻击, 云原生安全, 云存储安全, 凭证收集, 匿名枚举, 协议分析, 后渗透测试, 域名收集, 多目标扫描, 安全规则引擎, 实时处理, 密码管理, 恶意行为检测, 无后门, 无线安全, 权限提升, 横向移动, 编程规范, 网络安全, 网络扫描, 隐私保护