9.7 KiB
Iniezioni di Email
Utilizza Trickest per creare facilmente e automatizzare flussi di lavoro supportati dagli 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" %}
Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!
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.
Inietta nell'email inviata
Inietta 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
Iniettare l'argomento Oggetto
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.
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 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 dell'interfaccia del comando 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 leak file o addirittura eseguire comandi arbitrari. Controlla come in https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html
Iniettare nel nome dell'email
Parti ignorate di un'email
I simboli: +, - e {} in rare occasioni possono essere utilizzati per etichettare e ignorati dalla maggior parte dei server email
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 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 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.
Rispondi a
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 questo tasso viene superato, 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 questo tasso 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 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 a HackTricks e HackTricks Cloud github repos.
Usa 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" %}