Az - PTA - Pass-through Authentication

学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)

支持 HackTricks

基本信息

来自文档: Azure Active Directory (Azure AD) 透传身份验证允许您的用户使用相同的密码登录本地和基于云的应用程序。此功能为您的用户提供了更好的体验——记住的密码少了一项,并且减少了 IT 帮助台的成本,因为您的用户不太可能忘记如何登录。当用户使用 Azure AD 登录时,此功能直接验证用户的密码与您的本地 Active Directory

在 PTA 中,身份同步的,但密码****不是,与 PHS 不同。

身份验证在本地 AD 中进行验证,与云的通信由在本地服务器上运行的身份验证代理完成(它不需要在本地 DC 上)。

身份验证流程

  1. 为了登录,用户被重定向到Azure AD,在这里他发送用户名密码

  2. 凭据加密并放入 Azure AD 中的队列

  3. 本地身份验证代理从队列中收集凭据解密它们。此代理称为**“透传身份验证代理”PTA 代理**。

  4. 代理将凭据与本地 AD进行验证,并将响应****返回给 Azure AD,如果响应为正,完成用户的登录

如果攻击者破坏PTA,他可以查看队列中的所有凭据(以明文形式)。 他还可以验证任何凭据到 AzureAD(类似于 Skeleton key 的攻击)。

本地 -> 云

如果您对运行PTA 代理Azure AD Connect 服务器具有管理员访问权限,您可以使用AADInternals模块插入后门,这将验证所有输入的密码(因此所有密码都将有效进行身份验证):

Install-AADIntPTASpy

如果安装失败,这可能是由于缺少 Microsoft Visual C++ 2015 Redistributables

还可以使用以下 cmdlet 在安装了之前后门的机器上查看发送到 PTA 代理的明文密码

Get-AADIntPTASpyLog -DecodePasswords

This backdoor will:

  • 创建一个隐藏文件夹 C:\PTASpy

  • 复制 PTASpy.dllC:\PTASpy

  • PTASpy.dll 注入到 AzureADConnectAuthenticationAgentService 进程中

当 AzureADConnectAuthenticationAgent 服务被重启时,PTASpy 会被“卸载”,必须重新安装。

Cloud -> On-Prem

在云端获得 GA 权限 后,可以通过在 攻击者控制的机器 上设置 注册一个新的 PTA 代理。一旦代理 设置完成,我们可以 重复 之前 的步骤来 使用任何密码进行身份验证,并且 获取明文密码

Seamless SSO

可以使用 Seamless SSO 与 PTA,这对其他滥用行为是脆弱的。请查看:

Az - Seamless SSO

References

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Last updated