Skip to main content

E-Mail Passwörter mit tcpdump wiederherstellen

Ich stand gestern vor einer kleinen Herausforderung, dass einer meiner Kunden sein Emailpasswort vergessen hat, das passiert öfters und stellt in der Regel kein Problem dar. Der Kunde erstellt sich selbst ein neues Passwort oder ich generiere ein Passwort und Übermittel es per Telefon/SMS.

Doch dieses Mal sollte es etwas komplexer werden “wie so oft 🙂 “.
Es sollte unter keinen Umständen ein neues Passwort generiert werden, da der Kunde “keine Lust hatte” es auf allen seinen Computer und Smartphones neu einzurichten.

Na gut dachte ich mir, so schwer kann das wohl nicht sein, schließlich  läuft der Mailserver auf einen meiner Server.  Zuerst versuchte das Passwort aus der Datei /etc/courier/userdb auszulesen, geht nicht, dass Passwort ist verschlüsselt, ebenso wie die Mail Daten in der MariaDB SQL Datenbank.

Als nächstes versuchte ich es mit dsniff auszulesen, was auch nicht funktionierte. Dann kam mir die Idee mit tcpdump, damit hatte ich in der Vergangenheit gute Erfahrungen gemacht. Ein wenig die Manpages studiert und tcpdump mit den richtigen Parametern gefüttert, und et voila, hatte ich das Passwort.
Das ist dem Kunden übermitteln konnte.

Der tcpdump Befehl in der Linux / Mac OS shell lautet:

Linux/UNIX
Der Befehl in Linux lautet:
tcpdump tcp port 143 -s 0 -vvv -w imap.txt
tcpdump ist das Programm
tcp da ich dieses Paket benötige
Als nächstes wird angegeben, an welchen Port man lauschen möchte, in meinem Fall ist es imap

port 143das ist der imap Standard Port
-s 0 (null) bedeutet LOG alles “in diesen Fall sehr wichtig”
-vvv erweiterter output auf der Shell
-w imap.txt schreib es in die Datei imap.txt
Funktioniert mit allen Unix verwandten Systemen.

Mac OS
Für Apple Mac OS ist der Befehl ein klein wenig anders aufgebaut:
tcpdump -i en1 -s 0 -vv -w imap.txt port 143
-i en1 steht dabei für Interface en1 (in meinem Fall die WiFi Schnittstelle)