언어:
Microsoft Entra 테넌트는 외부 도메인과 페더레이션하여 다른 도메인과의 트러스트를 설정해 인증과 권한 부여에 이용할 수 있습니다. 조직에서는 페더레이션을 사용해 Active Directory 사용자에 대한 인증을 조직의 온프레미스 Active Directory Federation Services (AD FS)에 위임합니다. (참고: 여기에서 외부 도메인은 Active Directory "도메인"이 아닙니다.) 하지만 자신의 페더레이션 도메인을 추가하거나 기존 항목을 편집하여 자체 설정을 포함한 이차적인 구성을 추가하여 악성 행위자가 Microsoft Entra ID에서 상승된 권한을 얻으면 이 페더레이션 방식을 악용해 백도어를 만들 수 있습니다. 이러한 공격이 발생하면 다음과 같은 작업이 가능해집니다.
이 위험 노출 지표는 AADInternals 해킹 도구 키트가 만드는 페더레이션 도메인 백도어를 탐지합니다. 특히 만들거나 변환한 백도어 도메인의 일부 특징에 따라 ConvertTo-AADIntBackdoor
및 New-AADIntBackdoor
cmdlet을 탐지할 수 있습니다.
악성 페더레이션 도메인에서 공격당한 Microsoft Entra ID로 인증 증거를 운송하는 이 페더레이션 프로토콜은 WS-Federation 또는 SAML일 수도 있습니다. SAML을 사용하는 경우, 공격이 "Golden SAML" 공격과 비슷한 형태이며 다음과 같은 중요한 차이점이 있습니다.
microsoft.directory/domains/federation/update
권한이 페더레이션 도메인을 수정할 능력을 부여합니다. 2023년 1월 현재, 잠재적인 사용자 지정 역할 외에 이 권한을 가진 기본 제공 Microsoft Entra 역할은 다음과 같습니다.
APT29 위협 그룹이 2020년 12월에 SolarWinds를 상대로 감행한 악명높은 "Solorigate" 공격이 이 방식을 악용했습니다. 이에 관한 자세한 내용은 Microsoft 및 Mandiant에서 문서화했습니다.
이와 같은 조사 결과는 공격자의 잠재적인 백도어일 가능성을 나타냅니다. 공격으로 의심되는 사례를 확인하려면 포렌식 분석을 포함한 인시던트 대응 절차를 시작하여 공격의 작성자와 시간을 파악하고 가능한 침해 정도를 알아보아야 합니다.
Microsoft에서는 페더레이션이 Microsoft Entra ID의 기능이고 정상적이라고 간주하며 이 공격은 바로 그 점을 악용합니다. Microsoft는 공격자가 이 백도어를 만들려면 높은 수준의 권한을 얻어야 한다는 점을 강조합니다. 따라서 페더레이션 설정을 수정할 수 있는 관리자 수를 제한하는 것이 좋습니다. 자세한 정보를 알아보려면 취약성 설명에 구체적인 권한과 역할 목록을 참조하십시오.
Azure 포털에서 페더레이션 도메인의 목록을 확인하려면 "사용자 지정 도메인 이름" 블레이드를 열고 "페더레이션" 열에 체크 표시가 있는 항목을 찾아보면 됩니다. 악성 도메인일 가능성이 있는 도메인 이름은 조사 결과에서 확인되는 이름과 같습니다. 그렇지만 Azure 포털에는 MS Graph API와 달리 페더레이션의 기술적인 세부 정보가 표시되지 않습니다.
MS Graph API의 PowerShell cmdlet을 사용하면 Get-MgDomain
을 통해 도메인을 나열하고 Get-MgDomainFederationConfiguration
`을 통해 도메인의 페더레이션 구성을 나열할 수 있습니다.
Connect-MgGraph -Scopes "Domain.Read.All"
Get-MgDomain -All | Where-Object { $_.AuthenticationType -eq "Federated" } | ForEach-Object { $_​ ; Get-MgDomainFederationConfiguration -DomainId $_.Id }
최종적으로 포렌식 분석을 하기 위해 증거를 저장한 뒤:
Remove-MgDomain
을 사용해 해당 도메인을 제거하십시오.Remove-MgDomainFederationConfiguration
을 사용해 해당 페더레이션 구성을 제거하면 됩니다.이름: 알려진 페더레이션 도메인 백도어
코드명: KNOWN-FEDERATED-DOMAIN-BACKDOOR
심각도: Critical
More: Modify Trusted Domains [Mandiant], Security vulnerability in Azure AD & Office 365 identity federation, How to create a backdoor to Azure AD - part 1: Identity federation, Deep-dive to Azure Active Directory Identity Federation