diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-stepfunctions-privesc/README.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-stepfunctions-privesc/README.md
index 2b7eba9ee..bda2469b2 100644
--- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-stepfunctions-privesc/README.md
+++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-stepfunctions-privesc/README.md
@@ -4,32 +4,32 @@
## Step Functions
-Bu AWS servisi hakkında daha fazla bilgi için bakınız:
+Bu AWS servisi hakkında daha fazla bilgi için bakın:
{{#ref}}
../../aws-services/aws-stepfunctions-enum.md
{{#endref}}
-### Görev Kaynakları
+### Task Kaynakları
-Bu privilege escalation techniques, istenen privilege escalation actions'ı gerçekleştirmek için bazı AWS Step Functions kaynaklarının kullanılmasını gerektirecektir.
+Bu privilege escalation techniques, istenen privilege escalation actions'ı gerçekleştirmek için bazı AWS step function resources kullanılmasını gerektirecektir.
-Tüm olası eylemleri kontrol etmek için kendi AWS hesabınıza gidip kullanmak istediğiniz eylemi seçebilir ve kullandığı parametreleri şu örnekte olduğu gibi görebilirsiniz:
+Tüm olası eylemleri kontrol etmek için kendi AWS hesabınıza gidip kullanmak istediğiniz eylemi seçebilir ve kullandığı parametreleri şu şekilde görebilirsiniz:
-Veya AWS API belgelerine gidip her bir eylemin dokümantasyonunu inceleyebilirsiniz:
+Veya AWS API dokümantasyonuna gidip her action'ın dokümantasyonunu kontrol edebilirsiniz:
- [**AddUserToGroup**](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AddUserToGroup.html)
- [**GetSecretValue**](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html)
### `states:TestState` & `iam:PassRole`
-**`states:TestState`** ve **`iam:PassRole`** izinlerine sahip bir saldırgan, mevcut bir state machine'i oluşturmadan veya güncellemeden herhangi bir state'i test edebilir ve ona herhangi bir IAM rolünü pass edebilir; bu, rollerin izinleriyle diğer AWS servislerine yetkisiz erişim sağlayabilir. Birlikte, bu izinler iş akışlarını manipüle etmekten veriyi değiştirmeye, veri ihlallerine, kaynak manipülasyonuna ve privilege escalation'a kadar geniş çaplı yetkisiz eylemlere yol açabilir.
+`states:TestState` ve `iam:PassRole` izinlerine sahip bir saldırgan, mevcut bir state machine oluşturmadan veya güncellemeden herhangi bir state'i test edebilir ve herhangi bir IAM rolünü ona geçirebilir; bu, rollerin izinleriyle diğer AWS hizmetlerine yetkisiz erişime yol açabilir. Bu izinler bir araya geldiğinde, iş akışlarını manipüle etmekten verileri değiştirmeye, veri ihlallerine, kaynak manipülasyonuna ve privilege escalation'a kadar geniş kapsamlı yetkisiz işlemlere neden olabilir.
```bash
-aws states test-state --definition --role-arn [--input ] [--inspection-level ] [--reveal-secrets | --no-reveal-secrets]
+aws stepfunctions test-state --definition --role-arn [--input ] [--inspection-level ] [--reveal-secrets | --no-reveal-secrets]
```
-Aşağıdaki örnekler, bu izinleri ve AWS ortamındaki geniş izinlere sahip bir rolü kullanarak **`admin`** kullanıcısı için bir access key oluşturan bir state'i nasıl test edeceğinizi gösterir. Bu geniş izinlere sahip rol, state'in **`iam:CreateAccessKey`** eylemini gerçekleştirmesine izin veren herhangi bir yüksek ayrıcalıklı politika ile ilişkilendirilmiş olmalıdır (örneğin **`arn:aws:iam::aws:policy/AdministratorAccess`**):
+Aşağıdaki örnekler, bu izinleri ve AWS ortamındaki geniş yetkili bir rolü kullanarak **`admin`** kullanıcısı için bir erişim anahtarı oluşturan bir state'i nasıl test edeceğinizi gösterir. Bu geniş yetkili rol, state'in **`iam:CreateAccessKey`** eylemini gerçekleştirmesine izin veren herhangi bir yüksek ayrıcalıklı politika (örneğin **`arn:aws:iam::aws:policy/AdministratorAccess`**) ile ilişkili olmalıdır:
- **stateDefinition.json**:
```json
@@ -59,23 +59,23 @@ aws stepfunctions test-state --definition file://stateDefinition.json --role-arn
"status": "SUCCEEDED"
}
```
-**Potansiyel Etki**: İş akışlarının yetkisiz yürütülmesi ve manipülasyonu ile hassas kaynaklara erişim; potansiyel olarak ciddi güvenlik ihlallerine yol açabilir.
+**Potansiyel Etki**: Yetkisiz iş akışlarının yürütülmesi ve manipülasyonu ile hassas kaynaklara erişim, potansiyel olarak önemli güvenlik ihlallerine yol açabilir.
### `states:CreateStateMachine` & `iam:PassRole` & (`states:StartExecution` | `states:StartSyncExecution`)
-**`states:CreateStateMachine`** ve **`iam:PassRole`** izinlerine sahip bir saldırgan, bir state machine oluşturup ona herhangi bir IAM rolü atayarak, bu rollerin izinleriyle diğer AWS servislerine yetkisiz erişim sağlayabilir. Önceki privesc tekniği (**`states:TestState`** & **`iam:PassRole`**) ile karşılaştırıldığında, bu teknik kendi başına çalışmaz; state machine üzerinde bir yürütmeyi başlatmak için ayrıca **`states:StartExecution`** veya **`states:StartSyncExecution`** izinlerine sahip olmanız gerekir (**`states:StartSyncExecution`** **standard workflows** için **mevcut değildir**, **just to express state machines**).
+Bir saldırgan **`states:CreateStateMachine`** ve **`iam:PassRole`** izinlerine sahip olduğunda bir state machine oluşturup ona herhangi bir IAM rolünü atayabilir; bu, rollerin izinleriyle diğer AWS servislerine yetkisiz erişime olanak tanır. Önceki privesc tekniğinin (**`states:TestState`** & **`iam:PassRole`**) aksine, bu teknik kendi başına çalışmaz — state machine üzerinde bir yürütmeyi başlatmak için ayrıca **`states:StartExecution`** veya **`states:StartSyncExecution`** izinlerine sahip olmanız gerekir (**`states:StartSyncExecution`** **standard workflows için mevcut değildir**, **sadece express state machines için**).
```bash
# Create a state machine
-aws states create-state-machine --name --definition --role-arn [--type ] [--logging-configuration ]\
+aws stepfunctions create-state-machine --name --definition --role-arn [--type ] [--logging-configuration ]\
[--tracing-configuration ] [--publish | --no-publish] [--version-description ]
# Start a state machine execution
-aws states start-execution --state-machine-arn [--name ] [--input ] [--trace-header ]
+aws stepfunctions start-execution --state-machine-arn [--name ] [--input ] [--trace-header ]
# Start a Synchronous Express state machine execution
-aws states start-sync-execution --state-machine-arn [--name ] [--input ] [--trace-header ]
+aws stepfunctions start-sync-execution --state-machine-arn [--name ] [--input ] [--trace-header ]
```
-Aşağıdaki örnekler, AWS ortamındaki izinleri ve izin verici bir rolü kullanarak **`admin`** kullanıcısı için bir access key oluşturan ve bu access key'i saldırgan kontrolündeki bir S3 bucket'ına sızdıran bir state machine'in nasıl oluşturulacağını gösterir. Bu izin verici rol, state machine'in **`iam:CreateAccessKey`** ve **`s3:putObject`** işlemlerini gerçekleştirmesine izin veren yüksek ayrıcalıklı bir policy ile ilişkilendirilmiş olmalıdır (örneğin **`arn:aws:iam::aws:policy/AdministratorAccess`**).
+Aşağıdaki örnekler, AWS ortamındaki bu izinler ve bir izin verici rol kullanılarak **`admin`** kullanıcısı için bir erişim anahtarı oluşturan ve bu erişim anahtarını saldırgan kontrolündeki bir S3 bucket'ına sızdıran bir state machine oluşturmayı gösterir. Bu izin verici rol, state machine'in **`iam:CreateAccessKey`** ve **`s3:putObject`** eylemlerini gerçekleştirmesine izin veren herhangi bir yüksek ayrıcalıklı policy'ye (örneğin **`arn:aws:iam::aws:policy/AdministratorAccess`**) sahip olmalıdır.
- **stateMachineDefinition.json**:
```json
@@ -115,7 +115,7 @@ Aşağıdaki örnekler, AWS ortamındaki izinleri ve izin verici bir rolü kulla
}
}
```
-- **Komut** **state machine oluşturmak için çalıştırıldı**:
+- **Komut** **durum makinesini oluşturmak** için çalıştırıldı:
```bash
aws stepfunctions create-state-machine --name MaliciousStateMachine --definition file://stateMachineDefinition.json --role-arn arn:aws:iam::123456789012:role/PermissiveRole
{
@@ -123,7 +123,7 @@ aws stepfunctions create-state-machine --name MaliciousStateMachine --definition
"creationDate": "2024-07-09T20:29:35.381000+02:00"
}
```
-- **Komut** daha önce oluşturulmuş durum makinesinin bir yürütmesini başlatmak için çalıştırıldı:
+- Daha önce oluşturulmuş state machine'in **çalıştırılmasını başlatmak** için yürütülen **Command**:
```json
aws stepfunctions start-execution --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:MaliciousStateMachine
{
@@ -132,26 +132,26 @@ aws stepfunctions start-execution --state-machine-arn arn:aws:states:us-east-1:1
}
```
> [!WARNING]
-> Saldırgan tarafından kontrol edilen S3 bucket, hedef hesaptan gelen bir s3:PutObject action'ını kabul etme izinlerine sahip olmalıdır.
+> Saldırganın kontrolündeki S3 bucket'ının, kurban hesaptan gelen bir s3:PutObject eylemini kabul etme iznine sahip olması gerekir.
-**Olası Etki**: İş akışlarının yetkisiz yürütülmesi ve manipülasyonu ile hassas kaynaklara erişim; bu durum potansiyel olarak önemli güvenlik ihlallerine yol açabilir.
+**Potansiyel Etki**: Yetkisiz yürütme ve iş akışlarının manipülasyonu ile hassas kaynaklara erişim; bu durum önemli güvenlik ihlallerine yol açabilir.
-### `states:UpdateStateMachine` & (her zaman gerekli olmayabilir) `iam:PassRole`
+### `states:UpdateStateMachine` & (her zaman gerekli olmayan) `iam:PassRole`
-**`states:UpdateStateMachine`** iznine sahip bir saldırgan, bir state machine'in tanımını değiştirebilir; privilege escalation ile sonuçlanabilecek ekstra gizli states ekleyebilir. Böylece meşru bir kullanıcı state machine'in execution'ını başlattığında, bu yeni kötü amaçlı gizli state çalıştırılacak ve privilege escalation başarılı olacaktır.
+Bir saldırgan, **`states:UpdateStateMachine`** iznine sahip olduğunda state machine tanımını değiştirebilir; gizli ek state'ler ekleyerek yetki yükseltmeye yol açabilir. Böylece, meşru bir kullanıcı state machine yürütmesini başlattığında, bu yeni kötü amaçlı gizli state çalıştırılır ve yetki yükseltme başarılı olur.
-State machine ile ilişkili IAM Role'un ne kadar geniş yetkili olduğuna bağlı olarak, saldırgan 2 durumla karşılaşır:
+State machine ile ilişkilendirilmiş IAM Role'ün ne kadar izinverici olduğuna bağlı olarak, saldırgan iki durumla karşılaşabilir:
-1. **Geniş yetkili IAM Role**: Eğer state machine ile ilişkili IAM Role zaten geniş yetkiliyse (örneğin **`arn:aws:iam::aws:policy/AdministratorAccess`** policy'si iliştirilmişse), privilege escalation için **`iam:PassRole`** iznine gerek yoktur; çünkü IAM Role'u da güncellemek gerekli olmayacak, state machine tanımını değiştirmek yeterlidir.
-2. **Sınırlı IAM Role**: Önceki durumun aksine, burada saldırganın ayrıca **`iam:PassRole`** iznine ihtiyacı olacaktır; çünkü state machine tanımını değiştirmeye ek olarak state machine'e geniş yetkili bir IAM Role iliştirmek gerekecektir.
+1. **İzinverici IAM Role**: Eğer state machine ile ilişkili IAM Role zaten izinverici ise (örneğin **`arn:aws:iam::aws:policy/AdministratorAccess`** politikasına sahipse), yetki yükseltmek için **`iam:PassRole`** izni gerekli olmaz; IAM Role'ü de güncellemek gerekmeyeceğinden state machine tanımını değiştirmek yeterlidir.
+2. **Kısıtlı IAM Role**: Bir önceki durumun tersine, burada saldırganın ayrıca **`iam:PassRole`** iznine ihtiyacı olur; çünkü state machine tanımını değiştirmeye ek olarak izinverici bir IAM Role'ü state machine'e ilişkilendirmek gerekir.
```bash
-aws states update-state-machine --state-machine-arn [--definition ] [--role-arn ] [--logging-configuration ] \
+aws stepfunctions update-state-machine --state-machine-arn [--definition ] [--role-arn ] [--logging-configuration ] \
[--tracing-configuration ] [--publish | --no-publish] [--version-description ]
```
-Aşağıdaki örnekler, yalnızca bir HelloWorld Lambda function çağıran meşru bir state machine'i, ekstra bir state ekleyerek **`unprivilegedUser`** kullanıcısını **`administrator`** IAM Group'a ekleyecek şekilde nasıl güncelleyeceğinizi gösterir. Böylece, meşru bir kullanıcı güncellenmiş state machine'in yürütmesini başlattığında, bu yeni kötü amaçlı gizli state çalıştırılacak ve yetki yükseltme başarılı olacaktır.
+Aşağıdaki örnekler, sadece bir HelloWorld Lambda fonksiyonunu çağıran meşru bir durum makinesini (state machine) güncelleyerek, kullanıcı **`unprivilegedUser`**'ı **`administrator`** IAM Grubu'na ekleyen ek bir durum (state) nasıl ekleyebileceğinizi gösterir. Bu şekilde, meşru bir kullanıcı güncellenmiş durum makinesinin bir yürütmesini başlattığında, bu yeni kötü amaçlı gizli durum çalıştırılacak ve ayrıcalık yükseltme başarılı olacaktır.
> [!WARNING]
-> Eğer state machine'e iliştirilmiş geniş izinlere sahip bir IAM Role yoksa, geniş izinlere sahip bir IAM Role'ü ilişkilendirmek için IAM Role'ü güncelleme amacıyla **`iam:PassRole`** izninin de gerekli olacaktır (örneğin **`arn:aws:iam::aws:policy/AdministratorAccess`** politikası eklenmiş bir role).
+> Eğer durum makinesine ilişkilendirilmiş geniş izinlere sahip bir IAM Role yoksa, daha izin verici bir IAM Role'ü ilişkilendirmek (örneğin **`arn:aws:iam::aws:policy/AdministratorAccess`** politikasının eklendiği bir rol) için IAM Role'u güncellemek amacıyla **`iam:PassRole`** izninin de gerekli olacaktır.
{{#tabs }}
{{#tab name="Legit State Machine" }}
@@ -218,7 +218,7 @@ Aşağıdaki örnekler, yalnızca bir HelloWorld Lambda function çağıran meş
{{#endtab }}
{{#endtabs }}
-- **Komut** yürütüldü **güncellemek** **meşru durum makinesini**:
+- **Komut**, **meşru durum makinesini** **güncellemek** amacıyla yürütüldü:
```bash
aws stepfunctions update-state-machine --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorldLambda --definition file://StateMachineUpdate.json
{
@@ -226,6 +226,6 @@ aws stepfunctions update-state-machine --state-machine-arn arn:aws:states:us-eas
"revisionId": "1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f"
}
```
-**Olası Etki**: Yetkisiz iş akışlarının yürütülmesi ve manipülasyonu ile hassas kaynaklara erişim, potansiyel olarak önemli güvenlik ihlallerine yol açabilir.
+**Potansiyel Etki**: Yetkisiz yürütme ve iş akışlarının manipülasyonu ile hassas kaynaklara erişim; bu durum önemli güvenlik ihlallerine yol açabilir.
{{#include ../../../../banners/hacktricks-training.md}}