hacktricks/pentesting-web/email-injections.md

169 lines
9.7 KiB
Markdown
Raw Normal View History

2024-02-10 13:03:23 +00:00
# Iniezioni di Email
2022-04-28 16:01:33 +00:00
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
\
Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
Ottieni l'accesso oggi:
2022-08-31 22:35:39 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Esperto Red Team AWS di HackTricks)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2023-12-31 01:25:17 +00:00
* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
2024-02-10 13:03:23 +00:00
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di Github.
2022-04-28 16:01:33 +00:00
</details>
## Inietta nell'email inviata
### Inietta Cc e Bcc dopo l'argomento del mittente
2021-11-27 01:09:08 +00:00
```
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
```
Il messaggio verrà inviato agli account del destinatario e del destinatario1.
2024-02-10 13:03:23 +00:00
### Iniettare l'argomento
2021-11-27 01:09:08 +00:00
```
From:sender@domain.com%0ATo:attacker@domain.com
```
### Iniettare l'argomento Oggetto
2024-02-10 13:03:23 +00:00
```
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
```
### Cambiare il corpo del messaggio
Iniettare due righe vuote, quindi scrivere il messaggio per cambiare il corpo del messaggio.
2021-11-27 01:09:08 +00:00
```
2024-02-10 13:03:23 +00:00
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
```
2024-02-10 13:03:23 +00:00
### Sfruttamento della funzione mail() di PHP
2021-11-27 01:09:08 +00:00
```bash
# The function has the following definition:
php --rf mail
Function [ <internal:standard> function mail ] {
2024-02-10 13:03:23 +00:00
- Parameters [5] {
Parameter #0 [ <required> $to ]
Parameter #1 [ <required> $subject ]
Parameter #2 [ <required> $message ]
Parameter #3 [ <optional> $additional_headers ]
Parameter #4 [ <optional> $additional_parameters ]
}
2021-11-27 01:09:08 +00:00
}
```
2024-02-10 13:03:23 +00:00
#### Il 5° parametro ($additional\_parameters)
2021-11-27 01:09:08 +00:00
Questa sezione si baserà su **come abusare di questo parametro supponendo che un attaccante lo controlli**.
2021-11-27 01:09:08 +00:00
2024-02-10 13:03:23 +00:00
Questo parametro verrà aggiunto alla riga di comando che PHP utilizzerà per invocare il binario sendmail. Tuttavia, verrà sanificato con la funzione `escapeshellcmd($additional_parameters)`.
2021-11-27 01:09:08 +00:00
Un attaccante può **iniettare parametri aggiuntivi per sendmail** in questo caso.
2021-11-27 01:09:08 +00:00
2024-02-10 13:03:23 +00:00
#### Differenze nell'implementazione di /usr/sbin/sendmail
2021-11-27 01:09:08 +00:00
L'interfaccia **sendmail** è **fornita dal software email MTA** (Sendmail, Postfix, Exim ecc.) installato sul sistema. Anche se la **funzionalità di base** (come i parametri -t -i -f) rimane **la stessa** per motivi di compatibilità, **altre funzioni e parametri** variano notevolmente a seconda dell'MTA installato.
2021-11-27 01:09:08 +00:00
Ecco alcuni esempi di diverse pagine man dell'interfaccia del comando sendmail:
2021-11-27 01:09:08 +00:00
* 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
A seconda dell'**origine del binario sendmail** sono stati scoperti diversi opzioni per abusarne e **leak file o addirittura eseguire comandi arbitrari**. Controlla come in [**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)
2021-11-27 01:09:08 +00:00
## Iniettare nel nome dell'email
2022-12-29 12:18:46 +00:00
### Parti ignorate di un'email
2022-12-29 12:18:46 +00:00
I simboli: **+, -** e **{}** in rare occasioni possono essere utilizzati per etichettare e ignorati dalla maggior parte dei server email
2022-12-29 12:18:46 +00:00
2024-02-10 13:03:23 +00:00
* Esempio: john.doe+intigriti@example.com → john.doe@example.com
2022-12-29 12:18:46 +00:00
**Commenti tra parentesi ()** all'inizio o alla fine verranno anche ignorati
2022-12-29 12:18:46 +00:00
2024-02-10 13:03:23 +00:00
* Esempio: john.doe(intigriti)@example.com → john.doe@example.com
2022-12-29 12:18:46 +00:00
2024-02-10 13:03:23 +00:00
### Bypass della whitelist
2022-12-29 12:18:46 +00:00
<figure><img src="../.gitbook/assets/image (812).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
2022-12-29 12:18:46 +00:00
2024-02-10 13:03:23 +00:00
### Virgolette
2022-12-29 12:18:46 +00:00
<figure><img src="../.gitbook/assets/image (626).png" alt="https://www.youtube.com/watch?app=desktop&#x26;v=4ZsTKvfP1g0"><figcaption></figcaption></figure>
2022-12-29 12:18:46 +00:00
### IP
2022-12-29 12:18:46 +00:00
Puoi anche utilizzare IP come nomi di dominio tra parentesi quadre:
2022-12-29 12:18:46 +00:00
* john.doe@\[127.0.0.1]
* john.doe@\[IPv6:2001:db8::1]
2024-02-10 13:03:23 +00:00
### Altre vulnerabilità
2022-12-29 12:18:46 +00:00
![https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](<../.gitbook/assets/image (1131).png>)
2022-12-29 12:18:46 +00:00
2024-02-10 13:03:23 +00:00
## SSO di terze parti
2022-12-29 12:18:46 +00:00
### XSS
Alcuni servizi come **github** o **salesforce permettono** di creare un **indirizzo email con payload XSS**. Se puoi **utilizzare questi provider per accedere ad altri servizi** e questi servizi **non sanificano** correttamente l'email, potresti causare **XSS**.
2022-12-29 12:18:46 +00:00
### Account-Takeover
Se un **servizio SSO** ti consente di **creare un account senza verificare l'indirizzo email fornito** (come **salesforce**) e poi puoi utilizzare quell'account per **accedere a un servizio diverso** che **affida** a salesforce, potresti accedere a qualsiasi account.\
_Nota che salesforce indica se l'email fornita è stata verificata o meno, quindi l'applicazione dovrebbe tenere conto di queste informazioni._
2022-12-29 12:18:46 +00:00
## Rispondi a
2022-12-29 12:18:46 +00:00
Puoi inviare un'email utilizzando _**Da: azienda.com**_ e _**Rispondi a: attaccante.com**_ e se viene inviata una **risposta automatica** a causa dell'email inviata **da** un **indirizzo interno**, l'**attaccante** potrebbe essere in grado di **ricevere** quella **risposta**.
2022-12-29 12:18:46 +00:00
## Tasso di rimbalzo duro
2022-12-29 12:18:46 +00:00
Alcuni servizi, come AWS, implementano una soglia nota come **Tasso di rimbalzo duro**, di solito impostata al 10%. Si tratta di una metrica critica, specialmente per i servizi di consegna email. Quando questo tasso viene superato, il servizio, come il servizio email di AWS, potrebbe essere sospeso o bloccato.
2022-12-29 12:18:46 +00:00
Un **rimbalzo duro** si riferisce a un **email** che è stato restituito al mittente perché l'indirizzo del destinatario è invalido o inesistente. Ciò potrebbe verificarsi per vari motivi, come l'invio dell'email a un indirizzo inesistente, un dominio che non esiste realmente o il rifiuto del server del destinatario di accettare **email**.
2022-12-29 12:18:46 +00:00
Nel contesto di AWS, se invii 1000 email e 100 di esse risultano in rimbalzi duri (per motivi come indirizzi o domini non validi), ciò significherebbe un tasso di rimbalzo duro del 10%. Raggiungere o superare questo tasso può attivare AWS SES (Simple Email Service) per bloccare o sospendere le tue capacità di invio email.
2024-02-05 20:00:40 +00:00
È cruciale mantenere un basso tasso di rimbalzo duro per garantire un servizio email ininterrotto e mantenere la reputazione del mittente. Monitorare e gestire la qualità degli indirizzi email nelle tue liste di invio può aiutare significativamente a raggiungere questo obiettivo.
2024-02-05 20:00:40 +00:00
Per informazioni più dettagliate, si può fare riferimento alla documentazione ufficiale di AWS su come gestire i rimbalzi e le segnalazioni [Gestione dei rimbalzi AWS SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types).
2022-12-29 12:18:46 +00:00
2024-02-10 13:03:23 +00:00
## Riferimenti
2021-11-27 01:09:08 +00:00
2022-12-29 12:18:46 +00:00
* [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)
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Impara l'hacking AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2023-12-31 01:25:17 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
\
Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}