Az - Arc vulnerable GPO Deploy Script
Last updated
Last updated
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure Arc는 그룹 정책 개체 방법을 사용하여 새로운 내부 서버(도메인에 가입된 서버)를 Azure Arc에 통합할 수 있도록 합니다. 이를 위해 Microsoft는 온보딩 절차를 시작하는 데 필요한 배포 툴킷을 제공합니다. ArcEnableServerGroupPolicy.zip 파일 내에는 DeployGPO.ps1, EnableAzureArc.ps1 및 AzureArcDeployment.psm1 스크립트가 포함되어 있습니다.
DeployGPO.ps1 스크립트를 실행하면 다음 작업이 수행됩니다:
로컬 도메인 내에 Azure Arc 서버 온보딩 GPO를 생성합니다.
온보딩 프로세스를 위해 생성된 지정된 네트워크 공유에 EnableAzureArc.ps1 온보딩 스크립트를 복사하며, 이 공유에는 Windows 설치 패키지도 포함되어 있습니다.
이 스크립트를 실행할 때 시스템 관리자는 두 가지 주요 매개변수인 ServicePrincipalId와 ServicePrincipalClientSecret을 제공해야 합니다. 또한 도메인, 공유를 호스팅하는 서버의 FQDN 및 공유 이름과 같은 다른 매개변수도 필요합니다. 테넌트 ID, 리소스 그룹 및 기타 필요한 정보와 같은 추가 세부정보도 스크립트에 제공해야 합니다.
DPAPI-NG 암호화를 사용하여 지정된 공유의 AzureArcDeploy 디렉토리에 암호화된 비밀이 생성됩니다. 암호화된 비밀은 encryptedServicePrincipalSecret이라는 이름의 파일에 저장됩니다. 이 내용은 DeployGPO.ps1 스크립트에서 확인할 수 있으며, 여기서 ProtectBase64를 호출하여 $descriptor와 $ServicePrincipalSecret을 입력으로 사용하여 암호화가 수행됩니다. 디스크립터는 도메인 컴퓨터 및 도메인 컨트롤러 그룹 SID로 구성되어 있어, ServicePrincipalSecret은 도메인 컨트롤러 및 도메인 컴퓨터 보안 그룹에 의해서만 복호화될 수 있도록 합니다.
다음 조건이 있습니다:
내부 네트워크에 성공적으로 침투했습니다.
Active Directory 내에서 컴퓨터 계정을 생성하거나 제어할 수 있는 능력이 있습니다.
AzureArcDeploy 디렉토리를 포함하는 네트워크 공유를 발견했습니다.
AD 환경 내에서 머신 계정을 얻는 방법은 여러 가지가 있습니다. 가장 일반적인 방법 중 하나는 머신 계정 쿼터를 악용하는 것입니다. 또 다른 방법은 취약한 ACL 또는 다양한 다른 잘못된 구성으로 머신 계정을 손상시키는 것입니다.
한 번 머신 계정을 얻으면, 이 계정을 사용하여 인증할 수 있습니다. 우리는 netonly 플래그가 있는 runas.exe 명령을 사용하거나 Rubeus.exe로 패스-더-티켓을 사용할 수 있습니다.
메모리에 저장된 컴퓨터 계정의 TGT를 사용하여 다음 스크립트를 통해 서비스 주체 비밀을 복호화할 수 있습니다.
대안으로, SecretManagement.DpapiNG를 사용할 수 있습니다.
이 시점에서, 암호화된ServicePrincipalSecret 파일과 동일한 네트워크 공유에 저장된 ArcInfo.json 파일에서 Azure에 연결하는 데 필요한 나머지 정보를 수집할 수 있습니다. 이 파일에는 TenantId, servicePrincipalClientId, ResourceGroup 등과 같은 세부 정보가 포함되어 있습니다. 이 정보를 사용하여 Azure CLI를 통해 손상된 서비스 주체로 인증할 수 있습니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)