hacktricks/pentesting-web/email-injections.md

12 KiB
Raw Blame History

Εισαγωγή Email


Χρησιμοποιήστε Trickest για να δημιουργήσετε εύκολα και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία της παγκόσμιας κοινότητας.
Αποκτήστε πρόσβαση σήμερα:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=email-injections" %}

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Κόκκινης Ομάδας AWS του HackTricks)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Εισαγωγή σε απεσταλμένο email

Εισαγωγή Cc και Bcc μετά το όρισμα αποστολέα

From:sender@domain.com%0ACc:recipient@domain.co,%0ABcc:recipient1@domain.com

Το μήνυμα θα αποσταλεί στους λογαριασμούς παραλήπτη και παραλήπτη1.

Ενσωμάτωση ορίσματος

From:sender@domain.com%0ATo:attacker@domain.com

Ενσωμάτωση ορίσματος Θέματος

From:sender@domain.com%0ASubject:This is%20Fake%20Subject

Αλλαγή του περιεχομένου του μηνύματος

Εισαγάγετε ένα διπλό αλλαγή γραμμής, στη συνέχεια γράψτε το μήνυμά σας για να αλλάξετε το περιεχόμενο του μηνύματος.

From:sender@domain.com%0A%0AMy%20New%20%0Fake%20Message.

Εκμετάλλευση της συνάρτησης PHP mail()

# 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 ]
}
}

Ο 5ος παράμετρος ($additional_parameters)

Αυτή η ενότητα θα βασιστεί στο πώς να καταχραστεί κάποιος αυτήν την παράμετρο υποθέτοντας ότι ένας επιτιθέμενος την ελέγχει.

Αυτή η παράμετρος θα προστεθεί στη γραμμή εντολών που το PHP θα χρησιμοποιήσει για να καλέσει το δυαδικό sendmail. Ωστόσο, θα γίνει αποσαφήνιση με τη συνάρτηση escapeshellcmd($additional_parameters).

Ένας επιτιθέμενος μπορεί να εισάγει εξαγωγή παραμέτρων για το sendmail σε αυτήν την περίπτωση.

Διαφορές στην υλοποίηση του /usr/sbin/sendmail

Η διεπαφή sendmail παρέχεται από το λογισμικό MTA email (Sendmail, Postfix, Exim κλπ.) που είναι εγκατεστημένο στο σύστημα. Αν και η βασική λειτουργικότητα (όπως οι παράμετροι -t -i -f) παραμένει ίδια για λόγους συμβατότητας, άλλες λειτουργίες και παράμετροι διαφέρουν σημαντικά ανάλογα με το MTA που είναι εγκατεστημένο.

Εδώ υπάρχουν μερικά παραδείγματα διαφορετικών σελίδων εγχειριδίων της εντολής/διεπαφής sendmail:

Ανάλογα με την προέλευση του δυαδικού sendmail έχουν ανακαλυφθεί διαφορετικές επιλογές για να τα καταχραστούμε και να διαρρεύσουμε αρχεία ή ακόμα και να εκτελέσουμε αυθαίρετες εντολές. Ελέγξτε πώς στο https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html

Ενσωμάτωση στο όνομα του email

Αγνοημένα μέρη ενός email

Τα σύμβολα: +, - και {} σε σπάνιες περιπτώσεις μπορούν να χρησιμοποιηθούν για ετικετάρισμα και να αγνοηθούν από τους περισσότερους διακομιστές email

Σχόλια μεταξύ παρενθέσεων () στην αρχή ή στο τέλος θα αγνοηθούν επίσης

Παράκαμψη λευκής λίστας

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

Εισαγωγικά

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

IPs

Μπορείτε επίσης να χρησιμοποιήσετε IPs ως ονόματα τομέα μεταξύ αγκύλων:

  • john.doe@[127.0.0.1]
  • john.doe@[IPv6:2001:db8::1]

Άλλες ευπάθειες

https://www.youtube.com/watch?app=desktop&v=4ZsTKvfP1g0

Τρίτο κόμμα SSO

XSS

Μερικές υπηρεσίες όπως github ή salesforce επιτρέπουν τη δημιουργία μιας διεύθυνσης email με XSS payloads. Αν μπορείτε να χρησιμοποιήσετε αυτούς τους παρόχους για να συνδεθείτε σε άλλες υπηρεσίες και αυτές οι υπηρεσίες δεν αποσαφηνίζουν σωστά το email, θα μπορούσατε να προκαλέσετε XSS.

Κατάληψη λογαριασμού

Αν μια υπηρεσία SSO σάς επιτρέπει να δημιουργήσετε ένα λογαριασμό χωρίς επαλήθευση της δοθείσας διεύθυνσης email (όπως salesforce) και στη συνέχεια μπορείτε να χρησιμοποιήσετε αυτόν τον λογαριασμό για σύνδεση σε μια διαφορετική υπηρεσία που εμπιστεύεται την salesforce, θα μπορούσατε να αποκτήσετε πρόσβαση σε οποιονδήποτε λογαριασμό.
Σημειώστε ότι η salesforce υποδεικνύει εάν η δοθείσα email ήταν επαληθευμένη ή όχι, οπότε η εφαρμογή θα πρέπει να λάβει υπόψη αυτήν την πληροφορία.

Απάντηση-Σε

Μπορείτε να στείλετε ένα email χρησιμοποιώντας Από: company.com και Απάντηση-Σε: attacker.com και αν σταλεί οποιαδήποτε αυτόματη απάντηση λόγω του ότι το email στάλθηκε από μια εσωτερική διεύθυνση, ο επιτιθέμενος μπορεί να λάβει αυτήν την απάντηση.

Ρυθμός Σκληρού Αναπηδήματος

Ορισμένες υπηρεσίες, όπως η AWS, εφαρμόζουν ένα κατώτατο όριο γνωστό ως Ρυθμός Σκληρού Αναπηδήματος, συνήθως ορισμένο στο 10%. Αυτό είναι ένα κρίσιμο μετρικό, ειδικά για υπηρεσίες παράδοσης email. Όταν αυτός ο ρυθμός υπερβαίνεται, η υπηρεσία, όπως η υπηρεσία email της AWS, μπορεί να αναστείλει ή να αποκλείσει την αποστολή email σας.

Ένα σκληρό αναπηδητικό αναφέρεται σε ένα email που έχει επιστραφεί στον αποστολέα επειδή η διεύθυνση του παραλήπτη είναι μη έγκυρη ή μη υπάρχουσα. Αυτό μπορεί να συμβεί για διάφορους λόγους, όπως το email να στάλθηκε σε μια μη υπάρχουσα διεύθυνση, ένα τομέα που δεν είναι πραγματικός ή η αρνητική απάντηση του διακομιστή παραλήπτη να δεχτεί τα emails.

Στο πλαίσιο της AWS, αν στείλετε 1000 emails και 100 από αυτά οδηγήσουν σε σκληρά αναπηδήματα (λόγω λανθασμένων διευθύνσεων ή τομέων), αυτό θα σήμαινε έναν ρυθμό σκληρού αναπηδήματος 10%. Η επίτευξη ή υπέρβαση αυτού του ρυθμού μπορεί να ενεργοποιήσει την αποκλεισμό ή την αναστολή της δυνατότητάς σας να στέλνετε email μέσω της AWS SES (Simple Email Service).

Είναι κρίσιμο να διατηρείτε ένα χαμηλό ρυθμό σκληρού αναπηδήματος για να εξασφαλίσετε αδιάκοπη υπηρεσία email και να διατηρήσετε τη φήμη του αποστολέα. Η παρακολούθηση και διαχείριση της ποιότητας των διευθύνσεων email στις λίστες αποστολής σας μπορεί να βοηθήσει σημαντικά στην επίτευξη αυτού.

Για περισσότερες λεπτομερείς πληροφορίες, μπορείτε να ανατρέξετε στην επίσημη τεκμηρίωση της AWS για τη διαχείριση αναπηδήσεων και παραπόνων AWS SES Bounce Handling.

Αναφορές

Μάθετε το χάκινγκ της AWS από το μηδέν μέχρι τον ήρωα με το