# Injections d'e-mails
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour créer facilement et **automatiser des flux de travail** alimentés par les outils communautaires les plus avancés au monde.\ Obtenez un accès aujourd'hui : {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? Ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
## Injecter dans l'e-mail envoyé ### Injecter Cc et Bcc après l'argument de l'expéditeur ``` From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com ``` ### Injecter un argument L'argument sera injecté dans les comptes du destinataire et du destinataire1. ``` From:sender@domain.com%0ATo:attacker@domain.com ``` Le message sera envoyé au destinataire d'origine ainsi qu'au compte de l'attaquant. ### Injecter l'argument Sujet ``` From:sender@domain.com%0ASubject:This is%20Fake%20Subject ``` Le sujet factice sera ajouté au sujet original et dans certains cas, le remplacera. Cela dépend du comportement du service de messagerie. ### Modifier le corps du message Injectez un saut de ligne à deux lignes, puis écrivez votre message pour modifier le corps du message. ``` From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message. ``` ### Exploitation de la fonction mail() de PHP L'exploitation de la fonction mail() de PHP est une technique couramment utilisée pour effectuer des injections d'e-mails malveillantes. Cette vulnérabilité se produit lorsque les données utilisateur ne sont pas correctement filtrées ou validées avant d'être utilisées comme arguments dans la fonction mail(). #### Injection d'e-mails L'injection d'e-mails se produit lorsque des données non fiables sont insérées dans les en-têtes de l'e-mail, permettant ainsi à un attaquant d'exécuter du code malveillant ou de manipuler le contenu de l'e-mail. Les injections d'e-mails peuvent être utilisées pour diverses attaques, telles que le phishing, le vol d'informations sensibles ou l'exécution de commandes à distance. #### Exemple d'exploitation Voici un exemple de code vulnérable utilisant la fonction mail() de PHP : ```php ``` Dans cet exemple, les données utilisateur sont directement utilisées dans les en-têtes de l'e-mail sans aucune validation ou filtrage. Cela permet à un attaquant d'injecter des en-têtes malveillants en exploitant les caractères spéciaux tels que les retours à la ligne. #### Prévention Pour prévenir les injections d'e-mails, il est essentiel de filtrer et de valider toutes les données utilisateur avant de les utiliser dans la fonction mail(). Voici quelques bonnes pratiques à suivre : - Utilisez des fonctions de validation pour vérifier les adresses e-mail, les sujets et les autres champs pertinents. - Échappez correctement les caractères spéciaux dans les en-têtes de l'e-mail. - Limitez les caractères autorisés dans les champs de saisie utilisateur. - Utilisez des bibliothèques ou des frameworks sécurisés pour gérer l'envoi d'e-mails. En suivant ces bonnes pratiques, vous pouvez réduire considérablement les risques d'exploitation de la fonction mail() de PHP. ```bash # The function has the following definition: php --rf mail Function [ function mail ] { - Parameters [5] { Parameter #0 [ $to ] Parameter #1 [ $subject ] Parameter #2 [ $message ] Parameter #3 [ $additional_headers ] Parameter #4 [ $additional_parameters ] } } ``` #### Le 5ème paramètre ($additional\_parameters) Cette section va se baser sur **comment exploiter ce paramètre en supposant qu'un attaquant le contrôle**. Ce paramètre va être ajouté à la ligne de commande que PHP va utiliser pour invoquer le binaire sendmail. Cependant, il sera nettoyé avec la fonction `escapeshellcmd($additional_parameters)`. Un attaquant peut **injecter des paramètres supplémentaires pour sendmail** dans ce cas. #### Différences dans la mise en œuvre de /usr/sbin/sendmail L'interface **sendmail** est **fournie par le logiciel de messagerie MTA** (Sendmail, Postfix, Exim, etc.) installé sur le système. Bien que la **fonctionnalité de base** (comme les paramètres -t -i -f) reste **la même** pour des raisons de compatibilité, **d'autres fonctions et paramètres** varient considérablement en fonction du MTA installé. Voici quelques exemples de différentes pages de manuel de la commande/interface sendmail : * Sendmail MTA : http://www.sendmail.org/\~ca/email/man/sendmail.html * Postfix MTA : http://www.postfix.org/mailq.1.html * Exim MTA : https://linux.die.net/man/8/eximReferences Selon l'**origine du binaire sendmail**, différentes options ont été découvertes pour les exploiter et **exfiltrer des fichiers ou même exécuter des commandes arbitraires**. Découvrez comment dans [**https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html**](https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html) ## Injection dans le nom de l'e-mail ### Parties ignorées d'un e-mail Les symboles : **+, -** et **{}** peuvent parfois être utilisés pour le marquage et ignorés par la plupart des serveurs de messagerie * Par exemple : john.doe+intigriti@example.com → john.doe@example.com Les **commentaires entre parenthèses ()** au début ou à la fin seront également ignorés * Par exemple : john.doe(intigriti)@example.com → john.doe@example.com ### Contournement de la liste blanche
### Guillemets
### Adresses IP Vous pouvez également utiliser des adresses IP comme noms de domaine entre crochets : * john.doe@\[127.0.0.1] * john.doe@\[IPv6:2001:db8::1] ### Autres vulnérabilités ![](<../.gitbook/assets/image (296).png>) ## SSO tiers ### XSS Certains services comme **github** ou **salesforce vous permettent de créer une **adresse e-mail avec des charges XSS**. Si vous pouvez **utiliser ces fournisseurs pour vous connecter à d'autres services** et que ces services ne **nettoient pas correctement** l'e-mail, vous pourriez provoquer une **XSS**. ### Prise de contrôle de compte Si un **service SSO** vous permet de **créer un compte sans vérifier l'adresse e-mail fournie** (comme **salesforce**) et que vous pouvez ensuite utiliser ce compte pour **vous connecter à un autre service** qui **fait confiance** à salesforce, vous pourriez accéder à n'importe quel compte.\ Notez que salesforce indique si l'e-mail fourni a été vérifié ou non, mais l'application devrait tenir compte de cette information. ## Répondre à Vous pouvez envoyer un e-mail en utilisant _**From: company.com**_\*\* \*\* et _**Replay-To: attacker.com**_ et si une **réponse automatique** est envoyée en raison de l'envoi de l'e-mail **à partir** d'une **adresse interne**, l'**attaquant** pourrait être en mesure de **recevoir** cette **réponse**. ## Taux de rebond élevé Certaines applications comme AWS ont un **taux de rebond élevé** (chez AWS, il est de 10%), ce qui signifie que lorsque le service de messagerie est surchargé, le service d'e-mails est bloqué. Un **rebond dur** est un **e-mail** qui n'a pas pu être livré pour des raisons permanentes. Peut-être que l'**adresse e-mail** est fausse, peut-être que le domaine de l'**e-mail** n'est pas un vrai domaine, ou peut-être que le serveur du destinataire de l'**e-mail** n'accepte pas les **e-mails**), cela signifie que sur un total de 1000 e-mails, si 100 d'entre eux étaient faux ou invalides et ont tous rebondi, **AWS SES** bloquera votre service. Ainsi, si vous êtes capable d'**envoyer des e-mails (peut-être des invitations)** depuis l'application web vers n'importe quelle adresse e-mail, vous pourriez provoquer ce blocage en envoyant des centaines d'invitations à des utilisateurs et des domaines inexistants : **Déni de service du service de messagerie**. ## Références * [https://resources.infosecinstitute.com/email-injection/](https://resources.infosecinstitute.com/email-injection/) * [https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html](https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html) * [https://drive.google.com/file/d/1iKL6wbp3yYwOmxEtAg1jEmuOf8RM8ty9/view](https://drive.google.com/file/d/1iKL6wbp3yYwOmxEtAg1jEmuOf8RM8ty9/view) * [https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0)
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Vous travaillez dans une **entreprise de cybersécurité** ? Vous voulez voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et **automatiser les flux de travail** en utilisant les outils communautaires les plus avancés au monde.\ Accédez dès aujourd'hui : {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}