Die Plaintextverfahren von SMTP AUTH lassen sich relativ einfach
mit Hilfe von telnet
oder netcat
prüfen. Die Authentifizierungsdaten werden hierbei Base64 encoded
übermittelt.
Zuerst wird geprüft, ob der Server SMTP AUTH unterstüzt.
~% netcat smtp.werthmoeller.de 25 220 smtp.werthmoeller.de ESMTP Postfix (Debian/GNU) ehlo testhost 250-smtp.werthmoeller.de 250-PIPELINING 250-SIZE 20480000 250-VRFY 250-ETRN 250-AUTH GSSAPI DIGEST-MD5 LOGIN PLAIN CRAM-MD5 250-AUTH=GSSAPI DIGEST-MD5 LOGIN PLAIN CRAM-MD5 250-XVERP 250 8BITMIME
Das EHLO
Kommando von SMTP zeigt die unterstüzten
SMTP AUTH Protokolle an. Das oben getestete System unterstützt
Plaintext und verschlüsselte Verfahren.
Als nächstes wird der Base64 encodete Login-String übergeben. Der String kann auf der Konsole relativ einfach erstellt werden.
~% perl -MMIME::Base64 -e \ 'print encode_base64("martinw\0martinw\0sY10!ZoLm,Q");' dXNlcm5hbWUAbWFydGludwBzWTEwIVpvTG0sUQ== bauhaus:~%Dieser String wird dem Server mit dem SMTP AUTH Kommando übermittelt.
AUTH PLAIN dXNlcm5hbWUAbWFydGludwBzWTEwIVpvTG0sUQ== 235 Authentication successfulJetzt kann der Client über den Server an belibige Empfängeradressen verschicken.
Mit dem Programm smtptest kann neben dem Test der Auslieferung von E-Mail mit Attachments auf SMTP-Ebene auch die Funktion von SMTP AUTH überprüft werden.