Warum man HijackThis (HJT) für eine Malwareanalyse nicht mehr verwenden sollte

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • Warum man HijackThis (HJT) für eine Malwareanalyse nicht mehr verwenden sollte

      Autor: AHT
      Warum man HijackThis (HJT) für eine Malwareanalyse nicht mehr verwenden sollte

      In manchen Artikeln im Netz wird leider immer noch zur Verwendung von HijackThis (vormals von Trendmicro) zur Überprüfung von Rechnern mit Malwareproblemen geraten. Ich möchte hier einmal darauf eingehen, warum man es unterlassen sollte, HJT weiterhin bei solchen Analysen einzusetzen.

      1. HijackThis ist ein 32Bit Programm und (in den offiziellen Versionen) nicht kompatibel zu 64Bit Systemen

      Manch einer wird vielleicht nicht glauben, das HijackThis nicht kompatibel zu 64Bit Systemen ist, denn das Programm stürzt ja nicht ab - es ist aber wirklich so. 64Bit Programme können sehr viel höhere Speicheradressen verwalten, als 32Bit Programme. 64Bit Programme können deshalb auch nur 64Bit DLLs laden und 32Bit Programme nur 32Bit DLLs. Damit auch ältere Programme unter 64Bit korrekt laufen, hat Microsoft einiges getan, um die Kompatibilität zu gewährleisten. Hier das wichtigste davon in der Sache, um die es hier geht:

      Die Ordnerumleitungen

      32Bit Programme laufen auf einem 64Bit System innerhalb eines Emulators - dem sogenannten WOW64-Emulator
      64Bit System-DLLs befinden sich im Ordner %SYSTEMROOT%\System32 und 32Bit System-DLLs befinden sich im Ordner %SYSTEMROOT%\SysWOW64. Der Emulator stellt dabei sicher, dass alle Zugriffe eines 32Bit Programms auf den Ordner %SYSTEMROOT%\System32 in den Ordner %SYSTEMROOT%\SysWOW64 umgeleitet werden, damit das Programm die richtigen DLLs lädt. Zwar kann ein 32Bit Programm auf verschiedenen Wegen diese Umleitungen deaktivieren, HijackThis tut das aber nicht. Da HJT das nicht tut, kann es in den LOGs zu Einträgen mit dem Vermerk (file missing) kommen, obwohl die Datei vorhanden ist (HJT sucht sie nur im falschen Ordner). Hier ein LOG unter 64Bit als Beispiel:

      Spoiler anzeigen

      HJT.txt schrieb:

      Logfile of Trend Micro HijackThis v2.0.5
      Scan saved at 11:22:52, on 09.08.2018
      Platform: Windows 7 SP1 (WinNT 6.00.3505)
      MSIE: Internet Explorer v11.0 (11.00.9600.19081)

      FIREFOX: 55.0.2 (x86 de)
      Boot mode: Normal

      Running processes:
      C:\Program Files (x86)\Hewlett-Packard\HP Quick Launch Buttons\QLBCTRL.exe
      C:\Program Files (x86)\Analog Devices\Core\smax4pnp.exe
      C:\Program Files (x86)\Hewlett-Packard\HP Quick Launch Buttons\VolCtrl.exe
      C:\Program Files (x86)\Hewlett-Packard\Shared\hpqToaster.exe
      C:\Program Files (x86)\Avira\AntiVir Desktop\avgnt.exe
      C:\Program Files (x86)\Avira\Launcher\Avira.Systray.exe
      D:\Kleine Tools\HJT\hijackthis.exe

      R1 - HKCU\Software\Microsoft\Internet Explorer\Main,Search Page = go.microsoft.com/fwlink/?LinkId=54896
      R0 - HKCU\Software\Microsoft\Internet Explorer\Main,Start Page = google.de/
      R1 - HKLM\Software\Microsoft\Internet Explorer\Main,Default_Page_URL = go.microsoft.com/fwlink/p/?LinkId=255141
      R1 - HKLM\Software\Microsoft\Internet Explorer\Main,Default_Search_URL = go.microsoft.com/fwlink/?LinkId=54896
      R1 - HKLM\Software\Microsoft\Internet Explorer\Main,Search Page = go.microsoft.com/fwlink/?LinkId=54896
      R0 - HKLM\Software\Microsoft\Internet Explorer\Main,Start Page = go.microsoft.com/fwlink/p/?LinkId=255141
      R0 - HKLM\Software\Microsoft\Internet Explorer\Search,SearchAssistant =
      R0 - HKLM\Software\Microsoft\Internet Explorer\Search,CustomizeSearch =
      R0 - HKLM\Software\Microsoft\Internet Explorer\Main,Local Page = C:\Windows\SysWOW64\blank.htm
      R0 - HKCU\Software\Microsoft\Internet Explorer\Toolbar,LinksFolderName =
      O4 - HKLM\..\Run: [QlbCtrl.exe] C:\Program Files (x86)\Hewlett-Packard\HP Quick Launch Buttons\QlbCtrl.exe /Start
      O4 - HKLM\..\Run: [SoundMAXPnP] C:\Program Files (x86)\Analog Devices\Core\smax4pnp.exe
      O4 - HKLM\..\Run: [WirelessAssistant] C:\Program Files (x86)\Hewlett-Packard\HP Wireless Assistant\HPWAMain.exe
      O4 - HKLM\..\Run: [Avira SystrayStartTrigger] "C:\Program Files (x86)\Avira\Launcher\Avira.SystrayStartTrigger.exe"
      O4 - HKUS\S-1-5-19\..\Run: [Sidebar] %ProgramFiles%\Windows Sidebar\Sidebar.exe /autoRun (User 'LOKALER DIENST')
      O4 - HKUS\S-1-5-19\..\RunOnce: [mctadmin] C:\Windows\System32\mctadmin.exe (User 'LOKALER DIENST')
      O4 - HKUS\S-1-5-20\..\Run: [Sidebar] %ProgramFiles%\Windows Sidebar\Sidebar.exe /autoRun (User 'NETZWERKDIENST')
      O4 - HKUS\S-1-5-20\..\RunOnce: [mctadmin] C:\Windows\System32\mctadmin.exe (User 'NETZWERKDIENST')
      O4 - Global Startup: Bluetooth.lnk = ?
      O8 - Extra context menu item: Bild an &Bluetooth-Gerät senden... - C:\Program Files\WIDCOMM\Bluetooth Software\btsendto_ie_ctx.htm
      O8 - Extra context menu item: Seite an &Bluetooth-Gerät senden... - C:\Program Files\WIDCOMM\Bluetooth Software\btsendto_ie.htm
      O9 - Extra button: Senden an Bluetooth - {CCA281CA-C863-46ef-9331-5C8D4460577F} - C:\Program Files\WIDCOMM\Bluetooth Software\btsendto_ie.htm
      O9 - Extra 'Tools' menuitem: Senden an &Bluetooth-Gerät... - {CCA281CA-C863-46ef-9331-5C8D4460577F} - C:\Program Files\WIDCOMM\Bluetooth Software\btsendto_ie.htm
      O11 - Options group: [ACCELERATED_GRAPHICS] Accelerated graphics
      O16 - DPF: {7530BFB8-7293-4D34-9923-61A11451AFC5} (OnlineScanner Control) - download.eset.com/special/eos/OnlineScanner.cab
      O23 - Service: Adobe Acrobat Update Service (AdobeARMservice) - Adobe Systems Incorporated - C:\Program Files (x86)\Common Files\Adobe\ARM\1.0\armsvc.exe
      O23 - Service: Adobe Flash Player Update Service (AdobeFlashPlayerUpdateSvc) - Adobe Systems Incorporated - C:\Windows\SysWOW64\Macromed\Flash\FlashPlayerUpdateService.exe
      O23 - Service: Andrea ADI Filters Service (AEADIFilters) - Unknown owner - C:\Windows\system32\AEADISRV.EXE (file missing)
      O23 - Service: @%SystemRoot%\system32\Alg.exe,-112 (ALG) - Unknown owner - C:\Windows\System32\alg.exe (file missing)
      O23 - Service: Avira Email-Schutz (AntiVirMailService) - Avira Operations GmbH & Co. KG - C:\Program Files (x86)\Avira\AntiVir Desktop\avmailc7.exe
      O23 - Service: Avira Planer (AntiVirSchedulerService) - Avira Operations GmbH & Co. KG - C:\Program Files (x86)\Avira\AntiVir Desktop\sched.exe
      O23 - Service: Avira Echtzeit-Scanner (AntiVirService) - Avira Operations GmbH & Co. KG - C:\Program Files (x86)\Avira\AntiVir Desktop\avguard.exe
      O23 - Service: Avira Browser-Schutz (AntiVirWebService) - Avira Operations GmbH & Co. KG - C:\Program Files (x86)\Avira\AntiVir Desktop\avwebg7.exe
      O23 - Service: Avira Service Host (Avira.ServiceHost) - Avira Operations GmbH & Co. KG - C:\Program Files (x86)\Avira\Launcher\Avira.ServiceHost.exe
      O23 - Service: Bluetooth Service (btwdins) - Broadcom Corporation. - C:\Program Files\WIDCOMM\Bluetooth Software\btwdins.exe
      O23 - Service: @%SystemRoot%\system32\efssvc.dll,-100 (EFS) - Unknown owner - C:\Windows\System32\lsass.exe (file missing)
      O23 - Service: @%systemroot%\system32\fxsresm.dll,-118 (Fax) - Unknown owner - C:\Windows\system32\fxssvc.exe (file missing)
      O23 - Service: Google Update-Dienst (gupdate) (gupdate) - Google Inc. - C:\Program Files (x86)\Google\Update\GoogleUpdate.exe
      O23 - Service: Google Update-Dienst (gupdatem) (gupdatem) - Google Inc. - C:\Program Files (x86)\Google\Update\GoogleUpdate.exe
      O23 - Service: hpqwmiex - Hewlett-Packard Development Company, L.P. - C:\Program Files (x86)\Hewlett-Packard\Shared\hpqwmiex.exe
      O23 - Service: HP Service (hpsrv) - Unknown owner - C:\Windows\system32\Hpservice.exe (file missing)
      O23 - Service: @%SystemRoot%\system32\ieetwcollectorres.dll,-1000 (IEEtwCollectorService) - Unknown owner - C:\Windows\system32\IEEtwCollector.exe (file missing)
      O23 - Service: @keyiso.dll,-100 (KeyIso) - Unknown owner - C:\Windows\system32\lsass.exe (file missing)
      O23 - Service: Mozilla Maintenance Service (MozillaMaintenance) - Mozilla Foundation - C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe
      O23 - Service: @comres.dll,-2797 (MSDTC) - Unknown owner - C:\Windows\System32\msdtc.exe (file missing)
      O23 - Service: @%SystemRoot%\System32\netlogon.dll,-102 (Netlogon) - Unknown owner - C:\Windows\system32\lsass.exe (file missing)
      O23 - Service: @%systemroot%\system32\psbase.dll,-300 (ProtectedStorage) - Unknown owner - C:\Windows\system32\lsass.exe (file missing)
      O23 - Service: @%systemroot%\system32\Locator.exe,-2 (RpcLocator) - Unknown owner - C:\Windows\system32\locator.exe (file missing)
      O23 - Service: @%SystemRoot%\system32\samsrv.dll,-1 (SamSs) - Unknown owner - C:\Windows\system32\lsass.exe (file missing)
      O23 - Service: Sandboxie Service (SbieSvc) - Sandboxie Holdings, LLC - C:\Program Files\Sandboxie\SbieSvc.exe
      O23 - Service: @%SystemRoot%\system32\snmptrap.exe,-3 (SNMPTRAP) - Unknown owner - C:\Windows\System32\snmptrap.exe (file missing)
      O23 - Service: @%systemroot%\system32\spoolsv.exe,-1 (Spooler) - Unknown owner - C:\Windows\System32\spoolsv.exe (file missing)
      O23 - Service: @%SystemRoot%\system32\sppsvc.exe,-101 (sppsvc) - Unknown owner - C:\Windows\system32\sppsvc.exe (file missing)
      O23 - Service: @%SystemRoot%\system32\ui0detect.exe,-101 (UI0Detect) - Unknown owner - C:\Windows\system32\UI0Detect.exe (file missing)
      O23 - Service: @%SystemRoot%\system32\vaultsvc.dll,-1003 (VaultSvc) - Unknown owner - C:\Windows\system32\lsass.exe (file missing)
      O23 - Service: @%SystemRoot%\system32\vds.exe,-100 (vds) - Unknown owner - C:\Windows\System32\vds.exe (file missing)
      O23 - Service: @%systemroot%\system32\vssvc.exe,-102 (VSS) - Unknown owner - C:\Windows\system32\vssvc.exe (file missing)
      O23 - Service: @%systemroot%\system32\wbengine.exe,-104 (wbengine) - Unknown owner - C:\Windows\system32\wbengine.exe (file missing)
      O23 - Service: @%Systemroot%\system32\wbem\wmiapsrv.exe,-110 (wmiApSrv) - Unknown owner - C:\Windows\system32\wbem\WmiApSrv.exe (file missing)
      O23 - Service: @%PROGRAMFILES%\Windows Media Player\wmpnetwk.exe,-101 (WMPNetworkSvc) - Unknown owner - C:\Program Files (x86)\Windows Media Player\wmpnetwk.exe (file missing)

      --
      End of file - 8049 bytes



      Wertet der Nutzer diese Einträge als unnütz oder fehlerhaft und löscht sie, kann das zu schweren Fehlern im System führen.

      Die Registryumleitungen

      Auch einige Autostarteinträge aus der Registry in Unterschlüsseln von HKEY_LOCAL_MACHINE\Software werden vom Emulator in andere Schlüssel unter HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node umgeleitet. Auch diese Umleitungen ließen sich programmiertechnisch deaktivieren - auch das tut HJT nicht.
      Im LOG oben befindet sich zum Beispiel folgender Eintrag:
      O4 - HKLM\..\Run: [SoundMAXPnP] C:\Program Files (x86)\Analog Devices\Core\smax4pnp.exe
      Dieser Eintrag sollte sich unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run befinden. Da steht bei dem Testgerät aber nur folgendes:



      Erst wenn man in den Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run schaut, findet man dort den passenden Wert in der Registry:



      Die Einträge, die im Bild weiter oben unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run zu sehen sind, fehlen in dem LOG komplett. HJT listet also sehr viele Autostarteinträge auf 64Bit Systemen gar nicht.

      Prozesse fehlen

      Schaut man sich die Prozessliste in dem Beispiel oben an, stehen dort nur sieben laufende Prozesse:

      HJT.txt schrieb:

      Running processes:
      C:\Program Files (x86)\Hewlett-Packard\HP Quick Launch Buttons\QLBCTRL.exe
      C:\Program Files (x86)\Analog Devices\Core\smax4pnp.exe
      C:\Program Files (x86)\Hewlett-Packard\HP Quick Launch Buttons\VolCtrl.exe
      C:\Program Files (x86)\Hewlett-Packard\Shared\hpqToaster.exe
      C:\Program Files (x86)\Avira\AntiVir Desktop\avgnt.exe
      C:\Program Files (x86)\Avira\Launcher\Avira.Systray.exe
      D:\Kleine Tools\HJT\hijackthis.exe

      Das sind nur 32Bit Prozesse. Um laufende 64Bit Prozesse auszulesen, ist die Methode, die HJT da verwendet, komplett ungeeignet. Alle 64Bit Prozesse sieht das Tool deshalb nicht.


      2. HijackThis listet (in den offiziellen Versionen) nicht alle wichtigen Autostarteinträge

      Unter anderem die Autostarteinträge unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx listet HJT in den offiziellen Versionen nicht. Es gibt aber auch weitere Sachen, die nicht ausgelesen werden:

      • Erweiterungen von FireFox
      • Erweiterungen von Chrome
      • Erweiterungen von Edge
      • Tasks ab Vista
      • geladene DLLs
      • ...
      3. HijackThis verwendet (in den offiziellen Versionen) eine API zum Auslesen des Prozesspfades, die zu falschen Ergebnissen führen kann

      Die API, die HJT in den offiziellen Versionen zum Ermitteln des Prozesspfades verwendet, liest den Pfad von einer Stelle aus, an der der jeweilige Prozess diese Infos selbst ändern und die eigene EXE als vertrauenswürdig erscheinen lassen kann, auch wenn sie das nicht ist.

      Gibt es Versionen von HijackThis, die man noch verwenden kann?

      HJT ist mittlerweile Opensource. Manche Entwickler haben das Tool selbst auf 64Bit angepasst und auch ein Listing weiterer Autostarteinträge hinzugefügt. Inwieweit eine existierende Version wirklich für 64Bit tauglich ist, ist aber nicht für jedermann sofort ersichtlich. Bei einmaliger Nutzung sieht man das nicht.
      In der Regel sind die angepassten Versionen Forks und Beta Versionen. Ob der Autor vertrauenswürdig ist, ist auch nicht unbedingt sicher.

      Sollte man den offenen Quellcode von HijackThis für eigene Versionen von HJT oder eigene Programme verwenden?


      Ich persönlich halte es für keine gute Idee, bei einem Sicherheitsprogramm offenen Code von anderen Programmen 1:1 zu übernehmen. Im Prinzip übernimmt man dann auch alle gedanklichen und programmiertechnischen Fehler mit in das neue Programm. Diese Fehler könnten Malwareschreiber zum Beispiel dazu nutzen, um sich vor einer Software unsichtbar zu machen.

      Dieser Beitrag wurde bereits 51 mal editiert, zuletzt von AHT ()