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:
Initiate the Browser: Mozilla Firefox should be launched.
Configure the Browser:
Navigate to about:config
.
Set the preference for network.negotiate-auth.trusted-uris to the specified values:
https://aadg.windows.net.nsatc.net
https://autologon.microsoftazuread-sso.com
Access the Web Application:
Visit a web application that is integrated with the organization's AAD domain. A common example is Office 365.
Authentication Process:
At the logon screen, the username should be entered, leaving the password field blank.
To proceed, press either TAB or ENTER.
이것은 MFA가 활성화된 경우 우회하지 않습니다
It's also possible to perform this attack without a dcsync attack to be more stealth as explained in this blog post. For that you only need one of the following:
Golden Ticket: If you have the KRBTGT key, you can create the TGT you need for the attacked user.
A compromised user’s NTLM hash or AES key: SeamlessPass will communicate with the domain controller with this information to generate the TGT
AZUREADSSOACC$ account NTLM hash or AES key: With this info and the user’s Security Identifier (SID) to attack it's possible to create a service ticket an authenticate with the cloud (as performed in the previous method).
Finally, with the TGT it's possible to use the tool SeamlessPass with:
Firefox를 원활한 SSO와 함께 작동하도록 설정하는 추가 정보는 이 블로그 게시물에서 확인할 수 있습니다.
Active Directory 관리자가 Azure AD Connect에 접근할 수 있다면, 클라우드 사용자에 대한 SID를 설정할 수 있습니다. 이렇게 하면 Kerberos 티켓이 클라우드 전용 사용자에 대해서도 생성될 수 있습니다. 유일한 요구 사항은 SID가 적절한 SID여야 한다는 것입니다.
클라우드 전용 관리자 사용자의 SID 변경은 현재 Microsoft에 의해 차단되었습니다. 자세한 정보는 https://aadinternals.com/post/on-prem_admin/를 확인하세요.
이 계정이 있는 컨테이너 또는 OU에서 컴퓨터 계정을 관리할 수 있는 사람은 계정에 대한 리소스 기반 제약 위임을 구성하고 접근할 수 있습니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)