Poweliks: Malware, die sich in der Registry versteckt

Der Trojaner Poweliks versteckt sich in der Windows-Registry und nutzt zahlreiche Verschleierungstaktiken, um Payloads auszuführen oder zu installieren. Durch seine Vielschichtigkeit ist er nur sehr schwer von Antivirensoftware aufzuspüren und entsprechend schwer zu analysieren gewesen. Dabei wurde nicht einmal eine Datei auf Speichermedien geschrieben. Bislang erfolgte der Angriff über eine Schwachstelle in Microsoft Word. Er könnte aber auch über andere Exploits eingeschleust werden, schreiben Datenexperten von Gdata(öffnet im neuen Fenster) .
Damit der Trojaner einen Neustart überlebt, nistet er sich zunächst in die Registry ein. Dort wird unter \CurrentVersion\Run ein neuer Schlüssel erstellt, der aus einem Nicht-Ascii-Zeichen besteht. Dadurch schützt sich der dort enthaltene Code, da Regedit.exe eine Fehlermeldung beim Zugriff auf den Schlüssel generiert und das Löschen verweigert. Auch der Inhalt des Schlüssels bleibt damit verborgen.
Verschleierungstaktiken
Dort wurde Javascript-Code abgelegt, der mit dem Microsoft-eigenen Jscript.Encode verschlüsselt wird. Der Encoder wurde aber bereits geknackt(öffnet im neuen Fenster) . Zunächst überprüft der Javascript-Code, ob auf dem betroffenen System die Powershell installiert ist. Falls nicht, holt er sich den Befehlsinterpreter und installiert ihn. Danach wird dort weiterer Code gestartet, der mit Base64 verschlüsselt ist und mit Parameter -EncodedCommand ausgeführt wird. Um die Sicherheitseinschränkungen beim Ausführen von Code zu umgehen, werden Benutzereingaben ausgeschaltet.
Der mit Base64 kodierte Code greift mit Virtualprotect() und CallWindowProcA() auf den Speicher zu, um dort weiteren Shellcode, in diesem Fall in Assembler geschrieben, auszuführen. Zunächst wird Speicher über Virtualalloc() alloziiert. Dann kopiert sich der Shellcode und weiteren Code dorthin und führt ihn aus.
Bei dem von Gdata analysierten Code handelte es sich um eine ausführbare Datei, die versuchte, sich mit zwei inzwischen abgeschalteten C&C-Servern zu verbinden. Möglich wäre allerdings ein beliebiger Payload, so die Sicherheitsexperten.