잘못 구성된 서비스 주체를 사용하여 권한 에스컬레이션

  • 자신의 책임하에 테스트

  • 1. 컴퓨터에서 새 Powershell 세션(관리자 권한)을 엽니다. 다음 명령을 사용하여 PowerZure 모듈을 가져옵니다.

    PS C:\> cd C:\Users\$env:USERNAME\PowerZure
    Import-Module .\PowerZure.ps1
    


    구독에서 현재 사용자에게 독자 역할이 할당된 것을 볼 수 있습니다. PowerZure의 Show-AzureCurrentUser 기능을 사용하여 이를 확인할 수도 있습니다.


    2. 다음 명령을 사용하여 현재 사용자가 서비스 주체의 소유자로 할당되었는지 확인합니다.

    Get-AzureAppOwner 명령은 PowerZure의 기능 중 하나입니다. Azure AD에 등록된 각 애플리케이션을 재귀적으로 살펴보고 소유자를 나열합니다. 출력은 readeruser에게 customapp이라는 애플리케이션의 소유권이 할당되었음을 보여줍니다. 소유권은 새 암호 추가를 포함하여 앱에 대한 다양한 권한을 허용합니다. 이것은 독자 역할에 고유한 권한은 아니지만 응용 프로그램 소유권은 모든 계정에 할당할 수 있습니다.


    3. 다음 명령을 사용하여 앱에서 인증할 수 있도록 customapp에 새 암호를 추가합니다. 독자 역할이 할당된 사용자로서 이 모든 작업을 수행하고 있음을 기억하십시오.

    대박! 새 암호가 성공적으로 추가되었습니다. 즉, 방금 설정한 암호를 사용하여 이 서비스 주체로 인증한 다음 해당 권한을 탐색할 수 있습니다. 서비스 주체로 인증하는 데 둘 다 필요하므로 표시된 애플리케이션 ID와 테넌트 ID를 기록해 둡니다.


    4. WSL로 전환하고 다음 명령을 사용하여 서비스 주체로 인증합니다. APP_ID를 3단계에서 메모한 애플리케이션 ID로 바꿉니다. TENANT_ID를 3단계에서 메모한 테넌트 ID로 바꿉니다. Enter 키를 누릅니다.

    이제 서비스 주체로 로그인되었습니다. 다음으로 이 서비스 주체가 가진 권한을 확인합니다.

    5. 다음 명령을 사용하여 서비스 주체의 역할 할당 및 범위를 확인합니다. APP_ID를 3단계에서 기록해 둔 애플리케이션 ID로 바꿉니다.
    구독 범위에서 이 서비스 주체에 기여자 역할이 할당된 것을 볼 수 있습니다. 대박! 현재 사용자보다 더 많은 권한을 부여하는 역할 할당 경로를 찾았습니다!

    독자 역할(Azure AD의 전역 독자 및 Azure RBAC의 독자)은 일반적으로 서비스 주체에 대한 소유권 권한이 없지만 Azure AD 테넌트의 구성원 사용자는 애플리케이션을 등록할 수 있는 권한이 있으며 자동으로 애플리케이션 소유자가 됩니다. 그들은 등록했습니다. 또한 사용자에게 소유권이 부여되는 경우도 있습니다. 이러한 소유권은 모든 역할 수준에서 나타날 수 있으므로 초기에 해결하는 것이 좋을 것이라고 생각했습니다.

    읽기 권한자 역할에 항상 사용 가능한 한 가지 권한은 ACR(Azure Container Registry)에 연결하고 이미지를 가져오는 기능입니다. 이러한 권한으로 독자가 이미지를 변경할 수는 없지만 이미지를 검토할 수는 있습니다.

    참조
    https://github.com/PacktPublishing/Penetration-Testing-Azure-for-Ethical-Hackers

    좋은 웹페이지 즐겨찾기