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.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
利用 WorkMail 绕过 SES sandbox
Even if SES is stuck in the sandbox (verified-recipient only, ~200 msgs/24h, 1 msg/s), WorkMail has no equivalent restriction. 攻击者如果拥有长期密钥,可以快速部署一次性邮件基础设施并立即开始发送:
- 创建一个 WorkMail 组织(按区域)
aws workmail create-organization --region us-east-1 --alias temp-mail --directory-id <dir-id-if-reusing>
- 验证攻击者控制的域名 (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
- 配置邮箱用户并注册它们:
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
注意:
- 默认由 AWS 文档记录的 接收者上限:每个组织每天 100,000 个外部接收者(跨用户汇总)。
- 域名验证活动会在 CloudTrail 中以 SES 类别出现,但带有
invokedBy:workmail.<region>.amazonaws.com,因此 SES 验证事件可能属于 WorkMail 的设置活动,而不是直接的 SES 活动。 - WorkMail 的邮箱用户成为与 IAM 用户独立的 application-layer persistence。
发送路径与遥测盲点
Web client (WorkMail UI)
- 会在 CloudTrail 中以
ses:SendRawEmail事件表现出来。 userIdentity.type=AWSService,invokedBy/sourceIPAddress/userAgent=workmail.<region>.amazonaws.com,因此 真实的客户端 IP 被隐藏。requestParameters仍会 leak 发件人(source,fromArn,sourceArn, configuration set),可用于与新验证的域名/邮箱进行关联。
SMTP (stealthiest)
- Endpoint:
smtp.mail.<region>.awsapps.com:465(SMTP over SSL) with the mailbox password. - No CloudTrail data events are generated for SMTP delivery, even when SES data events are enabled.
- 理想的检测点是 组织/域/用户 的配置 以及随后 Web 发送的
SendRawEmail事件中引用的 SES identity ARNs。
通过 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`,以及带有 `invokedBy=workmail.amazonaws.com` 的 SES 验证(`ses:VerifyDomainIdentity`, `ses:VerifyDomainDkim`)。
- 监控异常的 **`ses:SendRawEmail`** 事件,当 identity ARNs 引用新域且源 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)**.**
> - **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库 提交 PRs 来分享 hacking tricks。
>
> </details>
HackTricks Cloud

