Trojanische Pferde im Detail


Viel zu oft werden Computerbesitzer ahnungslos zu Opfern von Angreifern, die aus Spaß oder mit gezielter Absicht mit Hilfe von Trojanischen Pferden in Rechner eindringen. Dieser Artikel zeigt, was mit Trojanern möglich ist, und wie man sich am besten vor ihnen schützt.

Warum der Name “Trojanisches Pferd”?
Trojaner, Backdoors & Viren?
Ablauf einer Trojaner-Infektion
Wie sind Trojaner aufgebaut?
Arbeitsweise eines Trojaners
Trojaner-Funktionen (Beispiel)
Erweiterte Funktionen
Abhilfe
Anti-Trojaner Tools
Firewalls
Manueller Schutz vor Trojanern

Der Anwender ist beim Surfen im Internet sehr großen Risiken ausgesetzt. Kaum jemand ist sich diesen jedoch auch wirklich bewusst. In den Medien ist oftmals die Rede von Sicherheitslücken technischer Art in verschiedenen Programmen oder Diensten. Das größte Sicherheitsproblem ist jedoch meist der Anwender der den PC bedient.

Computersysteme sind in ihrer Komplexität für den Laien heutzutage kaum noch überschaubar. Gerade daher wird es immer wichtiger, zwischen kleinen Problemchen und echten Gefahren unterscheiden zu können. Eine dieser echten Gefahren sind Trojanische Pferde, oftmals auch nur kurz „Trojaner“ genannt. Kurz gesagt, ein Trojaner ist ein Programm, das sich als etwas anderes ausgibt, als es tatsächlich ist.

Warum der Name „Trojanisches Pferd“?

Ein wenig zur Vorgeschichte: Eventuell erinnern Sie sich an die Stadt Troja aus dem Geschichtsunterricht. In der historischen Geschichte geht es um einen jahrelangen Krieg zwischen Griechen und der Festung Troja. Die Stadtmauern waren für die Griechen über mehr als 10 Jahre lang unbezwingbar. Dann täuschten Sie einen Rückzug vor und hinterließen ein riesiges hölzernes Pferd. Die Bürger von Troja sahen dies als Geschenk an und brachten es in ihre Stadt. In der Nacht jedoch entpuppte sich das Pferd als Transporter für griechische Soldaten, die dann für die nachfolgenden Truppen die Stadttore öffneten. Die Griechen konnten dadurch den Krieg gewinnen und die Stadt einnehmen.

Nach dem gleichen Prinzip funktionieren moderne Trojanische Pferde. Jemand macht Ihnen ein Geschenk, welches jedoch einen gefährlichen Inhalt mit sich bringt, von dem Sie nichts ahnen.

Trojaner, Backdoors & Viren?

Sie werden im Internet häufig die Bezeichnung Backdoor für Trojaner finden. Sicherheitsexperten definieren den Begriff „Trojaner“ mit Programmen, die etwas anderes tun, als sie vorgeben zu tun. Das können zum Beispiel Programmdateien sein, die als Spiel deklariert sind, in Wirklichkeit jedoch eine Schadensfunktion am PC ausführen. Als „Backdoor“ werden im Allgemeinen Trojaner bezeichnet, die eine Hintertür im Betriebssystem öffnen, über die Angreifer eindringen können. Eine weitere Bezeichnung ist auch „RAT“ (Remote Administration Tool). Backdoors sind heute die am weitesten verbreiteten Trojaner.

Trojaner sind entgegen weitläufigen Meinungen definitiv keine Viren oder Würmer. Viren und Würmer haben die Eigenschaft, dass sie sich selbständig weiterverbreiten können indem sie entweder fremde Dateien durch Manipulation “infizieren” oder aber sich selbstständig von einem auf den anderen Rechner kopieren. Trojaner besitzen solche Verbreitungsmechanismen nicht. Jedoch gibt es bereits Wurm-Viren-Trojaner Kreuzungen (soganannte Hybride) die zusätzlich zu ihrer Schadensfunktion Trojaner im System installieren können.

Ablauf einer Trojaner-Infektion

Es gibt verschiedene Möglichkeiten für Trojaner, einen Computer zu befallen. Bei fast allen Trojanern ist das Zutun eines Anwenders für eine Aktivierung erforderlich. Das heißt, die Programmdatei muss mindestens einmal manuell gestartet werden, um gefährlich zu werden. Es gibt jedoch auch schon Trojaner, die von Wurm-Viren automatisch installiert werden, ohne dass der Anwender etwas davon erfährt.

Üblicherweise läuft eine Infektion nach folgendem Schema ab:

1. Angreifer schickt den Trojaner

Da ein Trojaner immer eine ausführbare Programmdatei (z.B. .EXE) ist, kann dieser leicht auf verschiedensten Transportwegen zum Opfer gelangen. Dies kann zum Beispiel als Anhang in einem Email geschehen. Der Email-Text ist meist irreführend und fordert den Anwender zum Starten der angehängten Programmdatei auf. Ebenfalls zur Verbreitung genutzt werden oftmals auch Instant-Messenger Programme wie MS-Messenger, ICQ, AIM oder andere. Eine relativ neue Möglichkeit stellen Filesharing-Dienste dar. Trojaner werden damit als Musikdateien getarnt in Umlauf gebracht.

Abbildung 1: Email-Anhang

Ein Hinweis an dieser Stelle: Durch das Empfangen einer Trojanerdatei allein entsteht noch keine Gefahr. So lange ein Trojaner inaktiv auf der Festplatte des Computers liegt, geht absolut keine Gefahr davon aus.

2. Empfänger startet die erhaltene Datei

Damit ein Trojaner gefährlich werden kann, muss er einmal gestartet werden. Meist genügt dafür ein Doppelklick auf die entsprechende Datei. Sobald dies geschieht, installiert sich der Trojaner im System und setzt Autostarteinträge, damit er bei jedem Systemstart automatisch geladen wird. Macher von Trojanern haben mittlerweile sehr effektive Möglichkeiten entwickelt, damit die Datei automatisch ausgeführt wird. Der Ort des Autostarteintrages ist oftmals schwierig ausfindig zu machen. Die meistverwendeten Orte für Autostarteinträge sind die Run-Sektionen der Systemregistrierung oder früher oft Dateien wie autoexec.bat, win.ini, system.ini, etc. Moderne Trojaner gehen einen Schritt weiter und schreiben sich als Plugins unterschiedlicher Programme oder als Active-X Komponenten in die Registry. Viele Trojaner löschen außerdem die ursprünglich gestartete Datei beim Starten, um beim Anwender Verwirrung auszulösen.

Wie sind Trojaner aufgebaut?

Ein Backdoor-Trojaner besteht immer aus mindestens zwei Teilen. Dem gefährlichen Trojaner-Server, manchmal auch Host genannt, und dem Trojaner-Client, über den sich ein Angreifer mit dem Server verbindet. Sobald ein Server installiert wird, öffnet dieser einen Port (Kanal) zur Kommunikation übers Internet. Über den offenen Port kann sich dann ein Angreifer mit dem Opfer-PC verbinden und seine schädlichen Aktionen beginnen.

Die einzige Information, die der Angreifer benötigt, ist die IP-Adresse seines Opfers. Ein Weg, diese ausfindig zu machen, ist, sich vom Opfer zum Beispiel eine Email schicken zu lassen. Die IP-Adresse kann im Email-Header ausgelesen werden. Auch mittels Netstat kann die IP abgefragt werden, wenn eine Instant-Message über eine Direktverbindung empfangen wird.

Angreifer, die nur aus Spaß ohne ein bestimmtes Angriffsziel Trojaner verwenden, nutzen auch Portscanner, mit denen ganze Netzwerkbereiche nach offenen Trojaner-Ports durchsucht werden können. Trojaner verwenden unterschiedliche Ports damit sie nicht sofort erkannt werden. Bei vielen Servern kann der Angreifer den verwendeten Port auch manuell ändern, bei manchen sogar im laufenden Betrieb.

Abbildung 2: Portscanner

Arbeitsweise eines Trojaners

Der Trojaner-Server für den Client ist eine Schnittstelle zur Betriebssystem-API (Application Programming Interface) des Opfer-Computers. Der Server empfängt vom Client Anweisungen, in denen definiert ist was er tun und zurückgeben soll. Je nach Komplexität des Servers kann dieser mehr oder weniger Funktionen ausführen. Meistgenutzte Funktionen sind das Ausspähen von Passwörtern und geheimen Dokumenten.

Abbildung 3: Schnittstelle zur API

Trojaner-Funktionen (Beispiel)

Die folgenden Screenshots sind vom Trojaner „NET DEVIL“, Version 1.5.

Ordner und Dateien durchsuchen

Eine Standardfunktion bei Trojanern. Damit kann der Angreifer den PC seines Opfers nach bestimmten Dateien durchsuchen und diese anschließend auf den eigenen PC übertragen. Ebenso kann der Angreifer Dateien auf den Opfer-PC laden. Der Angreifer hat meistens im Client-Programm die gesamte Ordnerstruktur abgebildet und kann dort verschiedene Funktionen ausführen (Ordner und Dateien erzeugen, verändern und löschen, etc.).

Abbildung 4: Dateimanager

Passwörter ausspähen

Viele Trojaner haben eingebaute Routinen, um im System gespeicherte Passwörter abzufragen. Bei Windows 9x gestaltet sich dies als besonders einfach, da viele Passwörter in einem System-Cache gespeichert werden. Darunter fallen z.B. Passwörter von Wählverbindungen oder Email-Passwörter.

Abbildung 5: Passwörter

Prozesse anzeigen

Diese Funktion gleicht dem Task-Manager von Windows NT/2000/XP. Es können alle gestarteten Programmtasks angezeigt und auch auf Wunsch terminiert werden.

Abbildung 6: Prozesse

Fenster abfragen

Damit kann sich ein Angreifer einen Überblick verschaffen, welche Fenster auf dem Opfer-PC geöffnet sind. Sichtbare aber auch unsichtbare Fenster können damit geschlossen werden (z.B. Programme im System-Tray). Dem Angreifer stehen unterschiedliche Funktionen zur Verfügung. Er kann Fenster einfrieren, den Schließen-Button deaktivieren, den Fenstertitel verändern, den Focus auf andere Fenster legen und eine Textsequenz an das Fenster schicken.

Abbildung 7: Fenster

Chat mit dem Opfer

Damit kann der Angreifer einen Chat mit dem Opfer starten. Diese auffällige Funktion versetzt jeden unerfahrenen PC-Besitzer in Angst, da dieser nicht weiß, wer sich hier mit ihm unterhalten will.

Abbildung 8: Chat

Webcam fernsteuern

Viele private User verfügen bereits über eine Webcam. Auch wenn diese nicht gerade vom Besitzer verwendet wird, kann sie der Angreifer nutzen, um sein Opfer zu beobachten. Das Opfer merkt davon nichts. Eine Webcam bietet die maximale Überwachung des Opfers.

Abbildung 9: Webcam

Screenshots erstellen

Damit der Angreifer genau sehen kann, was sein Opfer gerade auf dem PC macht, kann er ein Bildschirmfoto erstellen. Die Screenshots können dann gesondert abgespeichert werden.

Abbildung 10: Screenshot

Keylogger

Als Keylogger bezeichnet man eine Funktion, die alle Tastenanschläge aufzeichnen kann. Damit lassen sich zum Beispiel Passwörter, die der Benutzer eintippt, abfangen.

Abbildung 11: Keylogger

Systemregistrierung editieren

Dem Angreifer sind in seinen Möglichkeiten kaum Grenzen gesetzt. Er kann auch die Registry editieren. Es lassen sich auch neue Sektionen und Werte anlegen. Praktisch um z.B. Autostarteinträge für den Trojaner-Server zu verändern oder andere Programm beim Systemstart automatisch starten zu lassen.

Abbildung 12: Registry-Editor

 

Plugins

Einige weit verbreitete Trojaner-Server haben eine Plugin-Schnittstelle. Damit können sich Angreifer den Server so zusammenstellen, wie sie ihn benötigen und selbst Plugins für den Trojaner entwickeln. Der Kreativität im Entwurf neuer Schadensroutinen sind hier keine Grenzen gesetzt.

Erweiterte Features

Versteckspiel

Moderne Trojaner wie zum Beispiel Optix können sich auf dem befallenen PC sehr gut verstecken. Sie manipulieren dazu die Windows-API Aufrufe, die für die Anzeige der Dateien im Explorer oder in der Registry zuständig sind. Der Benutzer hat dann keine Möglichkeit mehr, den Trojaner manuell zu finden, da er unsichtbar ist. Nur der Angreifer weiß wo sich der Server versteckt und wie man ihn wieder abstellt.

Antivirus und Firewall deaktivieren

Ebenso eine häufig eingesetzte Methode unentdeckt zu bleiben ist es, alle aktiven Antiviren-Programme oder Firewalls abzuschalten oder zu deaktivieren. Der Trojaner-Server bleibt somit unerkannt auf dem PC.

Personal Firewalls umgehen

Eine bemerkenswerte Leistung erbringt der Trojaner “Assasin 2″. Dieser kann Desktop Firewalls umgehen. Das Funktionsprinzip ist relativ einfach erklärt. Der Trojaner injiziert sein Kommunikationsmodul in ein Programm, das sicher durch die Firewall darf. Der MS Internet Explorer eignet sich daher als Opfer sehr gut. Assasin hijacked quasi den Browser um durch ihn nach draußen verbinden zu können. Der PC-Benutzer merkt nichts davon und fühlt sich sicher.

Abhilfe

Es gibt mehrere Wege, seinen PC frei von Trojanern zu halten. Im Folgenden werden drei Ansätze zur Sicherheit erläutert. Eines vorweg: Einen 100-prozentigen Schutz gegen Trojaner gibt es nicht. Mal abgesehen vom generellen Verzicht auf das Internet bzw. Netzwerke allgemein.

Anti-Trojaner Tools

Der einfachste Weg für Anwender den PC „sauber“ zu halten, ist ein Anti-Trojaner Programm zu installieren. Diese Programme durchsuchen alle Laufwerke nach Trojaner-Dateien und bieten meist auch noch Hintergrundwächter an, die aufpassen, dass sich Trojaner erst gar nicht einnisten können. Je nach Tool wird auch die Registry nach Autostarteinträgen durchsucht und der Speicher geprüft um einen maximalen Schutz zu gewährleisten. Auch Anti-Viren Tools finden Trojaner, können diese jedoch meist nicht in der Qualität eines speziellen Anti-Trojaner Tools entfernen. Manche Anti-Viren Programme scheitern beim Versuch, eine Trojanerdatei zu bereinigen, da nach einer virenartigen Signatur in Programmdateien gesucht wird, welche es aber in Trojanern nicht gibt, da Trojaner wie jedes andere Programm aufgebaut sind. Gute Anti-Trojaner Tools bieten ständig Updates der Trojanersignaturen-Datenbank an um immer die aktuellsten Trojaner erkennen und beseitigen zu können. Einen Nachteil haben solche Tools jedoch. Es können nur Trojaner erkannt werden, die den Entwicklern bereits bekannt sind und sich in der Signaturen-Datenbank befinden.

Firewalls

Hier muss man unterscheiden zwischen Firewalls, die durch Filterung der übertragenen Daten einen Transfer von Trojanern verhindern, und solchen, die die Kommunikation nach Außen für Trojaner unterbinden.

Erstere können zwar verhindern, dass sich ein Trojaner über das Internet in ein lokales Netzwerk einschleicht indem z.B. bestimmte Dateitypen geblockt werden, jedoch schützen diese nicht vor bereits aktiven Trojanern, die womöglich über andere Wege als das Internet in das lokale Netzwerk gelangt sind.

Portblocker-Firewalls basieren auf dem Prinzip, dass erstmal alle Kommunikationsports gesperrt, und dann stückweise die benötigten Ports geöffnet werden. Die wichtigsten Ports die man nicht sperren sollte sind: 21 (FTP), 25 (SMTP), 80 (HTTP), 110 (POP3), etc. Je nachdem welche Dienste man im Internet verwenden möchte, muss man jedoch Ports öffnen. Spätestens hier ist die Sache mit der Sicherheit jedoch schon wieder relativ. Die Portnummern bei Trojaner sind meist variabel, d.h. ein Angreifer kann den Trojaner z.B. so modifizieren, dass Port 80 verwendet wird. Somit können Trojaner-Server auch durch Firewalls hindurch mit dem Angreifer kommunizieren.

Portblocker-Firewalls können nur einen passiven Schutz gegen Trojaner bieten. Wenn in einem lokalen Netzwerk auf einem PC ein Trojaner aktiv ist, kann er trotzdem immer noch intern im LAN verwendet werden. In großen Firmennetzwerken werden Trojaner immer häufiger von den eigenen Mitarbeitern eingesetzt, um geschützte Daten auszuspionieren.

Proxy-Server oder NAT-Netzwerke schützen nicht vor Angreifern, die sich mit einem installierten Trojaner hinter dem Proxy- bzw. NAT-Server verbinden wollen. Auch Trojaner sind mittlerweile Proxy- und NAT-fähig und verbinden sich selbständig nach außen zum Angreifer.

Manueller Schutz vor Trojanern

Natürlich können Sie jetzt auch sagen „Ich brauche keine Schutz-Tools, ich habe mein System auch so im Griff“. Dies ist natürlich Ihr gutes Recht und es kann Ihnen auch keiner dagegen reden. Jedoch sollten Sie dann die wichtigsten Regeln, die Sicherheit im Umgang mit dem Internet betreffen, beherrschen.

1. Vorsicht mit Dateien

Öffnen Sie keine ausführbaren Dateien aus dem Internet, denn sie könnten Trojaner enthalten. Dies gilt nicht nur für .EXE-Dateien. Es gibt eine ganze Palette von Dateitypen die ebenso wie .EXE ausführbaren Code enthalten können. Beispiele: .COM (DOS), .SCR (Bildschirmschoner), .DOC, .XLS, .MDB (VBA-Makros), .VBS, .JS, .HTA, .WSF (Scripts), uvm. Vergewissern Sie sich, dass die Quellen der Dateien vertrauenswürdig sind. Da gilt vor allem für Downloads.

Vorsicht bei Email-Anhängen! Auch wenn ein Email von einem vertrauten Absender stammt, kann es einen Trojaner enthalten. Viele Email-Würmer verschicken Trojaner automatisch an alle im Adressbuch befindlichen Email-Adressen, ohne dass der Anwender etwas davon bemerkt.

2. Updates

Achten Sie darauf, dass Sie immer die aktuellsten Updates und Patches Ihrer Programme installiert haben. Ansonsten kann es schnell vorkommen, dass Ihr PC von Trojanern infiziert wird, ohne dass Sie etwas davon bemerken. Einige Trojaner erreichten einen sehr großen Verbreitungsgrad durch das Ausnützen von Sicherheitslücken im MS Internet Explorer und den MS Internet Information Services.

3. Programme und Ports im Griff

Wenn Sie sich nicht auf Schutzsoftware verlassen möchten, sollten Sie alle aktiven Programmtasks auf Ihrem PC kennen. Ihnen sollte sofort auffallen, wenn ein Ihnen neues Programm läuft, welches einen Port offen hält. Mit dem Kommandozeilen Tool „netstat“ können Sie alle aktiven Verbindungen abfragen und anschließend diese manuell den aktiven Programmen zuordnen.

4. Autostarteinträge im Griff

Trojaner benötigen Autostarteinträge um beim Systemstart automatisch geladen zu werden. Sie sollten alle Programme kennen, die an den folgenden Orten automatisch geladen werden:

Startmenü – Autostart

Wird von Trojanern kaum genützt, da sehr leicht zu finden.

autoexec.bat

Kaum von Windows-Trojanern genützt, hauptsächlich für DOS-Programme verwendet.

config.sys

Ebenfalls hauptsächlich für DOS-Programme.

system.ini

Beim Eintrag „shell=“ können Programme geladen werden.

win.ini

Über die Sektionen „run=“ und „load=“ werden manchmal Trojaner geladen.

Systemregistrierung (Registry)

So gut wie alle neuen Trojaner nutzen die Registry um automatisch geladen zu werden. Die wichtigsten Positionen sind:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

sowie

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

Weitere Möglichkeiten sind durch Plugin- und Modul-Keys gegeben. Ein Trojaner kann sich z.B. als Active-X Control in die Registry schreiben um beim Start verschiedener Programme geladen zu werden. Eine andere trickreiche Möglichkeit sind die Dateitypen-Registrierungen. Bei jedem Dateityp kann festgelegt werden, mit welchem Programm eine solche Datei aufgerufen werden soll. Manche Trojaner nutzen das um beim Aufruf jeglicher Dateien gestartet zu werden.

Um einen Trojaner sicher zu entfernen, beenden Sie zuerst den Programmtask, löschen Sie dann die Programmdatei und entfernen Sie anschließend die Autostarteinträge.

Kommentar verfassen