CredMaster Cheatsheet
合作作者:Adam Rose & Martin Pearson || 审核:Alyssa Snow
本博客是《攻击工具速查表:信息安全生存指南资源》的一部分。您可以通过以下链接了解更多信息并找到所有速查表:https://www.blackhillsinfosec.com/offensive-tooling-cheatsheets/
重要提示!8月13日更新:本文发布后,BHIS了解到AWS的渗透测试客户服务政策禁止在渗透测试中使用API Gateway。CredMaster广泛使用API Gateway进行IP地址轮换。即使获得授权,使用CredMaster进行渗透测试也可能导致您的AWS账户被封禁或面临法律诉讼。BHIS对违反亚马逊政策或使用CredMaster造成的后果不承担任何责任。使用风险自负!
CredMaster速查表:可打印PDF版本 工具地址:https://github.com/knavesec/CredMaster
CredMaster是一款针对常见目标进行密码猜测攻击的工具,具有规避和反检测能力,使用AWS API为每次猜测轮换IP地址。
前置要求
CredMaster需要AWS订阅。创建账户并生成AWS访问密钥和秘密访问密钥(需要信用卡并可能产生费用)。
出于安全和易用性考虑,将密钥导出为环境变量:
|
|
现在可以通过在变量名前加美元符号($)来引用这些环境变量:
|
|
安装步骤
确保已安装Python 3:
|
|
克隆仓库:
|
|
设置并激活Python虚拟环境,安装依赖:
|
|
插件
CredMaster通过插件支持针对各种认证提供者和目标的密码猜测攻击。以下是我们常用插件的简要概述:
插件名称 | 描述 |
---|---|
o365enum | 从可能的电子邮件/用户名列表中枚举有效的O365/Microsoft Online用户。不进行认证尝试。 |
msgraph | 通过Graph API认证到Microsoft Online实例。有时可用作Entra ID条件访问绕过。 |
azuresso | 认证到Entra ID(Microsoft Azure Active Directory)。需要使用--domain 传入租户域名。 |
msol | 认证到Microsoft Online和托管的O365实例。基本上等同于使用login.microsoftonline.com。 |
okta | 认证到目标组织的Okta登录门户。需要--url 标志。 |
gmailenum | 从可能的电子邮件列表中枚举有效的GSuite用户。不进行认证尝试。 |
fortinetvpn | 认证到Fortinet VPN实例。需要--url 标志指定目标登录门户。 |
操作技巧
没有两个组织是相同的,不同的目标需要不同的操作考虑。CredMaster具有许多自定义功能,以适应每个项目的独特目标。以下是我们经常使用的一些最有用的命令行选项:
标志 | 描述 |
---|---|
-t, –threads | 设置同时请求的数量。CredMaster将为每个线程在不同区域启动AWS API Gateway。 |
-d, –delay | 设置密码猜测波次之间的延迟(分钟)。设置此选项对于避免锁定合法用户至关重要。 |
–passwordsperdelay | 设置每个延迟周期中每个用户的认证尝试次数。设置此选项对于避免锁定合法用户至关重要。 |
–region | 设置将创建API Gateway的AWS区域。将其设置为目标组织用户所在的区域有时有助于避免检测。 |
-j, –jitter | 设置每个线程在密码猜测之间的最大延迟秒数。 |
-m, –jitter_min | 设置每个线程的最小延迟秒数。 |
–weekday_warrior | 通过传入目标组织的本地UTC时区偏移,将密码猜测波次限制在上午7点、11点和下午3点。这有助于使密码猜测与合法用户登录混在一起。 |
–clean | 销毁所有AWS API。在项目结束后运行以避免昂贵的AWS账单很重要。 |
示例命令和基本用法
基本命令语法
|
|
O365用户枚举
|
|
Microsoft Online凭据填充攻击(带抖动)
|
|
Microsoft Online密码喷洒攻击(带抖动,波次间隔90分钟)
|
|
Entra ID/Azure SSO密码喷洒(带抖动,波次间隔90分钟)
|
|