OTL ist ein Tool zur Erstellung von Systemberichten, die bei der Suche nach Malware helfen können. Das Tool bietet auch die Möglichkeit, vom Anwender gefundene Malware per Script entfernen zu lassen. Scans sind über Scripte anpassbar und erweiterbar. Das Programm ist in seiner Funktion überschaubar und gut dokumentiert. Vom Aufbau der LOGs ähnelt es sehr stark HijackThis.
Ein Einblick in die Software
Bedienbarkeit und Auswertbarkeit der Daten
Das Tool ist recht übersichtlich in den LOGs, die sich durch Whitelists optional kürzen lassen.
Schreibt man selbst Scripte für das Tool, um Scans zu erweitern, muss man sich schon etwas in die Sache einarbeiten - was aber dank der guten Dokumentation auch eigentlich kein Problem darstellt. Dass Scans auf diese Art überhaupt erweiterbar sind, finde ich absolut "top".
Schade finde ich, dass das Tool keine Signaturen ausliest und auswertet. Bei den Ressourceninfos listet das Tool leider nur den Firmennamen (CompanyName). Hier wäre meiner Ansicht nach ein Auslesen des Produktnamens (ProductName) und der Beschreibung (Description) vielleicht noch angebracht, um bessere Infos über ausführbare Dateien zu erhalten.
Bei den geladenen Modulen fehlt mir der Name des Prozesses, der das Modul geladen hat. Wenn man nicht weiß, in welchem Prozess sich eine vermutliche Malware-DLL befindet, kann man eigentlich keinen vernünftigen Plan zur deren Entfernung schmieden. Infos über den Kommandozeilenbefehl (mit Parametern), der zur Ausführung eines Prozesses geführt hat, bekomme ich von dem Tool ebenfalls nicht.
Wichtige interne (programmiertechnische) Sachen über das Tool
- Die Entwicklung des Programms wurde eingestellt, es gibt keine Updates mehr für das Programm. Das bedeutet:
- Fehler werden nicht mehr beseitigt.
- Whitelists zum Ausblenden bekannter Einträge werden nicht mehr aktualisiert.
- Gelistete Autostarts, System- und Browsereinstellungen sowie Browser-Addons werden nicht mehr ergänzt oder geändert.
- Ändert sich zum Beispiel der Ausleseort von Addons innerhalb eines Browsers, wird das Tool zum Beispiel versuchen, die Addons von einer falschen Stelle zu lesen.
- ...
- Das Programm existiert nur in einer 32Bit Version - genauer bedeutet das:
- Es läuft auf 64Bit Systemen im WOW64 Emulator. Es berücksichtigt intern aber die Umleitungen des WOW64 Emulators und deaktiviert diese, wenn es nötig ist, und ist damit kompatibel zu 64Bit.
- Werden unter 64Bit zusätzliche Bereiche durch Scripte gescannt, muss der User die Umleitungen bei Bedarf per Option im Script deaktivieren. Das macht das Tool nicht automatisch.
- Unter 64Bit listet das Tool nur geladene 32Bit DLLs. 64Bit DLLs fallen aus den LOGs heraus und werden nicht gelistet.
- Unter 64Bit listet das Tool nur 32Bit Prozesse. 64Bit Prozesse fallen aus den LOGs heraus, weil die Technik zum Listen von Prozessen unter 64Bit nicht ideal ist.
- Zum Listen des prozesserzeugenden Moduls scheint das Tool die API GetModuleFileNameEx (oder eine vergleichbare API, wie eine der Toolhelp32 Funktionen) zu verwenden. Microsoft schreibt hier über API GetModuleFileNameEx aus gutem Grund Folgendes:
- To retrieve the name of the main executable module for a remote process, use the GetProcessImageFileName orQueryFullProcessImageName function. This is more efficient and more reliable than calling the GetModuleFileNameEx function with a NULL module handle
- Gleiches gilt für andere APIs auch, die auf gleicher Basis funktionieren.
- To retrieve the name of the main executable module for a remote process, use the GetProcessImageFileName orQueryFullProcessImageName function. This is more efficient and more reliable than calling the GetModuleFileNameEx function with a NULL module handle
Funktionsumfang
Mit dem Tool lassen sich sowohl LOGs erstellen als auch Malware per Script entfernen.
Einige wichtige Autostartmöglichkeiten werden von dem Tool leider nicht automatisch gelistet, so zum Beispiel:
- WMI Autostarts
- Geplante Tasks
Die Erweiterungen von Edge fehlen natürlich auch.
Da das Tool die Möglichkeit bietet, Scans per Script zu erweitern (und auch Kommandozeilenbefehle im Script auszuführen), kann man sich fehlende Daten aber zum Teil trotzdem in einem Rutsch holen.
Schade ist, dass keine Ausführung von ganzen Powershell Scripten ohne weiteres möglich ist. Das schränkt die Funktionalität schon etwas ein.
Wie sicher sind die Ergebnisse?
Folgendes ist mir aufgefallen:
- Das Tool listet leider den RunOnceEx Autostartschlüssel nicht korrekt. Versteckt sich dort Malware, bekommt das Tool davon nichts mit.
- Da vom Tool ungeeignete Methoden verwendet werden, um das prozesserzeugende Modul zu listen (siehe oben), kann sich Malware sehr einfach im Prozessbereich vor dem Tool durch eine Manipulation im Speicher verstecken.
- Bei einigen Autostarteinträgen kann sich Malware vor dem Tool verstecken, indem es Zugriffsrechte in der Registry passend setzt. Geschieht das, bekommt das Tool davon nichts mit.
- 64Bit Prozesse und geladene 64Bit DLLs fehlen in den LOGs auf 64Bit Systemen. Läuft in dem Bereich was an Malware, sieht das Tool das nicht.
Fazit
Aufgrund der dann auftretenden starken Defizite im Prozessbereich halte ich es nicht für sinnvoll, dass Tool unter 64Bit zur Anwendung zu bringen. Auch unter 32Bit fehlen einige wichtige Scanbereiche (oder werden falsch ausgelesen), die mit einem Zusatzscript ergänzt werden sollten (komplett funktioniert das aber nicht). Aufgrund der großen Anpassbarkeit der Scans bietet das Tool aber eine noch recht gute Möglichkeit, die Ergebnisse anderer Tools in einigen Bereichen zu kontrollieren und eine Gegenprüfung durchzuführen. Als Haupttool zur Systemanalyse würde ich es nicht mehr verwenden.
Autor: OldTimer
System: Ab WindowsXP bis Windows10
Sprache: Mehrsprachig - erkennt automatisch die Systemsprache
Lizenz: Freeware
Deutsche Kurzanleitung: https://blog.botfrei.de/2011/09/otl-we…-systemanalyse/
Englisches Tutorial: http://www.geekstogo.com/forum/topic/27…ldtimer-listit/
Download: http://www.geekstogo.com/forum/files/fi…timers-list-it/