无需认证即可探测Microsoft账户全部认证方式

admin 2026-07-03 06:35:03 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: CredSpy是一款开源工具,可无需认证枚举Microsoft账户的认证方式,包括密码、无密码推送、FIDO2和证书认证。它利用微软公开的GetCredentialTypeAPI,帮助红队在攻击前了解目标认证方式以策划精准钓鱼,同时防御者可用于自查和加强防护。工具安装简单,支持批量检测和CSV导出,但仅限授权安全测试使用。 综合评分: 86 文章分类: 渗透测试,红队,内网渗透,安全工具,漏洞分析


cover_image

无需认证即可探测Microsoft账户全部认证方式

原创

Red Hunter Red Hunter

黑白之道

2026年7月2日 08:43 韩国

在小说阅读器读本章

去阅读

导语:做红队或渗透测试,最怕的是什么?不是拿不下目标,而是连目标的情报都没摸清——特别是,当你要针对的是Microsoft 365(Entra ID)环境时,如果不知道目标用户用的是什么认证方式,你的钓鱼邮件可能从一开始就打偏了。现在,一个叫CredSpy的工具解决了这个问题——而且,它完全免费、开源、还不需要任何认证


一、工具背景:为什么需要它?

2026年7月1日,安全研究人员RedByte1337在社交媒体上宣布开源了一款名为CredSpy的全新工具。

这款工具的诞生原因很简单:在此之前,市面上没有任何工具能够对Microsoft账户进行无认证的认证方式枚举

RedByte1337的原话是:

“Couldn’t find any tools that allowed unauthenticated enumeration of auth methods for Microsoft accounts, so I created it.”

(找不到任何工具能对微软账户进行无认证的认证方式枚举,所以我自己写了一个。)

这个工具利用的是微软登录页面在用户输入用户名时调用的同一个公开API——GetCredentialType API。与大多数使用该API的工具不同,CredSpy还能显示已有账户支持的全部认证方式,而不只是判断账户是否存在。


二、核心功能:你能挖到什么情报?

CredSpy能够探测以下关键信息:

| 认证类型 | 说明 | | — | — | | Password(密码) | 传统密码认证 | | RemoteNGC(无密码推送) | 即”密码less Push Notification”,通过手机APP推送确认登录 | | FIDO2 / Passkeys(通行密钥) | 基于硬件/平台的身份验证,如Windows Hello、安全密钥 | | Certificate Auth(证书认证) | 基于客户端证书的认证方式,通常用于企业环境 |

工具还会显示:

  • 首选认证方式:该用户登录时默认使用的认证方法
  • FIDO密钥数量:在FIDO认证中,返回的AllowList里有多少个已注册的密钥(注意:这也可能包含已删除但未解绑的密钥)

输出示例

[email protected] | Preferred: Fido (7) | Supported: Password, RemoteNGC (PushNotification), Fido (Count: 3)
[email protected] | IfExistsResult: NotExist (1)
[email protected] | Preferred: Password (1) | Supported: Password, RemoteNGC (PushNotification)
[email protected] | Preferred: RemoteNGC (2) | Supported: Password, RemoteNGC (PushNotification)
[email protected] | Preferred: Fido (7) | Supported: Password, Fido (Count: 5), Certificate


三、技术原理:它是怎么工作的?

CredSpy的技术实现非常简洁,整个攻击链分为三步:

第一步:获取会话上下文(sCtx)

  • 从Microsoft OAuth授权页面抓取一个有效的会话上下文

第二步:调用GetCredentialType API

  • login.microsoftonline.com/common/GetCredentialType POST目标用户名
  • 这个API正是微软登录页在你输入邮箱后调用的同一个接口

第三步:解析凭证标志

  • 解析返回的凭证标志位
  • 打印或导出结果

整个过程无需任何认证,利用的是微软登录页面本身的公开接口——和微软自己的登录框用的是同一套东西。


四、安全评估价值:为什么这个工具值得关注?

4.1 红队与渗透测试

在发起针对Microsoft 365环境的攻击之前,了解目标的认证方式至关重要:

  • 如果目标用户主要使用Passkeys/FIDO2,传统的密码钓鱼效果会大打折扣
  • 如果目标使用RemoteNGC(无密码推送),则需要针对这种认证流程设计专门的劫持方案
  • 如果目标使用证书认证,说明这是一个管理更严格的企业环境,可能有更严格的安全策略

CredSpy让红队能够在攻击前精确了解”该钓谁”、”用什么方式钓”。

4.2 防御者的视角

对于防御者来说,这个工具同样有价值:

  • 自查:定期检测组织内哪些账户还在使用弱密码认证
  • 安全评估:了解攻击者能看到什么,从而加强相应的防护措施
  • 用户教育:让用户认识到哪些认证方式是更安全的

五、工具获取与使用

5.1 安装方式

pipx(推荐)

# 安装pipx(如果没有)
apt install pipx
pipx ensurepath

# 从PyPI安装(推荐)
pipx install credspy

# 或从GitHub安装
pipx install git+https://github.com/RedByte1337/CredSpy.git

pip

pip install .
# 或不安装直接运行
pip install -r requirements.txt
python credspy.py ...

5.2 基本使用

# 单个邮箱
credspy [email protected]

# 批量检测(文件格式:每行一个邮箱,#开头为注释)
credspy emails.txt

# 通过代理(用于MITM工具)
credspy emails.txt --proxy http://127.0.0.1:8080

# 导出CSV
credspy emails.txt --csv results.csv

# 筛选输出
credspy emails.txt \
  --save-existing existing.txt \
  --save-ngc ngc.txt \
  --save-password-preferred password-preferred.txt

5.3 GitHub仓库

项目地址:RedByte1337/CredSpy


六、总结

CredSpy的发布,填补了Microsoft账户无认证枚举领域的一个空白。它让安全研究人员和红队能够在不触碰目标系统的情况下,快速摸清目标用户的认证方式分布——这对于精准钓鱼攻击的策划至关重要。

但请记住:该工具仅供授权安全测试和研究使用。未经授权对他人账户进行枚举测试是违法行为。


版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。


👇 点击阅读原文,访问我的网站



免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:黑白之道 Red Hunter Red Hunter《无需认证即可探测Microsoft账户全部认证方式》

评论:0   参与:  0