Az - Virtual Machines & Network
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Z dokumentacji: Maszyny wirtualne Azure są jednym z kilku typów zasobów obliczeniowych na żądanie i skalowalnych, które oferuje Azure. Zazwyczaj wybierasz maszynę wirtualną, gdy potrzebujesz większej kontroli nad środowiskiem obliczeniowym niż oferują inne opcje. Ten artykuł dostarcza informacji o tym, co powinieneś wziąć pod uwagę przed utworzeniem maszyny wirtualnej, jak ją utworzyć i jak nią zarządzać.
Sieci Azure zawierają różne podmioty i sposoby ich konfiguracji. Możesz znaleźć krótkie opisy, przykłady i komendy enumeracji różnych podmiotów sieciowych Azure w:
Az - Azure NetworkAzure Bastion oferuje bezpieczne, w pełni zarządzane rozwiązanie dostępu RDP (Remote Desktop Protocol) i SSH (Secure Shell) przez SSL za pośrednictwem portalu Azure. Jest zintegrowany w ramach sieci wirtualnej Azure, umożliwiając łączność RDP i SSH z maszynami wirtualnymi przy użyciu prywatnych adresów IP, unikając potrzeby używania publicznych adresów IP. To czyni go bezpieczniejszą, bardziej wygodną alternatywą dla tradycyjnych metod związanych z przypisywaniem publicznych adresów IP i konfiguracją reguł NSG dla dostępu do maszyn wirtualnych. Programiści i personel IT mogą bezpiecznie uzyskiwać dostęp do maszyn wirtualnych z portalu Azure za pomocą swoich przeglądarek internetowych, co upraszcza proces dla środowisk deweloperskich i testowych.
Aby wyświetlić wszystkie hosty Azure Bastion w swojej subskrypcji, możesz użyć następującej komendy:
Możliwe jest umożliwienie dostępu użytkownikom uwierzytelnionym za pomocą AzureAD. Na przykład próbując uzyskać dostęp do linux VM: ssh username@azure-corp.com@1.1.1.1
(ważne jest, aby użyć adresu e-mail z azurecorp używanego podczas próby logowania) możesz otrzymać błąd taki jak:
Po prostu postępuj zgodnie z tymi instrukcjami, przechodząc do https://microsoft.com/devicelogin i podając kod, użyj adresu e-mail i hasła jako poświadczeń, a będziesz mógł połączyć się za pomocą SSH (jeśli ten użytkownik ma wystarczające uprawnienia: rola Virtual Machine Administrator Login
lub Virtual Machine User Login
).
Rozszerzenia maszyn wirtualnych (VM) w Azure to małe aplikacje, które zapewniają konfigurację po wdrożeniu i automatyzację zadań na maszynach wirtualnych Azure. Na przykład, jeśli maszyna wirtualna wymaga instalacji oprogramowania, ochrony antywirusowej lub możliwości uruchomienia skryptu wewnątrz niej, możesz użyć rozszerzenia VM.
Dlatego, jeśli masz dostęp do zapisu, możesz wykonać dowolny kod:
DesiredConfigurationState (DSC) to narzędzie PowerShell podobne do Ansible, używane do konfigurowania hosta za pomocą kodu. DSC integruje się z Azure, umożliwiając przesyłanie specyficznych plików konfiguracyjnych. Pliki te muszą przestrzegać ścisłej składni. Co ważne, rozszerzenie DSC w Azure może wykonywać polecenia z plików, które spełniają określone kryteria formatowania, nawet jeśli składnia nie jest poprawna według standardów DSC, jak pokazano na załączonym rysunku.
Wykonanie tych poleceń jest ułatwione przez funkcję Publish-AzVMDscConfiguration
w Az PowerShell. Wymagania obejmują plik .PS1 z zdefiniowaną funkcją, a plik musi być spakowany do pliku .zip. Mimo że składnia może nie być dokładna dla DSC, kod nadal zostanie wykonany. Jednak rozszerzenie oznaczy status wykonania jako "niepowodzenie", a żadne wyjście z polecenia nie będzie widoczne z powodu nadpisania statusu komunikatem o błędzie.
Definicje aplikacji VM umożliwiają powtarzalne wdrażanie wersjonowanych aplikacji na maszynie wirtualnej Azure. Ten zasób wspiera wdrażanie i aktualizację aplikacji w różnych maszynach wirtualnych. Aby to skonfigurować, wymagane są różne kroki, obejmujące polecenia takie jak New-AzGalleryApplication
i New-AzGalleryApplicationVersion
w Az PowerShell.
Wykonanie aplikacji lub poleceń tą metodą wiąże się z "VMAppExtension", która jest automatycznie instalowana, gdy aplikacja jest stosowana do maszyny wirtualnej. Rozszerzenie pobiera plik z określonego URI i nazywa go dokładnie tak samo jak aplikacja, bez rozszerzenia. Aby poprawnie wykonać plik, pole "ManageActions" w wywołaniu REST API musi być skonfigurowane do zmiany nazwy pliku na odpowiednie rozszerzenie. Ustawienie tej metody, po zakończeniu, będzie przypominać strukturę pokazaną na załączonym rysunku.
Jednak ta metoda wykonania jest stosunkowo wolna, zajmując około 3-4 minut na wykonanie aplikacji lub polecenia. Pliki związane z tym procesem są przechowywane w określonych katalogach (C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Downloads\
dla kopii aplikacji i C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Status\
dla statusu wykonania).
Obie techniki oferują unikalne sposoby wykonywania poleceń i wdrażania aplikacji w środowiskach Azure, każda z własnym zestawem wymagań, kroków i rozważań.
Hybrid Worker Groups (HWGs) to funkcja w Azure, która pozwala na wykonywanie Runbooków, skonfigurowanych w koncie automatyzacji, na maszynie wirtualnej Azure (VM), która jest częścią wyznaczonej HWG. To wykonanie jest ułatwione przez rozszerzenie zainstalowane na VM, które wdraża kod Runbooka na VM. Istotnym aspektem tego procesu jest to, że rzeczywiste poświadczenia nie mają znaczenia w wykonaniu, ponieważ kod działa z podwyższonymi uprawnieniami, konkretnie jako SYSTEM lub root, jak pokazano na załączonym rysunku.
Kluczowym szczegółem dla osób korzystających z maszyn wirtualnych Windows 10 jest konieczność określenia wersji PowerShell dla Runbooka. Powinna być ustawiona na uruchamianie jako PowerShell Version 5.1 zamiast 7.1. Wymóg ten wynika z faktu, że PowerShell 7.1 nie jest domyślnie zainstalowany na tych VM, co prowadzi do niepowodzenia w wykonaniu skryptu, jeśli określona jest wersja 7.1.
Ta funkcja Azure oferuje solidną metodę automatyzacji i zarządzania zadaniami w środowiskach hybrydowych, umożliwiając centralne zarządzanie i wykonywanie zadań na maszynach wirtualnych Azure.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)