권한 승격 Entra ID (이전의 Azure AD)

» 블로그 » 권한 승격 Entra ID (이전의 Azure AD)

권한 에스컬레이션 공격은 전 세계 보안 팀에게 가장 시급한 문제 중 하나이며 일반적으로 측면 운동. 위협 행위자는 권한이 있는 계정이 일반적으로 모니터링되고 보호되기 때문에 손상되기 어렵다는 것을 알고 있습니다. 그러나 공격자는 권한 에스컬레이션 취약성을 사용하여 모니터링이 덜 된 계정을 제어하고 보안 팀의 레이더 아래에 있으면서 높은 수준의 액세스 권한을 부여할 수 있습니다.

오늘날의 하이브리드 환경에서 기업은 점점 더 민감한 리소스를 SaaS 앱으로 전환하고 있습니다. 하늘빛 Active Directory 기업이 이러한 앱의 액세스 및 사용을 중앙에서 관리할 수 있도록 하는 선도적인 클라우드 ID 공급자 중 하나입니다.

최근에 권한 상승 문제가 발견되었습니다. Entra ID (전에 하늘빛 광고) 공격자가 비밀번호 재설정 보호 장치를 우회하여 하위 수준의 관리자가 완전한 권한을 가질 수 있도록 허용할 수 있습니다. 우리는 이 문제를 MSRC(Microsoft 보안 대응 센터)에 보고했으며, 이를 검증하고 수정 사항을 적용했습니다. 더 이상 위험을 초래하지 않지만 Entra ID (이전의 Azure AD) 사용자 여러분, 우리는 더 넓은 보안 커뮤니티가 우리의 분석 및 결과를 확인함으로써 이익을 얻을 수 있다고 믿습니다.

기술 분석

XNUMXD덴탈의 Entra ID (이전의 Azure AD) 권한 있는 역할 시스템은 계층 구조로 작동하여 권한이 낮은 관리자가 권한이 높은 관리자의 암호를 재설정하는 것을 방지합니다. 운영 논리 외에도 공격자가 더 높은 권한을 가진 관리자 계정을 수정할 수 없도록 하여 낮은 권한의 관리자 계정이 손상되는 시나리오로부터 보호합니다.

이 보호 장치는 사용자의 역할이 "적격" 또는 "활성"으로 설정된 경우 적용됩니다. 하지만, Entra ID (이전의 Azure AD)도 허용합니다. 사용자 계정 ~에 배정되다 향후 사용; 즉, 미리 정의된 날짜와 시간에 상위 수준 권한이 부여됩니다.

이 경우, 비밀번호 보호가 적용되지 않습니다. 이는 노출 Entra ID (이전의 Azure AD)를 다음 시나리오로 변경합니다.

  1. 초기 타협: 공격자가 권한이 낮은 관리자 계정을 해킹합니다.
  2. 향후 역할 할당 검색: 공격자가 스캔 Entra ID (이전의 Azure AD)를 사용하여 향후에 높은 권한을 가진 관리자가 될 예정인 계정을 찾습니다.
  3. 비밀번호 재설정: 이제 공격자는 이러한 계정의 암호를 재설정하여 역할 할당이 이루어지기 전에 이를 손상시킵니다. 이상적으로는 공격자가 역할 변경 시점에 최대한 가깝게 이 재설정을 수행합니다.
  4. 권한 에스컬레이션: 역할 변경이 발생하여 공격자가 활성화된 높은 권한을 가진 관리자 계정에 대한 모든 권한을 제공합니다.

이 단계를 하나씩 살펴보겠습니다.

초기 손상

이 분석의 목적을 위해 이것이 이미 발생했다고 가정해 봅시다. 공격자는 "Helpdesk Administrator"의 활성 할당이 있는 "Shay Katz"의 계정을 손상시켰습니다.

셰이 카츠에게 할당된 역할

스크린샷 1: Shay Katz의 할당된 역할 화면

다음 표는 Entra ID(이전의 Azure AD) 기본 제공 역할 웹페이지에는 내 다양한 ​​역할의 암호 재설정 권한이 표시됩니다. Entra ID (이전의 Azure AD). “헬프데스크 관리자”는 “인증 관리자” 및 “비밀번호 관리자” 역할의 비밀번호를 재설정할 수 없음을 알 수 있습니다.

Azure AD 암호 재설정 권한 테이블

스크린 샷 2 : Entra ID (이전의 Azure AD) 암호 재설정 권한 표

공격자는 이제 로그인되었습니다. Entra ID (이전의 Azure AD)를 사용자 “Shay Katz”로 지정합니다.

향후 역할 할당 검색

Microsoft의 수정 이전에는 더 적은 비용으로 향후 관리자 할당을 검색할 수 있는 두 가지 옵션이 있었습니다. 권한 있는 사용자:

  1. 을 통하여 Entra ID (이전의 Azure AD) 포털에서 상위 계층 관리자의 향후 역할 할당에 대한 "보류 중인 요청" 페이지를 확인하세요.
  2. Resource Graph를 사용하여 스크립트를 통해.

a) 필요한 권한:

예약된 역할 적격성 요청 나열: 필요: ReadWrite.AzureAD

다음이 포함된 목록:

  1. DeviceManagementApps.Read.All
  2. DeviceManagementApps.ReadWrite.All
  3. 디렉터리.읽기.모두
  4. 디렉터리.읽기쓰기.모두
  5. 사용자.읽기.모두
  6. 사용자.기본 읽기.모두
  7. 사용자.읽기쓰기.모두

b) "https://graph.microsoft.com/beta/roleManagement/directory/roleEligibilityScheduleRequests" 쿼리를 실행하여 예약된 요청을 가져옵니다.
상태 필터링 = 'provisioned' AND scheduleInfo['startDateTime'] > currentTime AND 역할 정의 ID protectedRoleIdList에서.

c) “https://graph.microsoft.com/beta/users?$select=displayName,id” 쿼리를 실행하여 principalId 키를 사용하여 사용자의 display_name을 가져옵니다.

사용법 - Entra ID (이전의 Azure AD) 포털(옵션 A)에서 공격자는 현재 "활성" 또는 "적격" 역할 할당이 없는 샘플 테스트 계정을 검색합니다.

'적격' 또는 '활성' 할당이 없는 '테스트' 계정

스크린샷 3: '적격' 또는 '활성' 할당이 없는 '테스트' 계정

그러나 "요청 시간" 및 "시작 시간" 필드는 이 테스트 계정에 향후 전역 관리자로 추가될 보류 중인 요청이 있음을 보여줍니다.

: 테스트 계정 비밀번호 재설정

스크린샷 4: 글로벌 관리자가 되기 위한 테스트 계정 요청 대기 중

공격자는 이제 가치 있는 대상을 찾았습니다. 즉, 향후 역할 할당이 있는 권한이 낮은 계정입니다. 이제 다음 단계로 넘어갈 수 있습니다.

비밀번호 재설정

이제 공격자는 다음을 사용하여 테스트 계정 비밀번호를 재설정할 수 있습니다. Entra ID (이전의 Azure AD) 포털:

암호를 재설정

스크린샷 5: 테스트 계정의 암호 재설정

권한 에스컬레이션

임무 완수. 정의된 시작 시간이 되면 테스트 계정이 전역 관리자 계정으로 업그레이드되고 공격자가 모든 권한을 갖게 됩니다.

마이크로소프트의 수정

Microsoft는 다음 컨트롤을 구현하여 문제를 해결했습니다.

  • 권한이 낮은 관리자는 더 이상 포털에서 보류 중인 요청을 볼 수 없습니다.
  • 향후 권한 있는 역할 할당을 위해 암호를 재설정하려고 하면 오류가 발생합니다. (일반적으로 비밀번호 재설정이 허용되지 않으면 비밀번호 재설정 버튼이 잠겨 있습니다.)

결론

언급한 대로 Microsoft는 이 문제를 해결했으므로 이 공격 기술은 더 이상 효과적이지 않습니다. 그러나 Just-in-Time 액세스 보호 기능 내의 이러한 유형의 문제는 공격자를 유인하는 것으로 알려져 있습니다. 이 경우 권한 할당과 이를 보호하기 위해 구축된 보안 조치의 실제 활성화 사이에 격차가 있었습니다. 기업이 점점 더 클라우드 지향적으로 변하면서 SaaS 관리 인프라에서 이러한 약점을 찾으려는 위협 행위자의 욕구가 높아지고 있습니다. 우리는 이러한 노출을 완화할 수 있는 기회를 갖게 된 것을 기쁘게 생각합니다. 공격 표면 Microsoft의 효율적이고 신속한 대응에 감사를 표하고 싶습니다.

인증 공격 막기