언어:
Microsoft Entra 테넌트는 외부 도메인과 페더레이션하여 다른 도메인과의 트러스트를 설정해 인증과 권한 부여에 이용할 수 있습니다. 조직에서는 페더레이션을 사용해 Active Directory 사용자에 대한 인증을 조직의 온프레미스 Active Directory Federation Services (AD FS)에 위임합니다. (참고: 여기에서 외부 도메인은 Active Directory "도메인"이 아닙니다.) 하지만, 악성 행위자가 Microsoft Entra ID에서 상승된 권한을 얻으면 이 페더레이션 방식을 악용해 백도어를 만들 수 있습니다. 즉 자체 설정을 사용해 적법한 페더레이션 구성에 자체 악성 보조 토큰 서명 인증서를 추가하는 것입니다. 이 공격으로 인해 다음과 같은 작업이 가능하게 됩니다.
이 위험 노출 지표는 기본 및 보조 토큰 서명 인증서(있는 경우)의 주체 또는 발급자 특성이 불일치하는지 탐지합니다. 이러한 항목이 불일치하면 보조 토큰 서명 인증서가 불법이고 악성일 가능성이 있다는 뜻일 수 있습니다.
관련 위험 노출 지표 "알려진 페더레이션 도메인 백도어"도 참조하십시오.
침해된 페더레이션 도메인에서 공격 대상인 Microsoft Entra ID로 인증 증거를 전송하는 데 사용되는 페더레이션 프로토콜은 WS-Federation 또는 SAML일 수 있습니다. SAML을 사용하는 경우, 공격이 "Golden SAML" 공격과 비슷한 형태이며 다음과 같은 중요한 차이점이 있습니다.
microsoft.directory/domains/allProperties/allTasks
및 microsoft.directory/domains/federation/update
권한이 관리자에게 페더레이션 도메인을 수정할 능력을 부여합니다. 2023년 11월 기준으로, 잠재적인 사용자 지정 역할 외에 이 권한이 있는 기본 제공 Microsoft Entra 역할은 다음과 같습니다.
APT29 위협 그룹이 2020년 12월에 SolarWinds를 상대로 감행한 악명높은 "Solorigate" 공격이 이 방식을 악용했습니다. 자세한 내용은 Microsoft 및 Mandiant에서 문서화했습니다. 이 기법은 "Azure AD 및 Office 365 ID 페더레이션의 보안 취약성", "Azure AD에 대한 백도어 만드는 방법 - 1부: ID 페더레이션", "Azure Active Directory ID 페더레이션 심층 탐구"와 같은 여러 문서에도 설명되어 있습니다.
이와 같은 조사 결과는 공격자의 잠재적인 백도어일 가능성을 나타냅니다.
우선, 보조 토큰 서명 인증서를 살펴보되 기본 인증서와 일치하지 않는 것으로 보고된 특성이 있는지 특히 주의합니다. 조직 내에서 이러한 특성이 적법한지 확인합니다. 이 보조 인증서를 포함하는 보고된 도메인의 페더레이션 구성에 적용된 수정 사항과 관련해 Entra ID 관리자에게 확인을 요청합니다.
보조 토큰 서명 인증서는 보통 만료가 임박한 기본 인증서를 회전하는 데 사용됩니다. 이 인증서가 보안 문제가 되는 상황은 인증서가 악성인 것이 명백하거나 관리자가 인지하지 못해서 악성일 가능성이 있는 경우뿐입니다. 그러한 상황에서는 포렌식 분석을 통해 인시던트 대응 절차를 시작하여 공격으로 의심되는 사례를 확인하고, 공격의 출처와 시간을 파악한 다음 가능한 침해 정도를 평가합니다.
Azure 포털에서 페더레이션 도메인의 목록을 확인하려면 "사용자 지정 도메인 이름" 블레이드로 이동해 "페더레이션" 열에서 체크 표시가 있는 항목을 찾아봅니다. 악성 도메인일 가능성이 있는 이름은 발견 사항에서 플래그가 지정된 것과 일치합니다. 다만, MS Graph API와는 달리 Azure 포털에서는 페더레이션의 기술적 세부 정보를 표시하지 않습니다.
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 }
포렌식 분석을 위해 증거를 저장하고 나서는 악성 보조 토큰 서명 인증서를 제거하는 것이 좋습니다. Microsoft에서는 이 인증서를 페더레이션 구성에서 제거하는 직접적인 방식을 제공하지 않으므로, 도메인 페더레이션을 사용 중지하거나 영향을 받은 도메인을 완전히 제거하여 페더레이션 구성을 지운 다음에 다시 사용으로 설정하는 것이 가장 간편합니다. 다만 타이밍에 유의해야 합니다. 이 프로세스를 진행하는 동안 이 페더레이션 도메인에 의존하는 사용자가 인증할 수 없기 때문입니다. Microsoft Entra Connect를 사용하여 페더레이션을 구성한 경우, Microsoft Entra Connect를 사용하여 이 작업을 수행합니다. 수동으로 작업하는 경우, Update-MgDomainFederationConfiguration
및 처음에 재설정할 때 사용한 것과 같은 방식을 사용하십시오. Microsoft "AD FS 인증서의 긴급 회전" 수정 가이드를 따르면 됩니다.
해당 작업이 이루어졌는지 확인하려면 이 위험 노출 지표에서 보고한 발견 사항이 해결되었는지 확인하십시오. 또한, 공격자가 백도어와 같은 기타 지속성 메커니즘을 설정했을 수 있음을 예상하는 것이 중요합니다. 인시던트 대응 전문가의 도움을 받아 이러한 추가 위협이 있는지 파악하고 제거하십시오.
이런 유형의 공격은 Microsoft Entra ID의 정상적이고 합법적인 기능인 페더레이션을 악용합니다. 향후 공격을 방지하려면, 페더레이션 설정을 수정할 수 있는 관리자의 수를 제한해야 합니다. 공격자가 그러한 백도어를 만들려면 높은 권한이 있어야 하므로 이렇게 하면 사전 예방이 가능합니다. 취약성 설명에서 특정 권한 및 역할 목록을 확인하십시오.
이름: 페더레이션 서명 인증서 불일치
코드명: FEDERATION-SIGNING-CERTIFICATES-MISMATCH
심각도: High
유형: Microsoft Entra ID Indicator of Exposure