9.8 KiB
Iniezioni di Email
Utilizza Trickest 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" %}
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se desideri vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF controlla i PACCHETTI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione esclusiva di NFT
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repository di Github.
Iniettare nell'email inviata
Iniettare Cc e Bcc dopo l'argomento del mittente
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
Il messaggio verrà inviato agli account del destinatario e del destinatario1.
Iniettare l'argomento
From:sender@domain.com%0ATo:attacker@domain.com
Il messaggio verrà inviato al destinatario originale e all'account dell'attaccante.
Inietta l'argomento del soggetto
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
Modifica il corpo del messaggio
Inietta due righe vuote, quindi scrivi il tuo messaggio per cambiare il corpo del messaggio.
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
Sfruttamento della funzione mail() di PHP
# The function has the following definition:
php --rf mail
Function [ <internal:standard> function mail ] {
- Parameters [5] {
Parameter #0 [ <required> $to ]
Parameter #1 [ <required> $subject ]
Parameter #2 [ <required> $message ]
Parameter #3 [ <optional> $additional_headers ]
Parameter #4 [ <optional> $additional_parameters ]
}
}
Il 5° parametro ($additional_parameters)
Questa sezione si baserà su come abusare di questo parametro supponendo che un attaccante lo controlli.
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)
.
Un attaccante può iniettare parametri aggiuntivi per sendmail in questo caso.
Differenze nell'implementazione di /usr/sbin/sendmail
L'interfaccia di 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.
Ecco alcuni esempi di diverse pagine man del comando/interfaccia 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
A seconda dell'origine del binario sendmail sono stati scoperti diversi opzioni per abusarne e leakare file o addirittura eseguire comandi arbitrari. Controlla come in https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
Iniezione nel nome dell'email
Parti ignorate di un'email
I simboli: +, - e {} in rare occasioni possono essere utilizzati per il tagging e ignorati dalla maggior parte dei server email
I commenti tra parentesi () all'inizio o alla fine verranno anche ignorati
- Esempio: john.doe(intigriti)@example.com → john.doe@example.com
Bypass della whitelist
Virgolette
IP
Puoi anche utilizzare gli IP come nomi di dominio tra parentesi quadre:
- john.doe@[127.0.0.1]
- john.doe@[IPv6:2001:db8::1]
Altre vulnerabilità
SSO di terze parti
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.
Account-Takeover
Se un servizio SSO ti permette 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.
Reply-To
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.
Tasso di rimbalzo duro
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 questa percentuale viene superata, il servizio, come il servizio email di AWS, potrebbe essere sospeso o bloccato.
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.
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 questa percentuale può attivare AWS SES (Simple Email Service) per bloccare o sospendere le tue capacità di invio email.
È 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.
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.
Riferimenti
- https://resources.infosecinstitute.com/email-injection/
- https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
- https://drive.google.com/file/d/1iKL6wbp3yYwOmxEtAg1jEmuOf8RM8ty9/view
- https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata in HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di esclusive NFT
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud github repos.
Usa Trickest per creare e automatizzare flussi di lavoro con gli strumenti della community più avanzati al mondo.
Ottieni l'accesso oggi:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}