Ein Skript zur Analyse von E-Mail-Servern für SMTP-Smuggling-Schwachstellen.
Das Skript ermöglicht das Senden von E-Mails an einen SMTP-Server und das Beenden der Nachrichten mit verschiedenen fehlerhaften Endzeichenfolgen. Dies dient zum Testen, ob die Server von SMTP-Smuggling-Schwachstellen betroffen sind.
Standardmäßig sendet das Skript eine Test-E-Mail mit einem fehlerhaften Endzeichenfolge ('\n.\n' – Unix-Zeilenumbrüche anstelle von Windows-Zeilenumbrüchen). Es unterstützt jedoch auch mehrere andere fehlerhafte Endungen. Verwenden Sie die Option --list-tests, um die verfügbaren Tests aufzulisten, und --test [Testname], um einen bestimmten Test auszuwählen.
Zum Testen der Postfix-Abhilfemaßnahme steht jetzt ein Pipelining-Test zur Verfügung.
./mail_checker.py mail-server.de
./mail_checker.py mail-server.de -s --port 587
Pipelining-Unterstützung überprüfen (Fähigkeit des SMTP-Servers, mehrere Befehle gleichzeitig zu versenden ohne auf eine Bestätigung zu warten)
./mail_checker.py mail-server.de --test pipelining
./mail_checker.py -f [email protected] -t [email protected] -u meinbenutzername -p meinkennwort mailserver.de
./mail_checker.py --list-tests
Bestimmte Tests, z.B. CRCR (Carriage Return Carriage Return, SMTP-Server auf unerwünschte Zeichen testen), durchführen
./mail_checker.py mailserver.de --test crcr
SMTP-Smuggling-Schwachstellen können auftreten, wenn E-Mail-Server fehlerhafte Endzeichenfolgen akzeptieren. Dies kann dazu führen, dass schadhafte E-Mails an Empfänger gesendet werden, die sie sonst nicht erhalten würden.
Referenzen: