Az - Seamless SSO
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
From the docs: Azure Active Directory Seamless Single Sign-On (Azure AD Seamless SSO)는 사용자가 회사 네트워크에 연결된 회사 장치에서 있을 때 자동으로 로그인합니다. 활성화되면, 사용자는 Azure AD에 로그인하기 위해 비밀번호를 입력할 필요가 없으며, 일반적으로 사용자 이름도 입력할 필요가 없습니다. 이 기능은 사용자가 추가적인 온프레미스 구성 요소 없이 클라우드 기반 애플리케이션에 쉽게 접근할 수 있도록 합니다.
기본적으로 Azure AD Seamless SSO는 온프레미스 도메인에 가입된 PC에서 사용자를 로그인합니다.
이는 PHS (Password Hash Sync)와 PTA (Pass-through Authentication) 모두에서 지원됩니다.
데스크탑 SSO는 인증을 위해 Kerberos를 사용합니다. 구성되면, Azure AD Connect는 온프레미스 AD에 AZUREADSSOACC$
라는 컴퓨터 계정을 생성합니다. AZUREADSSOACC$
계정의 비밀번호는 구성 중에 Azure AD에 평문으로 전송됩니다.
Kerberos 티켓은 비밀번호의 **NTHash (MD4)**를 사용하여 암호화되며, Azure AD는 전송된 비밀번호를 사용하여 티켓을 복호화합니다.
Azure AD는 Kerberos 티켓을 수락하는 엔드포인트(https://autologon.microsoftazuread-sso.com)를 노출합니다. 도메인에 가입된 머신의 브라우저는 SSO를 위해 이 엔드포인트로 티켓을 전달합니다.
사용자 AZUREADSSOACC$
의 비밀번호는 절대 변경되지 않습니다. 따라서 도메인 관리자는 이 계정의 해시를 손상시킬 수 있으며, 이를 사용하여 은 티켓을 생성하여 동기화된 모든 온프레미스 사용자로 Azure에 연결할 수 있습니다.
해시를 사용하여 이제 실버 티켓을 생성할 수 있습니다:
To utilize the silver ticket, the following steps should be executed:
브라우저 시작: Mozilla Firefox를 실행해야 합니다.
브라우저 구성:
**about:config
**로 이동합니다.
network.negotiate-auth.trusted-uris의 기본 설정을 지정된 값으로 설정합니다:
https://aadg.windows.net.nsatc.net
https://autologon.microsoftazuread-sso.com
웹 애플리케이션 접근:
조직의 AAD 도메인과 통합된 웹 애플리케이션을 방문합니다. 일반적인 예로는 Office 365가 있습니다.
인증 과정:
로그인 화면에서 사용자 이름을 입력하고 비밀번호 필드는 비워둡니다.
진행하려면 TAB 또는 ENTER를 누릅니다.
이것은 MFA가 활성화된 경우 우회하지 않습니다.
이 공격은 dcsync 공격 없이 수행할 수도 있습니다. 이는 이 블로그 게시물에서 설명된 바와 같이 더 은밀하게 진행할 수 있습니다. 이를 위해 다음 중 하나만 필요합니다:
골든 티켓: KRBTGT 키가 있다면 공격받는 사용자에게 필요한 TGT를 생성할 수 있습니다.
손상된 사용자의 NTLM 해시 또는 AES 키: SeamlessPass는 이 정보를 사용하여 도메인 컨트롤러와 통신하여 TGT를 생성합니다.
AZUREADSSOACC$ 계정 NTLM 해시 또는 AES 키: 이 정보와 공격할 사용자의 보안 식별자(SID)를 사용하여 서비스 티켓을 생성하고 클라우드에 인증할 수 있습니다(이전 방법에서 수행된 대로).
마지막으로, TGT를 사용하여 SeamlessPass 도구를 사용할 수 있습니다:
Firefox를 원활한 SSO와 함께 작동하도록 설정하는 추가 정보는 이 블로그 게시물에서 확인할 수 있습니다.
Active Directory 관리자가 Azure AD Connect에 접근할 수 있다면, 클라우드 사용자에 대한 SID를 설정할 수 있습니다. 이렇게 하면 Kerberos 티켓이 클라우드 전용 사용자에 대해서도 생성될 수 있습니다. 유일한 요구 사항은 SID가 적절한 SID여야 한다는 것입니다.
클라우드 전용 관리자 사용자의 SID 변경은 현재 Microsoft에 의해 차단되었습니다. 자세한 정보는 https://aadinternals.com/post/on-prem_admin/를 확인하세요.
이 계정이 있는 컨테이너 또는 OU에서 컴퓨터 계정(AZUREADSSOACC$
)을 관리할 수 있는 사람은 계정에 대한 리소스 기반 제약 위임을 구성하고 접근할 수 있습니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)