From 1dc859a2b919e3aacd5cc571f41ca79e550c3b82 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 12 Feb 2026 12:52:30 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/aws-security/aws-post-exploitation/aws --- .../aws-ses-post-exploitation/README.md | 28 +++-- .../aws-workmail-post-exploitation/README.md | 76 +++++++++++++ .../aws-security/aws-services/aws-iam-enum.md | 106 ++++++++++-------- 3 files changed, 155 insertions(+), 55 deletions(-) create mode 100644 src/pentesting-cloud/aws-security/aws-post-exploitation/aws-workmail-post-exploitation/README.md diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation/README.md index f7e862ee7..94ed20c5c 100644 --- a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation/README.md +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-ses-post-exploitation/README.md @@ -4,7 +4,7 @@ ## SES -Daha fazla bilgi için bakınız: +Daha fazla bilgi için bakın: {{#ref}} ../../aws-services/aws-ses-enum.md @@ -12,7 +12,7 @@ Daha fazla bilgi için bakınız: ### `ses:SendEmail` -Bir e-posta gönderir. +E-posta gönderir. ```bash aws ses send-email --from sender@example.com --destination file://emails.json --message file://message.json aws sesv2 send-email --from sender@example.com --destination file://emails.json --message file://message.json @@ -21,7 +21,7 @@ Henüz test edilmedi. ### `ses:SendRawEmail` -E-posta gönderir. +Bir e-posta gönderir. ```bash aws ses send-raw-email --raw-message file://message.json ``` @@ -29,7 +29,7 @@ Henüz test edilmedi. ### `ses:SendTemplatedEmail` -Bir şablona dayalı e-posta gönder. +Bir şablona dayalı e-posta gönderir. ```bash aws ses send-templated-email --source --destination --template ``` @@ -37,7 +37,7 @@ Henüz test edilmedi. ### `ses:SendBulkTemplatedEmail` -Bir e-postayı birden fazla hedefe gönder +Bir e-postayı birden fazla alıcıya gönderir. ```bash aws ses send-bulk-templated-email --source --template ``` @@ -45,13 +45,13 @@ Henüz test edilmedi. ### `ses:SendBulkEmail` -Birden fazla hedefe e-posta gönderir. +Bir e-postayı birden çok hedefe gönderir. ``` aws sesv2 send-bulk-email --default-content --bulk-email-entries ``` ### `ses:SendBounce` -Alınan bir e-posta üzerinde **bounce e-postası** gönderir (e-postanın alınamadığını bildirir). Bu, e-postayı aldıktan sonra **en fazla 24 saat içinde** yapılabilir. +Alınan bir e-posta üzerine **bounce email** gönderin (e-postanın alınamadığını belirtir). Bu, e-posta alındıktan **sonraki 24 saat içinde** yapılabilir. ```bash aws ses send-bounce --original-message-id --bounce-sender --bounced-recipient-info-list ``` @@ -59,11 +59,23 @@ Henüz test edilmedi. ### `ses:SendCustomVerificationEmail` -Bu, özelleştirilmiş bir doğrulama e-postası gönderir. Şablon e-postayı oluşturmak için ayrıca izinlere ihtiyaç duyabilirsiniz. +Bu, özelleştirilmiş bir doğrulama e-postası gönderecektir. Şablon e-postayı oluşturmak için ayrıca izinlere ihtiyacınız olabilir. ```bash aws ses send-custom-verification-email --email-address --template-name aws sesv2 send-custom-verification-email --email-address --template-name ``` Henüz test edilmedi. +## WorkMail pivot ile SES sandbox'ını atlatma + +`ses:GetAccount` hesabın hâlâ SES sandbox'ında olduğunu ve `ses:ListIdentities` hiçbir doğrulanmış gönderici döndürmediğini gösterdiğinde, saldırganlar organizasyonlar oluşturarak, alan adlarını doğrulayarak ve posta kutuları kaydederek hemen göndermek için **pivot to WorkMail** yapabilir (sandbox yok ve daha yüksek varsayılan kotalar). + +{{#ref}} +../aws-workmail-post-exploitation/README.md +{{#endref}} + +## Kaynaklar + +- [Threat Actors Using AWS WorkMail in Phishing Campaigns](https://www.rapid7.com/blog/post/dr-threat-actors-aws-workmail-phishing-campaigns) + {{#include ../../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-workmail-post-exploitation/README.md b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-workmail-post-exploitation/README.md new file mode 100644 index 000000000..ffe00c13a --- /dev/null +++ b/src/pentesting-cloud/aws-security/aws-post-exploitation/aws-workmail-post-exploitation/README.md @@ -0,0 +1,76 @@ +# AWS - WorkMail Post Exploitation + +{{#include ../../../../banners/hacktricks-training.md}} + +## WorkMail'i kullanarak SES sandbox'ını atlatma + +Even if SES is stuck in the **sandbox** (verified-recipient only, ~200 msgs/24h, 1 msg/s), WorkMail has no equivalent restriction. Uzun süreli anahtarlara sahip bir saldırgan geçici mail altyapısı kurup hemen göndermeye başlayabilir: + +1. **WorkMail org oluştur (bölgeye özel)** +```bash +aws workmail create-organization --region us-east-1 --alias temp-mail --directory-id +``` +2. **Saldırgana ait domainleri doğrulama** (WorkMail, SES API'lerini `workmail.amazonaws.com` olarak çağırır): +```bash +aws ses verify-domain-identity --domain attacker-domain.com +aws ses verify-domain-dkim --domain attacker-domain.com +``` +3. **Posta kutusu kullanıcıları oluştur** ve kaydet: +```bash +aws workmail create-user --organization-id --name marketing --display-name "Marketing" +aws workmail register-to-work-mail --organization-id --entity-id --email marketing@attacker-domain.com +``` + +Notlar: +- AWS tarafından belgelenen varsayılan **recipient cap**: **100,000 external recipients/day per org** (kullanıcılar arasında toplanır). +- Domain doğrulama etkinlikleri CloudTrail'de SES altında görünecektir ancak `invokedBy`: `workmail..amazonaws.com` ile, bu nedenle SES doğrulama olayları SES kampanyalarından ziyade WorkMail kurulumu ile ilişkili olabilir. +- WorkMail posta kutusu kullanıcıları, IAM kullanıcılarından bağımsız olarak **application-layer persistence** haline gelir. + +## Gönderim yolları ve telemetri boşlukları + +### Web istemcisi (WorkMail UI) +- CloudTrail'de **`ses:SendRawEmail`** eventleri olarak görünür. +- `userIdentity.type` = `AWSService`, `invokedBy/sourceIPAddress/userAgent` = `workmail..amazonaws.com`, bu yüzden **gerçek istemci IP'si gizlenir**. +- `requestParameters` yine de sender'ı leak eder (`source`, `fromArn`, `sourceArn`, configuration set) ve yeni doğrulanmış domain/posta kutuları ile korelasyon yapmak için bilgi verir. + +### SMTP (en gizli) +- Uç nokta: `smtp.mail..awsapps.com:465` (SMTP over SSL) ve posta kutusu parolası ile. +- **No CloudTrail data events** SMTP teslimi için oluşturulmaz, SES data events etkin olsa bile. +- İdeal tespit noktaları **org/domain/user provisioning** ve sonraki web üzerinden gönderilen `SendRawEmail` eventlerinde referans verilen SES identity ARN'leridir. + +
+Example SMTP send via WorkMail +```python +import smtplib +from email.message import EmailMessage + +SMTP_SERVER = "smtp.mail.us-east-1.awsapps.com" +SMTP_PORT = 465 +EMAIL_ADDRESS = "marketing@attacker-domain.com" +EMAIL_PASSWORD = "SuperSecretPassword!" + +target = "victim@example.com" # can be unverified/external +msg = EmailMessage() +msg["Subject"] = "WorkMail SMTP" +msg["From"] = EMAIL_ADDRESS +msg["To"] = target +msg.set_content("Delivered via WorkMail SMTP") + +with smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT) as smtp: +smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD) +smtp.send_message(msg) +``` +
+ +## Tespit hususları + +- WorkMail gereksizse, organizasyon düzeyinde **SCPs** ile (`workmail:*` deny) engelleyin. +- Provisioning için uyarı oluşturun: `workmail:CreateOrganization`, `workmail:CreateUser`, `workmail:RegisterToWorkMail` ve `invokedBy=workmail.amazonaws.com` ile yapılan SES doğrulamaları (`ses:VerifyDomainIdentity`, `ses:VerifyDomainDkim`). +- Kimlik ARN'lerinin yeni domainlere işaret ettiği ve kaynak IP/UA'nın `workmail..amazonaws.com` olduğu anormal **`ses:SendRawEmail`** olaylarını izleyin. + +## Referanslar + +- [Threat Actors Using AWS WorkMail in Phishing Campaigns](https://www.rapid7.com/blog/post/dr-threat-actors-aws-workmail-phishing-campaigns) +- [AWS WorkMail limits](https://docs.aws.amazon.com/workmail/latest/adminguide/limits.html) + +{{#include ../../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-iam-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-iam-enum.md index 672eeb49e..7940f7492 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-iam-enum.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-iam-enum.md @@ -1,20 +1,20 @@ -# AWS - IAM, Kimlik Merkezi & SSO Enum +# AWS - IAM, Identity Center & SSO Enum {{#include ../../../banners/hacktricks-training.md}} ## IAM -**IAM'in tanımını** burada bulabilirsiniz: +Aşağıda IAM için bir **açıklama** bulabilirsiniz: {{#ref}} ../aws-basic-information/ {{#endref}} -### Enumeration +### Taramalar Gerekli ana izinler: -- `iam:ListPolicies`, `iam:GetPolicy` ve `iam:GetPolicyVersion` +- `iam:ListPolicies`, `iam:GetPolicy` and `iam:GetPolicyVersion` - `iam:ListRoles` - `iam:ListUsers` - `iam:ListGroups` @@ -22,9 +22,9 @@ Gerekli ana izinler: - `iam:ListAttachedUserPolicies` - `iam:ListAttachedRolePolicies` - `iam:ListAttachedGroupPolicies` -- `iam:ListUserPolicies` ve `iam:GetUserPolicy` -- `iam:ListGroupPolicies` ve `iam:GetGroupPolicy` -- `iam:ListRolePolicies` ve `iam:GetRolePolicy` +- `iam:ListUserPolicies` and `iam:GetUserPolicy` +- `iam:ListGroupPolicies` and `iam:GetGroupPolicy` +- `iam:ListRolePolicies` and `iam:GetRolePolicy` ```bash # All IAMs ## Retrieves information about all IAM users, groups, roles, and policies @@ -88,37 +88,49 @@ aws iam get-account-password-policy aws iam list-mfa-devices aws iam list-virtual-mfa-devices ``` -### İzinler Kaba Kuvvet +### Kasıtlı hatalar yoluyla gizli izin doğrulama -Kendi izinlerinizle ilgileniyorsanız ancak IAM sorgulamak için erişiminiz yoksa, her zaman bunları kaba kuvvetle elde edebilirsiniz. +When `List*` or simulator APIs are blocked, you can **öngörülebilir doğrulama hataları oluşturarak kalıcı kaynak yaratmadan mutasyon izinlerini doğrulayabilirsiniz**. AWS yine de bu hataları döndürmeden önce IAM'i değerlendirir; bu yüzden hatayı görmek, isteği yapanın ilgili action'a sahip olduğunu kanıtlar: +```bash +# Confirm iam:CreateUser without creating a new principal (fails only after authz) +aws iam create-user --user-name # -> EntityAlreadyExistsException + +# Confirm iam:CreateLoginProfile while learning password policy requirements +aws iam create-login-profile --user-name --password lower --password-reset-required # -> PasswordPolicyViolationException +``` +Bu denemeler yine CloudTrail olayları oluşturur (`errorCode` ayarlı olarak) ancak yeni IAM artefaktları bırakmaktan kaçınır; bu yüzden etkileşimli keşif sırasında **düşük-gürültülü izin doğrulaması** için kullanışlıdır. + +### İzinler Brute Force + +Kendi izinlerinizi merak ediyorsanız ama IAM sorgulama erişiminiz yoksa, onları her zaman brute-force ile deneyebilirsiniz. #### bf-aws-permissions -Araç [**bf-aws-permissions**](https://github.com/carlospolop/bf-aws-permissions), belirtilen profili kullanarak **`list*`, `describe*`, `get*`** eylemlerini bulmak için `aws` cli yardım mesajlarını kullanarak çalışacak bir bash betiğidir ve **başarılı yürütmeleri** döndürecektir. +The tool [**bf-aws-permissions**](https://github.com/carlospolop/bf-aws-permissions) is just a bash script that will run using the indicated profile all the **`list*`, `describe*`, `get*`** actions it can find using `aws` cli help messages and **return the successful executions**. ```bash # Bruteforce permissions bash bf-aws-permissions.sh -p default > /tmp/bf-permissions-verbose.txt ``` #### bf-aws-perms-simulate -Araç [**bf-aws-perms-simulate**](https://github.com/carlospolop/bf-aws-perms-simulate), **`iam:SimulatePrincipalPolicy`** iznine sahipseniz, mevcut izinlerinizi (veya diğer ilkelerin izinlerini) bulabilir. +Bu araç [**bf-aws-perms-simulate**](https://github.com/carlospolop/bf-aws-perms-simulate), eğer **`iam:SimulatePrincipalPolicy`** iznine sahipseniz mevcut izinlerinizi (veya diğer principal'lerin izinlerini) bulabilir. ```bash # Ask for permissions python3 aws_permissions_checker.py --profile [--arn ] ``` #### Perms2ManagedPolicies -Eğer **kullanıcınızın sahip olduğu bazı izinler bulduysanız** ve bunların **yönetilen bir AWS rolü** tarafından verildiğini düşünüyorsanız (veya özel bir rol tarafından değilse). Bulduğunuz **izinleri veren tüm AWS yönetilen rollerini** kontrol etmek için [**aws-Perms2ManagedRoles**](https://github.com/carlospolop/aws-Perms2ManagedPolicies) aracını kullanabilirsiniz. +Eğer kullanıcınızın **sahip olduğu bazı izinleri** keşfettiyseniz ve bunların bir **managed AWS role** (özel bir rol tarafından değil) tarafından verildiğini düşünüyorsanız, sahip olduğunuzu keşfettiğiniz izinleri veren tüm **AWS managed roles**'u kontrol etmek için [**aws-Perms2ManagedRoles**](https://github.com/carlospolop/aws-Perms2ManagedPolicies) aracını kullanabilirsiniz. ```bash # Run example with my profile python3 aws-Perms2ManagedPolicies.py --profile myadmin --permissions-file example-permissions.txt ``` > [!WARNING] -> AWS yönetilen bir rol tarafından verilen izinlere sahip olup olmadığınızı "bilmek" mümkündür, eğer **kullanılmayan hizmetler üzerinde izinleriniz olduğunu görüyorsanız** örneğin. +> Örneğin **kullanılmayan hizmetler üzerinde yetkiniz olduğunu** görürseniz, sahip olduğunuz izinlerin AWS tarafından yönetilen bir role verildiğini "bilmek" mümkün olabilir. #### Cloudtrail2IAM -[**CloudTrail2IAM**](https://github.com/carlospolop/Cloudtrail2IAM) , **AWS CloudTrail günlüklerini analiz eden ve herkesin veya sadece belirli bir kullanıcının veya rolün yaptığı eylemleri özetleyen** bir Python aracıdır. Araç, **belirtilen bucket'tan her cloudtrail günlüğünü ayrıştıracaktır.** +[**CloudTrail2IAM**](https://github.com/carlospolop/Cloudtrail2IAM) bir Python aracıdır; herkesin veya sadece belirli bir kullanıcı veya rolün gerçekleştirdiği eylemleri çıkarmak ve özetlemek için **AWS CloudTrail logs**'ı analiz eder. Araç **belirtilen bucket'taki her cloudtrail logunu parse edecek**. ```bash git clone https://github.com/carlospolop/Cloudtrail2IAM cd Cloudtrail2IAM @@ -126,16 +138,16 @@ pip install -r requirements.txt python3 cloudtrail2IAM.py --prefix PREFIX --bucket_name BUCKET_NAME --profile PROFILE [--filter-name FILTER_NAME] [--threads THREADS] ``` > [!WARNING] -> Eğer .tfstate (Terraform durum dosyaları) veya CloudFormation dosyaları (genellikle cf-templates ön eki ile bir bucket içinde bulunan yaml dosyalarıdır) bulursanız, aws yapılandırmasını bulmak ve kimin hangi izinlere sahip olduğunu öğrenmek için bunları da okuyabilirsiniz. +> Eğer .tfstate (Terraform state dosyaları) veya CloudFormation dosyaları (genellikle cf-templates önekine sahip bir bucket içinde bulunan yaml dosyaları) bulursanız, bunları okuyarak aws yapılandırmasını ve hangi izinlerin kime atandığını tespit edebilirsiniz. #### enumerate-iam -Aracı kullanmak için [**https://github.com/andresriancho/enumerate-iam**](https://github.com/andresriancho/enumerate-iam) önce tüm API AWS uç noktalarını indirmeniz gerekir, bu uç noktalardan **`generate_bruteforce_tests.py`** scripti tüm **"list\_", "describe\_", ve "get\_" uç noktalarını alacaktır.** Ve sonunda, verilen kimlik bilgileri ile **erişmeye çalışacak** ve **başarıp başaramadığını belirtecektir.** +Aracı [**https://github.com/andresriancho/enumerate-iam**](https://github.com/andresriancho/enumerate-iam) kullanmak için önce tüm AWS API endpoint'lerini indirmeniz gerekir; bu endpoint'lerden script **`generate_bruteforce_tests.py`** tüm **"list\_", "describe\_", and "get\_" endpoints.** alacaktır. Son olarak verilen kimlik bilgileriyle bunlara **erişmeyi dener** ve **çalışıp çalışmadığını belirtir**. -(Benim deneyimime göre **araç bir noktada takılıyor**, [**bu düzeltmeye göz atın**](https://github.com/andresriancho/enumerate-iam/pull/15/commits/77ad5b41216e3b5f1511d0c385da8cd5984c2d3c) bunu düzeltmeye çalışmak için). +(Benim deneyimime göre **tool bir noktada takılıyor**, [**checkout this fix**](https://github.com/andresriancho/enumerate-iam/pull/15/commits/77ad5b41216e3b5f1511d0c385da8cd5984c2d3c) bunu düzeltmek için). > [!WARNING] -> Benim deneyimime göre bu araç bir önceki gibi ama daha kötü çalışıyor ve daha az izin kontrol ediyor. +> Benim deneyimime göre bu tool önceki olandan daha kötü çalışıyor ve daha az izin kontrolü yapıyor ```bash # Install tool git clone git@github.com:andresriancho/enumerate-iam.git @@ -154,7 +166,7 @@ python3 enumerate-iam.py --access-key ACCESS_KEY --secret-key SECRET_KEY [--sess ``` #### weirdAAL -Ayrıca [**weirdAAL**](https://github.com/carnal0wnage/weirdAAL/wiki) aracını da kullanabilirsiniz. Bu araç, **birçok yaygın hizmette birkaç yaygın işlemi kontrol edecektir** (bazı enum izinlerini ve ayrıca bazı privesc izinlerini kontrol edecektir). Ancak yalnızca kodlanmış kontrolleri kontrol edecektir (daha fazla şeyi kontrol etmenin tek yolu daha fazla test kodlamaktır). +Bu aracı ayrıca [**weirdAAL**](https://github.com/carnal0wnage/weirdAAL/wiki) kullanabilirsiniz. Bu araç **birçok yaygın serviste birçok yaygın işlemi** kontrol edecektir (bazı enumeration izinlerini ve ayrıca bazı privesc izinlerini kontrol eder). Ancak yalnızca kodlanmış kontrolleri denetler (daha fazla şeyi kontrol etmenin tek yolu daha fazla test kodlamaktır). ```bash # Install git clone https://github.com/carnal0wnage/weirdAAL.git @@ -178,7 +190,7 @@ python3 weirdAAL.py -m recon_all -t MyTarget # Check all permissions # [+] elbv2 Actions allowed are [+] # ['DescribeLoadBalancers', 'DescribeAccountLimits', 'DescribeTargetGroups'] ``` -#### İzinleri BF için Güçlendirme Araçları +#### BF izinleri için Sertleştirme Araçları {{#tabs }} {{#tab name="CloudSploit" }} @@ -208,43 +220,43 @@ steampipe dashboard #### \ -Önceki araçların hiçbiri tüm izinleri kontrol etme kapasitesine sahip değildir, bu yüzden daha iyi bir araç biliyorsanız bir PR gönderin! +Önceki araçların hiçbiri neredeyse tüm izinleri kontrol edebilecek kadar kapsamlı değil; daha iyi bir araç biliyorsanız PR gönderin! -### Kimlik Doğrulaması Olmayan Erişim +### Unauthenticated Access {{#ref}} ../aws-unauthenticated-enum-access/aws-iam-and-sts-unauthenticated-enum/README.md {{#endref}} -### Yetki Yükseltme +### Privilege Escalation -Aşağıdaki sayfada **IAM izinlerini kötüye kullanarak yetki yükseltme** yöntemini kontrol edebilirsiniz: +Aşağıdaki sayfada **abuse IAM permissions to escalate privileges** nasıl yapılacağını inceleyebilirsiniz: {{#ref}} ../aws-privilege-escalation/aws-iam-privesc/README.md {{#endref}} -### IAM Sonrası İstismar +### IAM Post Exploitation {{#ref}} ../aws-post-exploitation/aws-iam-post-exploitation/README.md {{#endref}} -### IAM Sürekliliği +### IAM Persistence {{#ref}} ../aws-persistence/aws-iam-persistence/README.md {{#endref}} -## IAM Kimlik Merkezi +## IAM Identity Center -**IAM Kimlik Merkezi** hakkında bir açıklama bulabilirsiniz: +IAM Identity Center açıklamasını şu adreste bulabilirsiniz: {{#ref}} ../aws-basic-information/ {{#endref}} -### CLI ile SSO üzerinden Bağlanın +### Connect via SSO with CLI ```bash # Connect with sso via CLI aws configure sso aws configure sso @@ -255,18 +267,18 @@ sso_account_id = sso_role_name = AdministratorAccess sso_region = us-east-1 ``` -### Enumeration +### Enumerasyon -Identity Center'ın ana unsurları şunlardır: +Identity Center'ın ana öğeleri şunlardır: - Kullanıcılar ve gruplar -- İzin Setleri: Politikalara sahiptir -- AWS Hesapları +- Permission Sets: Politikalar iliştirilir +- AWS Accounts -Daha sonra, kullanıcılar/ gruplar için AWS Hesabı üzerinde İzin Setleri oluşturulur. +Daha sonra, kullanıcılar/grupların AWS Account üzerinde Permission Sets'e sahip olması için ilişkiler oluşturulur. > [!NOTE] -> Politikalara bir İzin Seti'ne eklemenin 3 yolu olduğunu unutmayın. AWS yönetilen politikalarını eklemek, Müşteri yönetilen politikalarını eklemek (bu politikaların, İzin Seti'nin etki ettiği tüm hesaplarda oluşturulması gerekir) ve orada tanımlanan satır içi politikalar. +> Bir Permission Set'e politika iliştirmenin 3 yolu olduğunu unutmayın: AWS managed policies eklemek, Customer managed policies (bu policies'lerin Permission Set'in etki ettiği tüm hesaplarda oluşturulması gerekir) ve inline policies (Permission Set içinde tanımlananlar). ```bash # Check if IAM Identity Center is used aws sso-admin list-instances @@ -300,9 +312,9 @@ aws identitystore list-group-memberships --identity-store-id --group- ## Get memberships or a user or a group aws identitystore list-group-memberships-for-member --identity-store-id --member-id ``` -### Yerel Enumere Etme +### Yerel Keşif -`$HOME/.aws` klasörü içinde, SSO aracılığıyla erişilebilen profilleri yapılandırmak için config dosyası oluşturmak mümkündür, örneğin: +SSO aracılığıyla erişilebilen profilleri yapılandırmak için `$HOME/.aws` klasörüne config adlı bir dosya oluşturabilirsiniz, örneğin: ```ini [default] region = us-west-2 @@ -327,9 +339,9 @@ aws sso login --profile my-sso-profile # Use dependent-profile aws s3 ls --profile dependent-profile ``` -Bir **SSO profilinin kullanılması** durumunda bazı bilgilere erişmek için, kimlik bilgileri **`$HOME/.aws/sso/cache`** klasörü içindeki bir dosyada **önbelleğe alınır**. Bu nedenle, buradan **okunabilir ve kullanılabilir**. +Bir **SSO profilinin kullanılması**yla bazı bilgilere erişildiğinde, kimlik bilgileri **`$HOME/.aws/sso/cache`** klasörünün içindeki bir dosyada **önbelleğe alınır**. Bu nedenle oradan **okunup kullanılabilirler**. -Ayrıca, **daha fazla kimlik bilgisi** **`$HOME/.aws/cli/cache`** klasöründe saklanabilir. Bu önbellek dizini, IAM kullanıcı kimlik bilgilerini kullanan veya IAM aracılığıyla (SSO olmadan) roller **üstlenen** AWS CLI profilleri ile çalışırken esasen kullanılır. Konfigürasyon örneği: +Ayrıca, **daha fazla kimlik bilgisi** **`$HOME/.aws/cli/cache`** klasöründe saklanabilir. Bu önbellek dizini öncelikle IAM kullanıcı kimlik bilgilerini kullanan veya IAM aracılığıyla rol **üstlenen** (SSO olmadan) AWS CLI profilleri ile çalışırken kullanılır. Konfigürasyon örneği: ```ini [profile crossaccountrole] role_arn = arn:aws:iam::234567890123:role/SomeRole @@ -337,25 +349,25 @@ source_profile = default mfa_serial = arn:aws:iam::123456789012:mfa/saanvi external_id = 123456 ``` -### Kimlik Doğrulaması Olmayan Erişim +### Unauthenticated Access {{#ref}} ../aws-unauthenticated-enum-access/aws-identity-center-and-sso-unauthenticated-enum/README.md {{#endref}} -### Yetki Yükseltme +### Privilege Escalation {{#ref}} ../aws-privilege-escalation/aws-sso-and-identitystore-privesc/README.md {{#endref}} -### İstismar Sonrası +### Post Exploitation {{#ref}} ../aws-post-exploitation/aws-sso-and-identitystore-post-exploitation/README.md {{#endref}} -### Süreklilik +### Persistence #### Bir kullanıcı oluşturun ve ona izinler atayın ```bash @@ -363,10 +375,10 @@ external_id = 123456 aws identitystore create-user --identity-store-id --user-name privesc --display-name privesc --emails Value=sdkabflvwsljyclpma@tmmbt.net,Type=Work,Primary=True --name Formatted=privesc,FamilyName=privesc,GivenName=privesc ## After creating it try to login in the console using the selected username, you will receive an email with the code and then you will be able to select a password ``` -- Bir grup oluşturun ve ona izinler atayın ve kontrol edilen bir kullanıcı belirleyin -- Kontrol edilen bir kullanıcıya veya gruba ek izinler verin -- Varsayılan olarak, yalnızca Yönetim Hesabındaki izinlere sahip kullanıcılar IAM Kimlik Merkezi'ne erişebilecek ve kontrol edebilecektir. +- Bir grup oluşturun, ona izinler atayın ve bir kontrollü kullanıcı atayın +- Kontrollü bir kullanıcıya veya gruba ekstra izinler verin +- Varsayılan olarak, yalnızca Management Account'tan izinlere sahip kullanıcılar IAM Identity Center'a erişip onu kontrol edebilecek. -Ancak, Farklı bir hesaptan kullanıcıların bunu yönetmesine izin vermek için Delegeli Yönetici aracılığıyla mümkündür. Tam olarak aynı izinlere sahip olmayacaklar, ancak [**yönetim faaliyetlerini**](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html) gerçekleştirebilecekler. +Ancak, Delegate Administrator aracılığıyla farklı bir hesaptan kullanıcıların bunu yönetmesine izin vermek mümkündür. Aynı izinlere tam olarak sahip olmayacaklar, ancak [**management activities**](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html) gerçekleştirebilecekler. {{#include ../../../banners/hacktricks-training.md}}