Az - PTA - Pass-through Authentication

Support HackTricks

Basic Information

From the docs: Azure Active Directory (Azure AD) Pass-through Authentication은 사용자가 온프레미스 및 클라우드 기반 애플리케이션에 동일한 비밀번호를 사용하여 로그인할 수 있도록 합니다. 이 기능은 사용자가 기억해야 할 비밀번호를 줄여 더 나은 경험을 제공하며, 사용자가 로그인 방법을 잊어버릴 가능성이 줄어들어 IT 헬프데스크 비용을 절감합니다. 사용자가 Azure AD를 사용하여 로그인할 때, 이 기능은 온프레미스 Active Directory에 대해 사용자의 비밀번호를 직접 검증합니다.

PTA에서는 아이덴티티동기화되지만 비밀번호는 PHS와 달리 동기화되지 않습니다.

인증은 온프레미스 AD에서 검증되며, 클라우드와의 통신은 온프레미스 서버에서 실행되는 인증 에이전트에 의해 이루어집니다(온프레미스 DC에 있을 필요는 없습니다).

Authentication flow

  1. 사용자는 로그인을 위해 Azure AD로 리디렉션되며, 여기서 사용자 이름비밀번호를 보냅니다.

  2. 자격 증명암호화되어 Azure AD의 에 설정됩니다.

  3. 온프레미스 인증 에이전트가 큐에서 자격 증명을 수집하고 복호화합니다. 이 에이전트를 "Pass-through authentication agent" 또는 PTA agent라고 합니다.

  4. 에이전트온프레미스 AD에 대해 자격 증명을 검증하고, 긍정적인 응답이 있을 경우 사용자의 로그인을 완료하기 위해 Azure AD에 응답전송합니다.

공격자가 PTA타협하면 큐에서 모든 자격 증명평문으로 볼 수 있습니다. 그는 또한 AzureAD에 대해 모든 자격 증명검증할 수 있습니다(스켈레톤 키와 유사한 공격).

On-Prem -> cloud

PTA 에이전트가 실행 중인 Azure AD Connect 서버관리자 액세스가 있는 경우, AADInternals 모듈을 사용하여 모든 비밀번호유효한 인증을 위해 검증되도록 백도어삽입할 수 있습니다:

Install-AADIntPTASpy

설치가 실패하는 경우, 이는 아마도 누락된 Microsoft Visual C++ 2015 Redistributables 때문일 것입니다.

이전 백도어가 설치된 머신에서 다음 cmdlet을 사용하여 PTA 에이전트에 전송된 평문 비밀번호를 볼 수 있습니다:

Get-AADIntPTASpyLog -DecodePasswords

이 백도어는 다음을 수행합니다:

  • 숨겨진 폴더 C:\PTASpy를 생성합니다.

  • PTASpy.dllC:\PTASpy에 복사합니다.

  • PTASpy.dllAzureADConnectAuthenticationAgentService 프로세스에 주입합니다.

AzureADConnectAuthenticationAgent 서비스가 재시작되면 PTASpy는 “언로드”되며 다시 설치해야 합니다.

클라우드 -> 온프레미스

클라우드에서 GA 권한을 얻은 후, 공격자가 제어하는 머신에 설정하여 새 PTA 에이전트등록할 수 있습니다. 에이전트가 설정되면, 이전 단계를 반복하여 모든 비밀번호를 사용하여 인증하고, 비밀번호를 평문으로 가져올 수 있습니다.

원활한 SSO

PTA와 함께 원활한 SSO를 사용할 수 있으며, 이는 다른 남용에 취약합니다. 확인해 보세요:

참고자료

HackTricks 지원하기

Last updated