SMTP Smuggling
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Αυτός ο τύπος ευπάθειας ανακαλύφθηκε αρχικά σε αυτή την ανάρτηση όπου εξηγείται ότι είναι δυνατό να εκμεταλλευτεί κανείς τις διαφορές στον τρόπο που ερμηνεύεται το πρωτόκολλο SMTP κατά την ολοκλήρωση ενός email, επιτρέποντας σε έναν επιτιθέμενο να μεταφέρει περισσότερα emails στο σώμα του νόμιμου, επιτρέποντας την ταυτοποίηση άλλων χρηστών του επηρεαζόμενου τομέα (όπως admin@outlook.com) παρακάμπτοντας άμυνες όπως το SPF.
Αυτό συμβαίνει επειδή στο πρωτόκολλο SMTP, τα δεδομένα του μηνύματος που θα σταλεί στο email ελέγχονται από έναν χρήστη (επιτιθέμενο) ο οποίος θα μπορούσε να στείλει ειδικά κατασκευασμένα δεδομένα εκμεταλλευόμενος τις διαφορές στους αναλυτές που θα μεταφέρουν επιπλέον emails στον παραλήπτη. Ρίξτε μια ματιά σε αυτό το εικονογραφημένο παράδειγμα από την αρχική ανάρτηση:
Για να εκμεταλλευτεί αυτή την ευπάθεια, ένας επιτιθέμενος πρέπει να στείλει κάποια δεδομένα που ο Outbound SMTP server νομίζει ότι είναι μόνο 1 email αλλά ο Inbound SMTP server νομίζει ότι υπάρχουν αρκετά emails.
Οι ερευνητές ανακάλυψαν ότι διαφορετικοί Inbound servers θεωρούν διαφορετικούς χαρακτήρες ως το τέλος των δεδομένων του μηνύματος email που οι Outbound servers δεν το κάνουν.
Για παράδειγμα, ένα κανονικό τέλος των δεδομένων είναι \r\n.
. Αλλά αν ο Inbound SMTP server υποστηρίζει επίσης \n.
, ένας επιτιθέμενος θα μπορούσε απλά να προσθέσει αυτά τα δεδομένα στο email του και να αρχίσει να υποδεικνύει τις εντολές SMTP ενός νέου για να το μεταφέρει όπως στην προηγούμενη εικόνα.
Φυσικά, αυτό θα μπορούσε να λειτουργήσει μόνο αν ο Outbound SMTP server δεν θεωρεί επίσης αυτά τα δεδομένα ως το τέλος των δεδομένων του μηνύματος, γιατί σε αυτή την περίπτωση θα δει 2 emails αντί για 1, οπότε στο τέλος αυτή είναι η αποσυγχρονισμένη κατάσταση που εκμεταλλεύεται αυτή η ευπάθεια.
Πιθανά δεδομένα αποσυγχρονισμού:
\n.
\n.
Σημειώστε επίσης ότι το SPF παρακάμπτεται γιατί αν μεταφέρετε ένα email από admin@outlook.com
από ένα email από user@outlook.com
, ο αποστολέας είναι ακόμα outlook.com
.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)