언어:
Microsoft Entra 테넌트는 외부 도메인과 페더레이션하여 다른 도메인과의 트러스트를 설정해 인증과 권한 부여에 이용할 수 있습니다. 조직에서는 페더레이션을 사용해 Active Directory 사용자에 대한 인증을 조직의 온프레미스 Active Directory Federation Services (AD FS)에 위임합니다. (참고: 여기에서 외부 도메인은 Active Directory "도메인"이 아닙니다.) 하지만, 악성 행위자가 Microsoft Entra ID에서 상승된 권한을 얻으면 이 페더레이션 방식을 악용해 백도어를 만들 수 있습니다. 즉, 자신만의 페더레이션 도메인을 추가하거나 기존 페더레이션 도메인을 편집하여 자체 설정을 포함한 이차 구성을 추가하는 방식입니다.
페더레이션 도메인에 설정된 백도어는 기본 또는 보조 토큰 서명 인증서를 통해 설정되어 구성에 삽입된 위조된 토큰 서명 인증서를 사용합니다. 일반적인 오픈 소스 공격자 도구(예: ConvertTo-AADIntBackdoor cmdlet이 있는 AADInternals)를 사용하는 경우, 몇몇 단서를 통해 의심스러운 이벤트가 발생했다는 사실을 나타낼 수 있습니다.
이 IoE는 "알려진 페더레이션 도메인 백도어" 위험 노출 지표(IoE)와는 달리, 반드시 공격자가 만든 백도어를 나타내지는 않을 수도 있습니다. 그보다는 Entra ID 테넌트 내의 페더레이션 도메인을 모두 기재한 포괄적인 목록을 제공하여 각 도메인의 발급자 URI가 사용자가 이전에 구성해 둔 외부 ID 공급자(IdP)와 일치하는지 확인할 수 있도록 합니다. 이것은 보통 온프레미스 AD FS 서버입니다. 발급자 URI는 신뢰할 수 있는 페더레이션 서버의 URL을 나타냅니다.
Microsot에서 설명한 것과 같이 AD FS에 페더레이션된 도메인에 대해 설정된 기본 발급자는 http://<ADFSServiceFQDN>/adfs/services/trust
입니다. 하지만 다른 페더레이션 ID 공급자를 사용하면 이 값이 다릅니다.
microsoft.directory/domains/allProperties/allTasks
및 microsoft.directory/domains/federation/update
권한은 관리자가 페더레이션 도메인을 수정할 수 있도록 합니다. 2023년 11월 기준으로, 잠재적인 사용자 지정 역할 외에 이 권한이 있는 기본 제공 Microsoft Entra 역할은 다음과 같습니다.
페더레이션 도메인의 특성을 검토하여 도메인의 적법성을 평가하고, ID 공급자에서 지정된 구성을 사용하여 의도적으로 페더레이션 도메인을 생성한 것인지 유효성을 검사합니다. 특히 발급자 URI, 기본 및 보조 토큰 서명 인증서 둘 모두의 발급자와 주체와 같은 특성을 확인해야 합니다. 모든 항목이 정상으로 보이는 경우, 제외를 통해 해당 페더레이션 도메인을 무시하면 됩니다.
그렇지 않은 경우, 즉 환경에서 신뢰할 수 있는 페더레이션 ID 공급자(IdP)와 일치하지 않는 특성이 발견되는 경우, 공격자가 만든 백도어가 있을 가능성을 나타냅니다. 포렌식 분석을 통해 인시던트 대응 절차를 시작하여 공격으로 의심되는 사례를 확인하고 공격의 출처와 시간을 파악하여 가능한 침해 정도를 파악하십시오. 이런 유형의 백도어를 설치하는 데 필요한 상승된 권한을 고려할 때(보통 덜 알려진 Entra 역할과 더불어 "전역 관리자" 역할이 필요함) 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 }
최종적인 포렌식 분석을 위해 증거를 저장한 후:
Remove-MgDomain
을 사용해 해당 도메인을 제거합니다.Remove-MgDomainFederationConfiguration
을 사용해 해당 페더레이션 구성을 제거합니다.Microsoft "AD FS 인증서의 긴급 회전"의 수정 가이드를 따르십시오.
해당 작업이 이루어졌는지 확인하려면 이 위험 노출 지표에서 보고한 발견 사항이 해결되고 지워졌는지 확인합니다.
또한 공격자가 다른 지속성 메커니즘(예: 백도어)도 마련했을 가능성을 예상하는 것도 매우 중요합니다. 인시던트 대응 전문가의 도움을 받아 추가적인 위협이 있는지 파악하여 제거하십시오.
이런 유형의 공격은 Microsoft Entra ID의 정상적이고 합법적인 기능인 페더레이션을 악용합니다. 향후 공격을 방지하려면, 페더레이션 설정을 수정할 수 있는 관리자의 수를 제한해야 합니다. 공격자가 그러한 백도어를 만들려면 높은 권한이 있어야 하므로 이렇게 하면 사전 예방이 가능합니다. 취약성 설명에서 특정 권한 및 역할 목록을 확인하십시오.
이름: 페더레이션 도메인 목록
코드명: FEDERATED-DOMAINS-LIST
심각도: Low
유형: Microsoft Entra ID Indicator of Exposure