Az - Virtual Machines & Network
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
[문서에서:] (https://learn.microsoft.com/en-us/azure/virtual-machines/overview) Azure 가상 머신은 Azure가 제공하는 여러 유형의 온디맨드, 확장 가능한 컴퓨팅 리소스 중 하나입니다. 일반적으로, 다른 선택지보다 컴퓨팅 환경에 대한 더 많은 제어가 필요할 때 가상 머신을 선택합니다. 이 문서는 가상 머신을 생성하기 전에 고려해야 할 사항, 생성 방법 및 관리 방법에 대한 정보를 제공합니다.
Azure 네트워크는 다양한 엔티티와 구성 방법을 포함합니다. 다양한 Azure 네트워크 엔티티에 대한 간략한 설명, 예제 및 열거 명령을 찾을 수 있습니다:
Az - Azure NetworkAzure Bastion은 Azure 포털을 통해 SSL을 통해 안전하고 완전 관리되는 RDP(원격 데스크톱 프로토콜) 및 SSH(보안 셸) 액세스 솔루션을 제공합니다. Azure 가상 네트워크 내에 통합되어 있어 RDP 및 SSH 연결을 사용하여 개인 IP로 VM에 연결할 수 있으며, 공용 IP의 필요성을 피할 수 있습니다. 이는 공용 IP 할당 및 VM 액세스를 위한 NSG 규칙 구성을 포함하는 전통적인 방법보다 더 안전하고 편리한 대안이 됩니다. 개발자와 IT 직원은 웹 브라우저를 사용하여 Azure 포털에서 VM에 안전하게 액세스할 수 있어 개발 및 테스트 환경을 위한 프로세스를 간소화합니다.
구독 내 모든 Azure Bastion 호스트를 나열하려면 다음 명령을 사용할 수 있습니다:
AzureAD를 통해 인증된 사용자에게 접근을 허용하는 것이 가능합니다. 예를 들어 linux VM에 접근하려고 할 때: ssh username@azure-corp.com@1.1.1.1
(로그인 시 사용한 azurecorp와 함께 이메일을 사용하는 것이 중요합니다) 다음과 같은 오류가 발생할 수 있습니다:
그냥 이 지침을 따르세요 https://microsoft.com/devicelogin로 가서 코드를 입력하고, 이메일과 비밀번호를 자격 증명으로 사용하면 SSH를 통해 연결할 수 있습니다(해당 사용자가 그렇게 할 수 있는 충분한 권한이 있는 경우: Virtual Machine Administrator Login
또는 Virtual Machine User Login
역할).
Azure 가상 머신(VM) 확장은 Azure VM에서 배포 후 구성 및 자동화 작업을 제공하는 작은 애플리케이션입니다. 예를 들어, 가상 머신에 소프트웨어 설치, 바이러스 백신 보호 또는 내부에서 스크립트를 실행할 수 있는 기능이 필요한 경우 VM 확장을 사용할 수 있습니다.
따라서 이를 작성할 수 있는 권한이 있다면, 임의의 코드를 실행할 수 있습니다:
DesiredConfigurationState (DSC)는 코드를 통해 호스트를 설정하는 데 사용되는 Ansible과 유사한 PowerShell 도구입니다. DSC는 Azure와 통합되어 특정 구성 파일을 업로드할 수 있습니다. 이러한 파일은 엄격한 구문을 준수해야 합니다. 특히, Azure의 DSC 확장은 특정 형식 기준을 충족하는 파일에서 명령을 실행할 수 있으며, DSC 표준에 맞지 않는 구문일지라도 실행할 수 있습니다.
이러한 명령의 실행은 Az PowerShell의 Publish-AzVMDscConfiguration
함수에 의해 용이해집니다. 요구 사항에는 정의된 함수가 포함된 .PS1 파일이 필요하며, 이 파일은 .zip 파일로 압축되어야 합니다. 구문이 DSC에 정확하지 않더라도 코드는 여전히 실행됩니다. 그러나 확장은 실행 상태를 "실패"로 표시하며, 실패 메시지로 인해 명령의 출력은 표시되지 않습니다.
VM Application Definitions는 버전이 지정된 애플리케이션을 Azure VM에 반복적으로 배포할 수 있게 해줍니다. 이 리소스는 VM 간의 애플리케이션 배포 및 업데이트를 지원합니다. 이를 설정하기 위해서는 Az PowerShell에서 New-AzGalleryApplication
및 **New-AzGalleryApplicationVersion
**과 같은 명령을 포함한 여러 단계가 필요합니다.
이 방법을 통해 애플리케이션이나 명령을 실행하는 것은 VM에 애플리케이션이 적용될 때 자동으로 설치되는 **"VMAppExtension"**을 포함합니다. 이 확장은 지정된 URI에서 파일을 가져오고, 애플리케이션과 동일한 이름으로 확장자 없이 저장합니다. 파일을 올바르게 실행하려면 REST API 호출의 "ManageActions" 필드를 구성하여 파일의 이름을 적절한 확장자로 변경해야 합니다. 이 방법의 설정이 완료되면 제공된 그림에 표시된 구조와 유사하게 됩니다.
그러나 이 실행 방법은 상대적으로 느리며, 애플리케이션이나 명령을 실행하는 데 약 3-4분이 소요됩니다. 이 과정과 관련된 파일은 특정 디렉터리에 저장됩니다 (C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Downloads\
애플리케이션 복사본 및 C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Status\
실행 상태).
두 기술 모두 Azure 환경에서 명령을 실행하고 애플리케이션을 배포하는 독특한 방법을 제공하며, 각각 고유한 요구 사항, 단계 및 고려 사항이 있습니다.
Hybrid Worker Groups (HWGs)는 Azure의 기능으로, Automation Account에서 구성된 Runbook을 지정된 HWG의 일부인 Azure Virtual Machine (VM)에서 실행할 수 있게 해줍니다. 이 실행은 VM에 설치된 확장을 통해 용이해지며, Runbook 코드를 VM에 배포합니다. 이 과정의 중요한 점은 실제 자격 증명이 실행에 영향을 미치지 않는다는 것입니다. 코드가 SYSTEM 또는 root로서 권한 상승된 상태로 실행되기 때문입니다.
Windows 10 VM을 사용하는 경우 중요한 세부 사항은 Runbook에 대해 PowerShell 버전을 지정해야 한다는 것입니다. PowerShell Version 5.1로 실행되도록 설정해야 하며, 7.1로 설정하면 실패하게 됩니다. 이는 PowerShell 7.1이 이러한 VM에 기본적으로 설치되어 있지 않기 때문입니다.
Azure의 이 기능은 하이브리드 환경에서 작업을 자동화하고 관리하는 강력한 방법을 제공하며, Azure VM에서 작업을 중앙 집중식으로 관리하고 실행할 수 있게 해줍니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)