diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-relational-database-rds-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-relational-database-rds-enum.md
index 3189ba51e..0be11ed50 100644
--- a/src/pentesting-cloud/aws-security/aws-services/aws-relational-database-rds-enum.md
+++ b/src/pentesting-cloud/aws-security/aws-services/aws-relational-database-rds-enum.md
@@ -4,73 +4,73 @@
## Temel Bilgiler
-AWS tarafından sunulan **İlişkisel Veritabanı Servisi (RDS)**, **bulutta bir ilişkisel veritabanının** dağıtımını, işletimini ve ölçeklenmesini kolaylaştırmak için tasarlanmıştır. Bu hizmet, donanım sağlama, veritabanı yapılandırması, yamanın uygulanması ve yedekleme gibi iş gücü yoğun görevleri otomatikleştirirken maliyet verimliliği ve ölçeklenebilirlik avantajları sunar.
+AWS tarafından sunulan **Relational Database Service (RDS)**, bulutta bir **ilişkisel veritabanının** konuşlandırılmasını, işletilmesini ve ölçeklendirilmesini kolaylaştırmak için tasarlanmıştır. Bu hizmet; donanım temini, veritabanı yapılandırması, patchleme ve yedeklemeler gibi emek yoğun görevleri otomatikleştirirken maliyet etkinliği ve ölçeklenebilirlik avantajı sağlar.
-AWS RDS, MySQL, PostgreSQL, MariaDB, Oracle Database, Microsoft SQL Server ve Amazon Aurora gibi yaygın olarak kullanılan çeşitli ilişkisel veritabanı motorlarını destekler ve hem MySQL hem de PostgreSQL ile uyumludur.
+AWS RDS, MySQL, PostgreSQL, MariaDB, Oracle Database, Microsoft SQL Server ve Amazon Aurora gibi yaygın kullanılan çeşitli ilişkisel veritabanı motorlarını destekler; MySQL ve PostgreSQL ile uyumluluğu bulunur.
-RDS'nin ana özellikleri şunlardır:
+RDS'in temel özellikleri şunlardır:
-- **Veritabanı örneklerinin yönetimi** basitleştirilmiştir.
-- Okuma performansını artırmak için **okuma kopyaları** oluşturma.
-- Yüksek kullanılabilirlik ve failover mekanizmalarını sağlamak için **çoklu Erişim Alanı (AZ) dağıtımları** yapılandırma.
-- Diğer AWS hizmetleri ile **entegrasyon**, örneğin:
-- Güçlü erişim kontrolü için AWS Kimlik ve Erişim Yönetimi (**IAM**).
+- **Veritabanı instance yönetimi** basitleştirilir.
+- **Okuma performansını artırmak için read replica'lar oluşturma.**
+- Yüksek kullanılabilirlik ve failover mekanizmalarını sağlamak için **multi-Availability Zone (AZ) dağıtımlarının yapılandırılması.**
+- Diğer AWS hizmetleriyle **entegrasyon**, örneğin:
+- Güçlü erişim kontrolü için AWS Identity and Access Management (**IAM**).
- Kapsamlı izleme ve metrikler için AWS **CloudWatch**.
-- Dinlenme sırasında şifrelemeyi sağlamak için AWS Anahtar Yönetim Servisi (**KMS**).
+- Verinin disk üzerinde şifrelenmesini sağlamak için AWS Key Management Service (**KMS**).
## Kimlik Bilgileri
-DB kümesi oluşturulurken ana **kullanıcı adı** yapılandırılabilir (**varsayılan olarak `admin`**). Bu kullanıcının şifresini oluşturmak için:
+DB kümesi oluşturulurken master **kullanıcı adı** yapılandırılabilir (varsayılan olarak **`admin`**). Bu kullanıcının parolasını oluşturmak için şunları yapabilirsiniz:
-- **Kendiniz bir şifre belirtin**
-- RDS'ye **otomatik olarak oluşturmasını** söyleyin
-- RDS'ye **AWS Secret Manager**'da KMS anahtarı ile şifrelenmiş olarak yönetmesini söyleyin
+- Parolayı kendiniz **belirtme**
+- RDS'e parolayı **otomatik oluşturmasını** söyleme
+- RDS'e parolayı bir KMS anahtarı ile şifrelenmiş olarak **AWS Secret Manager**'da yönetmesini söyleme
### Kimlik Doğrulama
-3 tür kimlik doğrulama seçeneği vardır, ancak **ana şifre her zaman kullanılabilir**:
+Üç tür kimlik doğrulama seçeneği vardır, ancak **ana parola kullanımı her zaman izinlidir**:
### Genel Erişim & VPC
-Varsayılan olarak veritabanlarına **herhangi bir genel erişim verilmez**, ancak **verilebilir**. Bu nedenle, varsayılan olarak yalnızca aynı VPC'den makineler, seçilen **güvenlik grubu** (EC2 SG'de saklanır) izin veriyorsa buna erişebilecektir.
+Varsayılan olarak veritabanlarına **herhangi bir genel erişim verilmez**, ancak erişim **verilebilir**. Bu nedenle varsayılan olarak yalnızca aynı VPC içindeki makineler, seçilen **security group** (EC2 SG içinde saklanır) izin veriyorsa erişebilir.
-Bir DB örneğini açığa çıkarmak yerine, DB kümesinin **ölçeklenebilirliğini** ve **kullanılabilirliğini artıran** bir **RDS Proxy** oluşturmak mümkündür.
+Bir DB instance'ını açığa çıkarmak yerine, DB kümesinin **ölçeklenebilirliğini** ve **kullanılabilirliğini** **iyileştiren** bir **RDS Proxy** oluşturmak mümkündür.
-Ayrıca, **veritabanı portu da değiştirilebilir**.
+Ayrıca **veritabanı portu da değiştirilebilir**.
### Şifreleme
-**Şifreleme varsayılan olarak etkindir** ve AWS yönetilen bir anahtar kullanır (bir CMK yerine seçilebilir).
+**Şifreleme varsayılan olarak etkindir** ve AWS yönetilen bir anahtar kullanılır (istenirse bir CMK seçilebilir).
-Şifrelemenizi etkinleştirerek, **depolama, anlık görüntüler, okuma kopyaları ve yedekleriniz için dinlenme sırasında şifrelemeyi** etkinleştiriyorsunuz. Bu şifrelemeyi yönetmek için anahtarlar **KMS** kullanılarak verilebilir.\
-Veritabanınız oluşturulduktan sonra bu düzeyde bir şifreleme eklemek mümkün değildir. **Bu, oluşturulması sırasında yapılmalıdır**.
+Şifrelemeyi etkinleştirerek, **depolama, snapshot'lar, read replica'lar ve yedekler için at-rest şifrelemesini** etkinleştirmiş olursunuz. Bu şifrelemeyi yönetmek için anahtarlar **KMS** kullanılarak verilebilir.\
+Veritabanınız oluşturulduktan sonra bu şifreleme düzeyi eklemek mümkün değildir. **Oluşturma sırasında yapılmalıdır**.
-Ancak, **şifrelenmemiş bir veritabanını şifrelemek için bir geçici çözüm** vardır. Şifrelenmemiş veritabanınızın bir anlık görüntüsünü oluşturabilir, o anlık görüntünün şifrelenmiş bir kopyasını oluşturabilir, bu şifrelenmiş anlık görüntüyü kullanarak yeni bir veritabanı oluşturabilir ve sonunda veritabanınız şifrelenmiş olur.
+Ancak, **şifrelenmemiş bir veritabanını şu şekilde şifrelemenizi sağlayan bir çözüm** vardır. Şifrelenmemiş veritabanınızın bir snapshot'unu oluşturabilir, o snapshot'un şifrelenmiş bir kopyasını oluşturabilir, bu şifreli snapshot'u yeni bir veritabanı oluşturmak için kullanabilir ve sonuçta yeni veritabanınız şifrelenmiş olur.
-#### Şeffaf Veri Şifrelemesi (TDE)
+#### Transparent Data Encryption (TDE)
-RDS'nin uygulama düzeyindeki şifreleme yeteneklerine ek olarak, RDS ayrıca dinlenme halindeki verileri korumak için **ek platform düzeyi şifreleme mekanizmalarını** destekler. Bu, Oracle ve SQL Server için **Şeffaf Veri Şifrelemesi (TDE)**'yi içerir. Ancak, TDE'nin dinlenme halindeki verileri şifreleyerek güvenliği artırdığına dikkat etmek önemlidir, bu aynı zamanda **veritabanı performansını etkileyebilir**. Bu performans etkisi, MySQL kriptografik işlevleri veya Microsoft Transact-SQL kriptografik işlevleri ile birlikte kullanıldığında özellikle belirgindir.
+RDS'nin uygulama düzeyindeki şifreleme yeteneklerinin yanı sıra, RDS aynı zamanda verinin disk üzerinde korunması için **ek platform düzeyi şifreleme mekanizmalarını** destekler. Bu, Oracle ve SQL Server için **Transparent Data Encryption (TDE)**'yi içerir. Ancak, TDE veriyi disk üzerinde şifreleyerek güvenliği artırırken **veritabanı performansını etkileyebileceğini** belirtmek önemlidir. Bu performans etkisi, özellikle MySQL kriptografik fonksiyonları veya Microsoft Transact-SQL kriptografik fonksiyonları ile birlikte kullanıldığında fark edilir hale gelir.
-TDE'yi kullanmak için belirli ön adımlar gereklidir:
+TDE'yi kullanmak için bazı ön adımlar gereklidir:
-1. **Seçenek Grubu İlişkilendirmesi**:
-- Veritabanı bir seçenek grubuna ilişkilendirilmelidir. Seçenek grupları, ayarları ve özellikleri içeren konteynerler olarak işlev görerek güvenlik iyileştirmeleri de dahil olmak üzere veritabanı yönetimini kolaylaştırır.
-- Ancak, seçenek gruplarının yalnızca belirli veritabanı motorları ve sürümleri için mevcut olduğunu belirtmek önemlidir.
-2. **Seçenek Grubunda TDE'nin Dahil Edilmesi**:
-- Bir seçenek grubuna ilişkilendirildikten sonra, Oracle Şeffaf Veri Şifrelemesi seçeneği o gruba dahil edilmelidir.
-- TDE seçeneği bir seçenek grubuna eklendikten sonra, kalıcı bir parça haline geldiğini ve çıkarılamayacağını kabul etmek önemlidir.
-3. **TDE Şifreleme Modları**:
-- TDE, iki farklı şifreleme modu sunar:
-- **TDE Tablosu Alanı Şifrelemesi**: Bu mod, tüm tabloları şifreler ve daha geniş bir veri koruma kapsamı sağlar.
-- **TDE Sütun Şifrelemesi**: Bu mod, veritabanındaki belirli, bireysel öğeleri şifrelemeye odaklanır ve hangi verilerin şifreleneceği üzerinde daha ayrıntılı kontrol sağlar.
+1. **Option Group Association**:
+- Veritabanının bir option group ile ilişkilendirilmesi gerekir. Option group'lar, ayarlar ve özellikler için konteyner görevi görerek veritabanı yönetimini ve güvenlik iyileştirmelerini kolaylaştırır.
+- Ancak, option group'ların yalnızca belirli veritabanı motorları ve sürümleri için mevcut olduğunu belirtmek önemlidir.
+2. **Inclusion of TDE in Option Group**:
+- Bir option group ile ilişkilendirildikten sonra, Oracle Transparent Data Encryption seçeneğinin o gruba eklenmesi gerekir.
+- TDE seçeneği bir option group'a eklendikten sonra bunun kalıcı hale geldiğini ve kaldırılamayacağını bilmek önemlidir.
+3. **TDE Encryption Modes**:
+- TDE iki farklı şifreleme modu sunar:
+- **TDE Tablespace Encryption**: Bu mod tüm tabloları şifreler ve daha geniş kapsamlı veri koruması sağlar.
+- **TDE Column Encryption**: Bu mod, veritabanı içindeki belirli, tekil öğelerin şifrelenmesine odaklanır ve hangi verilerin şifreleneceği üzerinde daha ayrıntılı kontrol sağlar.
-Bu ön koşulları ve TDE'nin operasyonel karmaşıklıklarını anlamak, RDS içinde şifrelemeyi etkili bir şekilde uygulamak ve yönetmek için kritik öneme sahiptir ve hem veri güvenliğini hem de gerekli standartlara uyumu sağlar.
+Bu ön koşulların ve TDE'nin operasyonel ayrıntılarının anlaşılması, RDS içinde şifrelemeyi etkin şekilde uygulamak ve yönetmek için, veri güvenliğini sağlamak ve gerekli standartlara uyumluluğu temin etmek açısından kritiktir.
-### Sayım
+### Enumeration
```bash
# Clusters info
## Get Endpoints, username, port, iam auth enabled, attached roles, SG
@@ -80,6 +80,10 @@ aws rds describe-db-cluster-backtracks --db-cluster-identifier
## Cluster snapshots
aws rds describe-db-cluster-snapshots
+aws rds describe-db-cluster-snapshots --include-public --snapshot-type public
+
+## Restore cluster snapshot as new instance
+aws rds restore-db-instance-from-db-snapshot --db-cluster-identifier --snapshot-identifier
# Get DB instances info
aws rds describe-db-instances #username, url, port, vpc, SG, is public?
@@ -91,6 +95,7 @@ aws rds describe-db-instance-automated-backups
## Find snapshots
aws rds describe-db-snapshots
aws rds describe-db-snapshots --include-public --snapshot-type public
+
## Restore snapshot as new instance
aws rds restore-db-instance-from-db-snapshot --db-instance-identifier --db-snapshot-identifier --availability-zone us-west-2a
@@ -105,33 +110,33 @@ aws rds describe-db-proxy-targets
## reset credentials of MasterUsername
aws rds modify-db-instance --db-instance-identifier --master-user-password --apply-immediately
```
-### Kimlik Doğrulama Olmadan Erişim
+### Unauthenticated Access
{{#ref}}
../aws-unauthenticated-enum-access/aws-rds-unauthenticated-enum/README.md
{{#endref}}
-### Yetki Yükseltme
+### Privesc
{{#ref}}
../aws-privilege-escalation/aws-rds-privesc/README.md
{{#endref}}
-### İstismar Sonrası
+### Post Exploitation
{{#ref}}
../aws-post-exploitation/aws-rds-post-exploitation/README.md
{{#endref}}
-### Süreklilik
+### Persistence
{{#ref}}
../aws-persistence/aws-rds-persistence/README.md
{{#endref}}
-### SQL Enjeksiyonu
+### SQL Injection
-DynamoDB verilerine **SQL sözdizimi** ile erişim yolları vardır, bu nedenle, tipik **SQL enjeksiyonları da mümkündür**.
+DynamoDB verilerine **SQL syntax** ile erişmenin yolları vardır; bu nedenle tipik **SQL injections** de mümkündür.
{{#ref}}
https://book.hacktricks.wiki/en/pentesting-web/sql-injection/index.html
diff --git a/src/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-rds-unauthenticated-enum/README.md b/src/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-rds-unauthenticated-enum/README.md
index cddcfadaa..f3b3719ea 100644
--- a/src/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-rds-unauthenticated-enum/README.md
+++ b/src/pentesting-cloud/aws-security/aws-unauthenticated-enum-access/aws-rds-unauthenticated-enum/README.md
@@ -10,13 +10,13 @@ Daha fazla bilgi için bakınız:
../../aws-services/aws-relational-database-rds-enum.md
{{#endref}}
-## Genel Port
+## Açık Port
-İnternetten veritabanına genel erişim vermek mümkündür. Saldırganın yine de veritabanına girebilmek için **kullanıcı adı ve parola**, IAM erişimi veya bir **exploit** bilmesi gerekir.
+Halka açık olarak **internet üzerinden veritabanına** erişim vermek mümkündür. Saldırganın yine de veritabanına girebilmesi için **kullanıcı adını ve şifreyi bilmesi,** IAM erişimi veya bir **exploit**'e ihtiyacı olacaktır.
-## Herkese Açık RDS Snapshots
+## Herkese Açık RDS Snapshot'ları
-AWS, RDS snapshot'larını indirmek için **herkese erişim verme** imkanı sağlar. Bu herkese açık RDS snapshots'larını kendi hesabınızdan çok kolay listeleyebilirsiniz:
+AWS, **herkesin RDS snapshot'larını indirebilmesine** izin verir. Bu herkese açık RDS snapshot'larını kendi hesabınızdan çok kolay listeleyebilirsiniz:
```bash
# Public RDS snapshots
aws rds describe-db-snapshots --include-public
@@ -32,7 +32,20 @@ aws rds describe-db-snapshots --snapshot-type public [--region us-west-2]
## Even if in the console appear as there are public snapshot it might be public
## snapshots from other accounts used by the current account
```
-### Genel URL şablonu
+## Herkese Açık RDS Küme Anlık Görüntüleri
+
+Benzer şekilde, küme anlık görüntülerini de arayabilirsiniz.
+```bash
+# Public RDS cluster snapshots
+aws rds describe-db-cluster-snapshots --include-public
+
+## Search by account ID
+aws rds describe-db-cluster-snapshots --include-public --query 'DBClusterSnapshots[?contains(DBClusterSnapshotIdentifier, `284546856933:`) == `true`]'
+
+# From the own account you can check if there is any public cluster snapshot with:
+aws rds describe-db-cluster-snapshots --snapshot-type public [--region us-west-2]
+```
+### Herkese açık URL şablonu
```
mysql://{user_provided}.{random_id}.{region}.rds.amazonaws.com:3306
postgres://{user_provided}.{random_id}.{region}.rds.amazonaws.com:5432