Email Header fälschen

So fälschen Spammer Email-Adressen



So fälschen Spammer ihre Email-Header

In der heutigen Zeit wird Im Internet eine Menge Geld mit dem versenden von Werbung gemacht. Spammer fälschen fröhlich jegliche Art an Informationen die beim Email-Versand zu fälschen sind. Sie machen sich sowohl fremde SMTP-Server zu nutze- als auch fremde Email-Adressen um Ihre eigene Identität zu verschleiern oder sich schlicht weg als jemand anderes auszugeben als sie sind!


Dieser Artikel soll eine kleine Vorschau in die Lücken eines SMTP-Servers geben, wie Spammer diese Lücken ausnutzen und weshalb Sie sich unbedingt im Klaren sein sollten keiner Email zu trauen, da absolut jede Absenderadresse gefälscht werden kann.



Einführung
Unser Vorhaben der gefälschten Email werden wird hier mit den Windows internen Programmen >>telnet<< und >>nslookup<< realisieren. Telnet werden wir dazu verwenden eine SMTP-Sitzung zu starten und mit nslookup werden wir uns einen entsprechenden Server und dessen Dienste-Port suchen



Start
Wir gehen zu >>Start|Ausführen<< und geben >>telnet<< ein um das Konsolenprogramm zu starten, mit welchem die SMTP-Sitzung realisiert werden soll. Mit Telnet kann man sich zu einem beliebigen Server und dessen Dienste verbinden.

Arbeiten die Dienste mit einem textorientierten Protokoll so wie das bei SMTP der Fall ist, dann können wir die Dienste mit Telnet auch direkt benutzen. Dazu muss eine Verbindung zum richtigen Server und dem passenden Dienste-Port herstellt werden. Den Namen des Servers erfahren wir mit >>nslookup<<


Nun wird die Nummer des SMTP-Ports benötigt. Die Nummern der vorgegebenen Ports sind bei Windows in der Datei Services im
Verzeichnis >>Windows/System32/Drivers/etc<< zu finden, aber wenn Sie dort nicht nachsehen wollen - das SMTP-Port hat in der Regel die Nummer >>25<<.

Die Information über den Server und den Port werden in telnet beim Aufruf der Kommandozeile als Parameter übergeben. Unter Verwendung des zuvor ermittelten SMTP-Servers lautet der Aufruf also etwa so:

o
telnet mail.DomainIhresISP.de 25


Mit o + return teilen wir telnet mit, dass wir eine Verbundung herstellen möchten. Anschließend wir der ISP eingegeben. In der Hilfe von telnet, finden Sie auch noch sämtliche Informationen. Bei einigen Versionen des Telnet-Programms unter Windows kann auch statt der Portnummer des Dienstes direkt der Namen des Dienstes angegeben werden. Der Aufruf würde dann so lauten:

o
telnet mail.DomainIhresISP.de smtp


Telnet stellt jetzt eine Verbindung zum SMTP-Server her. Gelingt das, wird ein Begrüßungstext des Servers angezeigt. Darin können zum Beispiel die Benutzungsregeln aufgeführt werden, oder aber Sie erhalten einfach nur eine Zeile, die bestätigt, dass der Server nun zum Empfang bereit ist (Was in diesem Text enthalten ist, ist Sache des Server-Adminsitrators und kann daher von
Server zu Server unterschiedlich sein).


Nun geht es mit dem eigentlichen SMTP-Dialog los.
Dabei benötigen wir folgende SMTP Kommandos:

HELO, MAIL FROM, RCPT TO, DATA und QUIT.


Es gibt auch noch einige darüber hinaus gehende Kommandos, diese sind für uns jedoch belanglos.


Als nächstes müssen wir den Rechnernamen türken.
Dazu wird das >>HELO-Kommando<< benötigt. Mit diesem Kommando stellen wir uns dem Server vor und nennen diesem den Namen unseres Rechners. Dabei können wir als Rechnernamen jeden X-beliebigen Namen verwenden - denn zumindest bei nicht geschützten Rechnern wird dieser Parameter nicht überprüft.

Beispiel:
HELO meinRechner.irgendwo.de


Damit teilen wir dem SMTP-Server mit, dass unser Rechner den Namen >>meinRechner<< besitzt und sich in der Domain >>irgendwo.de<< befindet. Die angegebene Information
wird von praktisch keinem SMTP-Server überprüft! Dies ist auch der erste Trick den Spammer verwenden.

Im folgenden wird davon ausgegangen, dass der Spammer als gefälschte Absender-Adresse die Adresse BillGates@MS.com
verwenden möchte.

Nachdem der Text, der beim >>HELO-Kommando<< eingegeben wurde, im Header der Email auftaucht und nachdem man diesen Header auch mit Mail-Clients wie OutlookExpress problemlos einsehen kann, wird der Spammer also schon zu diesem Zeitpunkt auf die falschen Informationen zurückgreifen und sich in etwa wie

folgt melden:
HELO MS.com


Der SMTP-Server quittiert das mit einer Begrüßung:
250 OK

Die Meldung kann manchmal auch etwas anders sein:
250 Microsoft.com, pleased to meet you.


Jeder Mailserver meldet sich hier ein wenig anders: GMX zeigt zum Beispiel als Antwort nur den Namen des Rechners und die Bezeichnung GMX-Mail-Service an. Hotmail schickt ein freundliches Hello und die IP-Adresse Ihres Rechners zurück.


Naive Mailserver protokollieren die Verbindungsinformationen ohne überprüfung!


Die falsche Angabe zum >>HELO-Kommando<< also MS.com müssen Sie sich übrigens merken: Die finden Sie später nämlich in der Email wieder.


Im nächsten Schritt muss dem SMTP-Server mitgeteilt weden von wem die Email stammt. Das geht mit dem >>MAIL FROM-Kommando<<. Das Kommando wird von einem Doppelpunkt gefolgt, mit anschließender Mail-Adresse des Absenders in spitzen Klammern. Wir geben nun in telnet das folgende Kommando ein:

MAIL FROM: < BillGates@MS.com>


Auch diese Angabe wird der Mailserver klaglos schlucken. Im Normalfall wird es keine Überprüfung geben, ob wir uns tatsächlich aus einem Rechner der MS.de Domäne verbinden. Der Server wird einfach davon ausgehen, dass unsere Angabe korrekt ist. Diese Angabe beim >>MAIL FROM-Kommando<< taucht später
ebenfalls im Header der Email auf. Dabei handelt es sich um die Antwort-Adresse der Mail.

Wird die Email also beantwortet, dann landen diese Antworten bei BillGates@MS.com und nicht etwa im echten Postfach des Spammers. Statt dessen muss sich der leidgeprüfte Admin bei MS.com mit den ganzen sinnlosen Antworten und natürlich auch mit den Beschwerden über SPAM abmühen. Nachdem Spam ein wirkliches Problem geworden ist, wird der Admin jetzt einfach alle Mails an BillGates ungelesen lassen und automatisiert löschen.

Diesem Löschen werden natürlich auch alle Beschwerden von Dritten unterzogen. Diese sind nichts anderes als eine
zusätzliche Belästigung für den Admin: Schließlich kann er rein gar nichts dagegen unternehmen, dass andere Personen seinen Domain-Namen als Antwort-Adresse verwenden.


Dass es sich hier um die Antwort-Adresse handelt wird deshalb so ausführlich besprochen, weil das ein Aspekt ist, der sich später im Mail-Client des Empfängers bemerkbar machen wird. Man würde nämlich annehmen, dass diese Adresse auch die ist, die sich Clients wie zum Beispiel Outlook als die Absender-Adresse
anzeigen lassen. Schließlich heißt es ja auch >>MAIL FROM:<<. Das ist aber nicht der Fall. Die Texte, die Outlook in der >>Von<< Spalte anzeigt stammen aus einem anderen Teil der Mail. Dasselbe trifft übrigens auch auf den Empfänger zu, den
wir als nächstes spezifizieren.



Blindes Vertrauen:
Der Email-Client zeigt brav die gefälschten Angaben an. Was dort steht muss rein gar nichts mit dem echten Absender zu tun haben. Dazu gibt es das >>RCPT TO-Kommando<<. Mit diesem Kommando legen wir fest, für welchen Empfänger die Mail gedacht ist. Dabei wird einfach die email-Adresse des Empfängers, ebenfalls in spitze Klammern, angegeben.

RCPT TO: < HierGebenSieIhreMailAdresseAn >


Nachdem es sich bei der Empfänger-Adresse ja um Ihre eigene handelt, ist es also eine gültige Adresse. Und das bedeutet, dass der Mailserver diese Mail auch annehmen wird. Er quittiert die Angabe mit einer Meldung wie:

250 < HierStehtIhreMailAdresse > Recipient OK.


Damit ist das Einschmuggeln der Mail unter falscher Adresse schon so gut wie abgeschlossen. Es fehlt allerdings noch die Mail selbst. Die Eingabe des Mail-Textes beginnen Sie mit dem >>DATA Kommando<<.


Auch dieses Kommando wird vom Mailserver mit einer Antwort bedacht. In den meisten Fällen enthält diese Antwort einen Hinweis darauf, wie man die Eingabe der Mail beendet. Das Interessante ist nun, dass Sie jetzt nicht nur den
Textkörper der Email angeben können. Sie können auch noch Teile des Mail-Headers spezifizieren. Dazu müssen wir zunächst einmal wissen, was ein Mail-Header eigentlich ist.



Eine Email besteht im wesentlichen aus zwei Komponenten:
Es gibt den Mail Header und den Mail-Körper. Der Mail-Körper enthält dabei die eigentliche Nachricht - also deren Text und gegebenenfalls auch deren Anhänge. Der Mail-Header enthält Informationen über die Mail. Zu diesen Informationen gehört zum Beispiel eine Email-Adresse, an die Antworten geschickt werden sollen, eine eindeutige Message-ID, die vom Mail-Client erzeugt
wird, der Name des ursprünglichen Rechners, von dem die Mail versendet wurde und schließlich auch drei weitere Texte.
Der eine wird von Mail-Clients in der Absender-Spalte angezeigt, der zweite in der Empfänger-Spalte und der dritte in der Betreff-Spalte.


Mit anderen Worten: Die zuvor beim >>MAIL FROM-Kommando<< angegebene Mail-Adresse muss nichts mit dem Text zu tun haben, der vom Client unter >>Von<< angezeigt wird. Beide Angaben können zudem völlig falsch sein, denn auch die Mail-Header Angaben werden vom Mailserver nicht überprüft. Dabei können wir übrigens beliebige Einträge zum Mail-Header hinzufügen. Alles was dafür zu tun ist, ist einen Text gefolgt von einem Doppelpunkt und weiterem Text anzugeben. Zeilen die diesem Muster folgen und die direkt nach dem >>DATA Kommando<< eingegeben wurden, laden automatisch im Mail-Header.

Im Rahmen des "Absender-Fälschen" geben wir nur die folgenden drei Texte ein:

FROM: BillGates@MS.com
TO: HierGebenSieIhreEmailAdresseEin
SUBJECT: Anbei Ihre Rechnung in Höhe von 2.000.000$


Daraus resultiert dann eine Mail, die vom Client später mit den Texten angezeigt werden wird, die wir hier eingegeben haben. Dann wird der Rest der Mail eingegeben. Fürs Beispiel reicht auch einfach eine Zeile mit dem Wort Test darin. Wir könnten uns natürlich auch austoben und eine Mail mit einem
aufwendigeren Text versenden.

Um die Eingabe des Mail-Textes abzuschließen muss in Telnet folgendes eingegeben werden:
Return-Taste drücken, einen Punkt eingeben und nochmals Return drücken. Das wird dann vom Server mit einer Meldung wie dieser
quittiert:

250 OK. Message saved.


Damit sind wir fertige und können die Telnetverbindung zum Mailserver kappen. Das geht mit dem Kommando

QUIT




Sie sind sich nun hoffentlich im Klaren wie leicht eine Email gefälscht werden kann, dass auch Ihr eigener Mail-Server dazu ausgenutzt werden kann eine gefäschte Mail zu versenden und dass ein Absender nicht unbedigt der sein muss, für wen er sich ausgibt!