Az - Device Registration

htARTE (HackTricks AWS Red Team Expert)를 통해 **제로**부터 **히어로**까지 **AWS 해킹**을 배우세요!

HackTricks를 지원하는 다른 방법:

기본 정보

장치가 AzureAD에 가입하면 AzureAD에 새 개체가 생성됩니다.

장치를 등록할 때 사용자는 자신의 계정으로 로그인하도록 요청받습니다(필요시 MFA를 요청), 그런 다음 장치 등록 서비스에 대한 토큰을 요청하고 최종 확인 프롬프트를 요청합니다.

그런 다음, 장치에서 두 개의 RSA 키페어가 생성됩니다: 장치 키(공개 키)는 AzureAD로 전송되고 전송 키(개인 키)는 가능한 경우 TPM에 저장됩니다.

그런 다음, AzureAD(Intune이 아님)에서 개체가 생성되고 AzureAD는 장치에게 자체가 서명한 인증서를 반환합니다. 장치가 AzureAD에 가입되었는지 및 인증서에 대한 정보(예: TPM으로 보호되었는지)를 확인할 수 있습니다.

dsregcmd /status

장치 등록 후 LSASS CloudAP 모듈에서 기본 새로 고침 토큰이 요청되고 장치에 제공됩니다. PRT와 함께 세션 키가 전달되며 장치만이 해독할 수 있도록 암호화됩니다(전송 키의 공개 키를 사용). 이것은 PRT를 사용하는 데 필요합니다.

PRT가 무엇인지에 대한 자세한 정보는 확인하십시오:

pageAz - Primary Refresh Token (PRT)

TPM - 신뢰할 수 있는 플랫폼 모듈

TPM은 전원이 꺼진 장치로부터 키 추출을 방지하고 (PIN으로 보호된 경우) OS 레이어에서 개인 자료를 추출하는 것을 방지합니다. 그러나 TPM은 TPM과 CPU 간의 물리적 연결을 스니핑하거나 시스템이 SYSTEM 권한을 가진 프로세스에서 실행되는 동안 TPM의 암호 자료를 사용하는 것을 방지하지 않습니다.

다음 페이지를 확인하면 PRT를 도용하여 사용자처럼 액세스할 수 있음을 알 수 있습니다. 이는 PRT가 장치에 위치하기 때문에 장치로부터 도난당할 수 있습니다(도난당하지 않았더라도 새로운 서명 키를 생성하는 데 악용될 수 있음):

pageAz - Pass the PRT

SSO 토큰으로 장치 등록

공격자가 감염된 장치로부터 Microsoft 장치 등록 서비스에 대한 토큰을 요청하고 등록할 수 있습니다:

# Initialize SSO flow
roadrecon auth prt-init
.\ROADtoken.exe <nonce>

# Request token with PRT with PRT cookie
roadrecon auth -r 01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9 --prt-cookie <cookie>

# Custom pyhton script to register a device (check roadtx)
registerdevice.py

장래에 PRT를 요청할 때 사용할 수 있는 인증서를 제공합니다. 따라서 지속성을 유지하고 MFA 우회를 할 수 있습니다. 왜냐하면 새로운 장치를 등록할 때 사용된 원본 PRT 토큰은 이미 MFA 권한이 부여되어 있기 때문입니다.

이 공격을 수행하려면 새로운 장치를 등록할 권한이 필요합니다. 또한, 장치를 등록한다고 해서 해당 장치가 Intune에 등록될 수 있다는 것을 의미하지는 않습니다.

이 공격은 2021년 9월에 수정되었습니다. SSO 토큰을 사용하여 새로운 장치를 등록할 수 없게 되었습니다. 그러나 여전히 (사용자 이름, 암호 및 필요한 경우 MFA를 가지고) 합법적인 방법으로 장치를 등록하는 것은 가능합니다. 확인: roadtx.

장치 티켓 덮어쓰기

장치 티켓을 요청하고, 장치의 현재 티켓을 덮어쓰고, 흐름 중에 PRT를 탈취할 수 있었습니다 (따라서 TPM에서 탈취할 필요가 없습니다. 자세한 정보는 이 발표를 확인하세요.

그러나 이것은 수정되었습니다.

WHFB 키 덮어쓰기

원본 슬라이드를 여기서 확인하세요

공격 요약:

  • SSO를 통해 장치등록된 WHFB 키를 덮어쓸 수 있습니다

  • 새로운 키 생성 중에 키가 스니핑되므로 TPM 보호를 무력화합니다

  • 이는 또한 지속성을 제공합니다

사용자는 자신의 searchableDeviceKey 속성을 Azure AD Graph를 통해 수정할 수 있지만, 공격자는 테넌트에 장치가 있어야 하며(Azure AD Graph에 대한 유효한 액세스 토큰을 가지고 있어야 함), 합법적인 장치에서 인증서 + 키를 도난당한 경우에는 플라이어 등록된 장치를 가져야 합니다.

그런 다음, 다음과 같이 새 키를 생성할 수 있습니다:

roadtx genhellokey -d <device id> -k tempkey.key

그런 다음 searchableDeviceKey의 정보를 PATCH하십시오:

장치 코드 피싱을 통해 사용자로부터 액세스 토큰을 얻고 이전 단계를 악용하여 그의 액세스를 도용할 수 있습니다. 자세한 정보는 확인하십시오:

pageAz - Phishing Primary Refresh Token (Microsoft Entra)

참고 자료

htARTE (HackTricks AWS Red Team Expert)를 통해 제로부터 영웅이 되는 AWS 해킹을 배우세요 htARTE (HackTricks AWS Red Team Expert)!

HackTricks를 지원하는 다른 방법:

最終更新