Wie erkenne ich einen Trojaner?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Plenz
Beiträge: 87
Registriert: 05.04.2009 11:33:17

Wie erkenne ich einen Trojaner?

Beitrag von Plenz » 07.03.2019 00:22:02

Ich weiß, Trojaner sind eher ein Windows-Problem, aber mein Thema hat insofern etwas mit Linux zu tun, weil ich gerade ein Plugin für den Spamassassin programmiere, und just - fast wie bestellt - trudelte dieser Trojaner ein.

Es handelt sich um ein Attachment mit der Dateiendung "doc", aber die ersten Zeichen des Inhaltes deuten auf ein RTF-Dokument hin, was die Sache schon mal ausreichend verdächtig macht, um sofort gelöscht zu werden. Aber ich wüsste es gern genauer.

In der Datei kann ich jedenfalls nichts finden. Es gibt keine der üblichen Verdächtigen wie "This program cannot be run in DOS mode" oder "rundll32" oder "shell32". Aber als ich die Datei runterlud und vom Windows Defender untersuchen ließ: "Trojan:O97M/Obfuse.H".

Frage also: gibt es irgendwelche Merkmale in solch einer Datei, die auf einen eingebetteten Trojaner hinweisen?

Benutzeravatar
schorsch_76
Beiträge: 2543
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie erkenne ich einen Trojaner?

Beitrag von schorsch_76 » 07.03.2019 07:22:27

Naja, die Virenprogramme haben Listen mit Merkmalen in ihren Datenbanken um verschiedene Viren/Trojaner zu erkennen. Das ist alles nicht ganz trivial (wie du dir vermutlich vorstellen kannst).

[1] https://www.gdata.de/ratgeber/was-ist-e ... renscanner
[2] https://www.ionas.com/wissen/wie-funkti ... techniker/

Plenz
Beiträge: 87
Registriert: 05.04.2009 11:33:17

Re: Wie erkenne ich einen Trojaner?

Beitrag von Plenz » 07.03.2019 21:39:59

Vielen Dank für die Links. Dass Virenscanner mit Signaturen arbeiten, ist mir bekannt. Aber diesen Weg möchte ich gar nicht gehen. Ich möchte vielmehr erst mal rauskriegen, ob ein Dokument irgendwelche eingebetteten oder angehängten Sachen hat, und dann möchte ich herausfinden, ob es irgendwelche Mechanismen gibt, die diese Sachen zu aktivieren versuchen.

Der WannaCry wurde - wenn ich mich richtig erinnere - als *.docx oder *.xlsx verschickt. Glücklicherweise hatte ich wenige Monate vorher mein Plugin so erweitert, dass es solche Dokumente auspackt (sie sind in Wirklichkeit eine ZIP-Datei) und die einzelnen Bestandteile nach den o.g. Stichwörtern absucht. Naja, ich hätte solche "Dokumente" von unbekannten Absendern sowieso nicht aktiviert, aber dank meines Plugins brauchte ich überhaupt nicht zu reagieren, der WannaCry landete bei mir im Papierkorb noch bevor die Virenscanner entsprechend upgedatet waren.

Aber jetzt kriege ich diese RTF-Datei und sehe da erst mal überhaupt keinen Ansatzpunkt. Vielleicht sollte ich mich mal mit dem RTF-Syntax beschäftigen. Oder ich lasse gleich alles in den Papierkorb wandern, weil RTF heutzutage vermutlich sowieso keíne Rolle mehr spielt.

Benutzeravatar
CH777
Beiträge: 1464
Registriert: 27.05.2008 16:37:17

Re: Wie erkenne ich einen Trojaner?

Beitrag von CH777 » 08.03.2019 16:30:02

Plenz hat geschrieben: ↑ zum Beitrag ↑
07.03.2019 21:39:59
Oder ich lasse gleich alles in den Papierkorb wandern, weil RTF heutzutage vermutlich sowieso keíne Rolle mehr spielt.
:THX: rtf ist ein grauenvolles "Format"...

pferdefreund
Beiträge: 3791
Registriert: 26.02.2009 14:35:56

Re: Wie erkenne ich einen Trojaner?

Beitrag von pferdefreund » 18.03.2019 13:16:44

Stimmt, findet aber noch heute aktuell Verwendung beim Export von SAP-Abap-Programmdokumentationen.

Korodny
Beiträge: 705
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Wie erkenne ich einen Trojaner?

Beitrag von Korodny » 18.03.2019 16:43:54

Plenz hat geschrieben: ↑ zum Beitrag ↑
07.03.2019 00:22:02
Es handelt sich um ein Attachment mit der Dateiendung "doc", aber die ersten Zeichen des Inhaltes deuten auf ein RTF-Dokument hin, was die Sache schon mal ausreichend verdächtig macht, um sofort gelöscht zu werden. Aber ich wüsste es gern genauer.
Das ist aus mehreren Gründen nicht zwingend verdächtig: Es war Jahrzehntelang ein üblicher Trick, RTF-Dateien mit der Endung ".doc" zu verschicken. Damit hat man sich blöde Nachfragen von Windows-Nutzern erspart ("was ist .rtf?"): die haben den Unterschied nämlich gar nicht bemerkt, da Windows das Ding bei Doppelklick wie eine normale .doc-Datei an MS Office übergeben hat, welches den Dateityp korrekt erkannt und die Datei ohne zu murren geladen hat.

Der andere Grund dafür, dass es sich vermutlich nicht um Malware handelt, ist folgender: RTF unterstützt keine Macros. Es ist theoretisch trotzdem möglich, dass man Malware in einem RTF unterbringt, da RTF durchaus die Einbettung komplexer binärer Blobs erlaubt - aber erstens kannst du das leicht überprüfen, da RTF selbst je reines ASCII ist und sich eingebettete binäre Daten deswegen leicht erkennen lassen. Und zweitens dürfte solche Mechanismen wirklich zu 100% von MSOffice- oder Windows-Besonderheiten (ActiveX...) abhängig sein.

Mit LibreOffice oder AbiWord solltest du das DIng wirklich gefahrlos öffnnen können.
Aber als ich die Datei runterlud und vom Windows Defender untersuchen ließ: "Trojan:O97M/Obfuse.H".
Das kann auch sehr gut ein "false Positive" sein. Wenn die Privatsphäre beim dem Dokument nicht wichtig ist, kannst du es ja mal bei VirusTotal hochladen, dort werden Dateien mit einer ganzen Reihe von Virenscannern geprüft.

reox
Beiträge: 2463
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie erkenne ich einen Trojaner?

Beitrag von reox » 18.03.2019 18:41:27

Der Dider Stevens entwickelt ganz nette tools um Office und PDF files auseinander zu nehmen: https://blog.didierstevens.com/

Klassiker wären dann Macros, Powershell, URLs, Shellcode, JavaScript, ... Da man so gut wie alles irgendwie einbetten kann, ist die Erkennung eben auch sehr komplex.

atarixle
Beiträge: 341
Registriert: 20.02.2006 19:30:37

Re: Wie erkenne ich einen Trojaner?

Beitrag von atarixle » 20.03.2019 15:07:32

Wordpad erstellt RTF-Dokumente und vergibt standardmäßig die Endung .DOC.

Glur
Beiträge: 62
Registriert: 13.10.2017 15:43:09

Re: Wie erkenne ich einen Trojaner?

Beitrag von Glur » 20.03.2019 17:30:13

Plenz hat geschrieben: ↑ zum Beitrag ↑
07.03.2019 00:22:02
Ich weiß, Trojaner sind eher ein Windows-Problem, aber mein Thema hat insofern etwas mit Linux zu tun, weil ich gerade ein Plugin für den Spamassassin programmiere, und just - fast wie bestellt - trudelte dieser Trojaner ein.

Es handelt sich um ein Attachment mit der Dateiendung "doc", aber die ersten Zeichen des Inhaltes deuten auf ein RTF-Dokument hin, was die Sache schon mal ausreichend verdächtig macht, um sofort gelöscht zu werden. Aber ich wüsste es gern genauer.

In der Datei kann ich jedenfalls nichts finden. Es gibt keine der üblichen Verdächtigen wie "This program cannot be run in DOS mode" oder "rundll32" oder "shell32". Aber als ich die Datei runterlud und vom Windows Defender untersuchen ließ: "Trojan:O97M/Obfuse.H".

Frage also: gibt es irgendwelche Merkmale in solch einer Datei, die auf einen eingebetteten Trojaner hinweisen?
Die Scanner machen im Allgemeinen ein Patternmatching. Sprich sie suchen ob in der Datei Bitmuster auftreten die in bekannter Schadsoftware auftauchen und diese identifizieren kann. Wer weiter gehen will macht eine Verhaltensanalyse. Das bedeutet, die Dateien werden automatisiert in einer Sandbox ausgeführt/geöffnet und es wird nachgesehen was passiert. Will das Worddokument Daten aus dem Internet nachladen, droppt es eine exe, etc. Anhand des Verhaltens wird eine Abschätzung gemacht ob das gefährlich ist oder nicht.

Die klassischen Scanner erkennen also nur Schadsoftware die bereits bekannt uns analysiert ist, und über deren Pattern dein Virenscanner Kenntnis hat. Verhaltensanalysen sind aufwändig und oftmals teuer. Leider werden heute hauptsächlich Makros versendet die dann erst den Schadcode nachladen wenn sie geöffnet und akiviert werden. Diese Makros werden in Office-Dokumente eingeschleust und können heute automatisiert so erstellt werden, dass diese oft gar nicht mehr über Patternmatching gefunden werden können (da sie sich zu schnell verändern). Das Makro muss ja nicht viel komplexes machen, der echte Schadcode kommt im Nachhinein.

Wie bemerkt man einen Trojaner? Wenn er gut ist, gar nicht... muss man leider sagen.

Antworten