Az - Pass the Certificate
Reading time: 3 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
Pass the Certificate (Azure)
Azure에 가입된 머신에서는 두 머신이 NegoEx 인증 메커니즘을 지원할 때, Azure AD CA에서 발급된 인증서를 사용하여 한 머신에서 다른 머신으로 인증할 수 있습니다.
매우 간단히 말하자면:
- 연결을 시작하는 머신(클라이언트)은 사용자를 위한 Azure AD의 인증서가 필요합니다.
- 클라이언트는 PRT 및 기타 세부 정보를 포함하는 JSON Web Token (JWT) 헤더를 생성하고, 파생 키(세션 키와 보안 컨텍스트를 사용하여)를 사용하여 서명한 후 Azure AD로 전송합니다.
- Azure AD는 클라이언트 세션 키와 보안 컨텍스트를 사용하여 JWT 서명을 검증하고, PRT의 유효성을 확인한 후 인증서로 응답합니다.
이 시나리오에서 Pass the PRT 공격에 필요한 모든 정보를 확보한 후:
- 사용자 이름
- 테넌트 ID
- PRT
- 보안 컨텍스트
- 파생 키
도구 PrtToCert**를 사용하여 사용자를 위한 P2P 인증서를 요청할 수 있습니다.
RequestCert.py [-h] --tenantId TENANTID --prt PRT --userName USERNAME --hexCtx HEXCTX --hexDerivedKey HEXDERIVEDKEY [--passPhrase PASSPHRASE]
인증서는 PRT와 동일한 기간 동안 유효합니다. 인증서를 사용하려면 파이썬 도구 AzureADJoinedMachinePTC를 사용하여 원격 머신에 인증하고, PSEXEC를 실행하며 피해자 머신에서 CMD를 엽니다. 이를 통해 Mimikatz를 다시 사용하여 다른 사용자의 PRT를 얻을 수 있습니다.
Main.py [-h] --usercert USERCERT --certpass CERTPASS --remoteip REMOTEIP
References
- Pass the Certificate가 작동하는 방식에 대한 자세한 내용은 원본 게시물을 확인하세요 https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.