Malware Analysis - SteamStealer, SharpBot RAT und Chrome Stealer
Malware in the Wild! Eines Abends wurde auf einem Twitch Channel ein Link im Chat gepostet. “https://bitly.com/Screenshot093
“. (ACHTUNG MALWARE!) . Dahinter steckt ein Dropbox-Direktdownload und mit einer Screenshot093.scr Datei. Eine SCR Datei, schon lange nicht mehr gesehn
Eigentlich sind das sog. “Screensaver”-Installer, die allerdings einen normalen PE Header haben und damit einfach als exe umbenannt werden können.
Dahinter steckt ein .NET File, obfuscated mit der neusten .NET Reactor Version. Damit kann de4dot leider noch nicht umgehen, die AES verschlüsselten Ressourcendateien haben eine ungültige Größe. Doch ich vermutete dass die Malware nur ein Loader für weitere Schadsoftware war. Wir nutzen also den ultimativen Ansatz gegen gepackte .NET Files: Dumping. Jeder .NET Assembly wird, wenn nicht speziell dagegen vorgegangen wird, von der .NET Runtime im Speicher gehalten und kann von dort aus wieder extrahiert werden. Wenn der Packer nun die Assembly entschlüsselt und reinläd, können wir uns also einfach das entschlüsselte Image auf die Festplatte schreiben. Der Dump enthält neben der eigentlichen obfuscateten Assembly eine zusätzliche, gedroppte Assembly mit dem eindeutigen Namen “SteamStealer 5.0″. Diese Assembly enthält alles was wir gesucht haben: Ein Steam-Stealer und zwei Loader. Unobfuscated! o/
SteamStealer:
Dieses offensichtlich selbstgeschriebene Tool kopiert die beiden “ssfn*” Files sowie die loginusers.vdf, config.vdf und SteamAppData.vdf in ein Zip-Archiv. Diese sind nötig um den SteamGuard zu umgehen und Items verkaufen zu können. Dieses Archiv wird an folgende URL hochgeladen: http://prtscnhost.com/gate_new.php . Wenn das File keinen PK-Header hat, so werden wir mit der Meldung “Не могу открыть архив” belohnt. Auf Deutsch heißt das “Kann das Archiv nicht öffnen”, daher können wir annehmen dass das Archiv direkt verarbeitet, ausgelesen und in eine Datenbank eingetragen wird.
Ein Fuzzing-Scan der Website ergab übrigens einige interessante Ordner und Datein. Neben einem Adminpanel unter admin.php gibt es ein altes gate.php (ohne Funktion?). In den Ordnern files, new und logs konnte ich leider keine Dateien fuzzen. Spannend ist aber die zip.php Datei, welche die letzten gestealten Steam-Accounts auflistet. Ein Link mit der SteamID führt auf eine SteamAPI, die Dota2 Items ausließt. Wer sich da wiederfindet sollte schnell sein Passwort ändern… Die eigentlichen dort aufgelisteten Zip-Files habe ich nicht gefunden, denke die sind in einer Datenbank gespeichert.
Weiter gehts mit dem Loader und den dahintersteckenden Dateien! Diese werden über http://prtscnhost.com/chrome.exe und http://prtscnhost.com/Athena.exe bezogen. Ersteres File ist bereits geblockt und konnte nicht normal über Firefox und Chrome runtergeladen werden…
Chrome-Stealer
Mit Kreativität kann man die Coder nicht loben. Dieser Stealer droppt zwei Dateien, erstellt ein BAT-Script und ruft die beiden Dateien damit nacheinander auf. Die erste gedroppte Datei nennt sich cprecover und ist ein Open-Source Chrome Password Recovery Tool. Der damit geschriebene XML Dump wird per upload.exe an http://prtscnhost.com/chrome.php hochgeladen. Leider gibt es hier keine weiteren Informationen, aber wer Lust hat kann ja die DB Spammen
SharpBot RAT
Last but not least wollen die Coder wohl auch noch ein Botnet aufbauen. Entgegen dem Namen der Binary, der auf einen Athena IRC DDoS Bot schließen lässt, handelt es sich hierbei um eine modded Version des SharpBot RAT. Selten so ein schlecht programmierten Bot gesehn. In der Main-Methode befinden sich das Parsing der Commands und das ausführen der Aktionen. Neben einigen “Fun”-Funktionen (CD Laufwerk öffnen, Nachrichten Anzeigen) hat der Bot ein DL&Execute Modul. Die IRC Channel Daten sind. Server: prtscnhost.com Nickname: ip100_100_100_100. Channel: #prtscnhost , Passwort: 1488 . Es läuft ein miniircd-1.1 drauf. Soweit ich das aus dem Sourcecode beurteilen kann, sollte jeder User in der Lage sein Commands zu schicken… Die Binary ist selbst noch mit dem .NET Reactor obfuscated, daher kann ich nicht genau sagen was gemodded wurde.
So far, Easy
Könntest dich im IRC einloggen und per dl&exe alle Bots clearen
Ist komischerweise niemand auf dem Server, oder so eingestellt das man die anderen Bots nicht sieht. Der Loader hatte auch Probleme beim DL&Execute, daher kanns auch sein dass der Coder einfach Mist gebaut hat und bei niemandem der Bot ausgeführt wurde
Irgendwie müssen die neuen Accounts aber nach /zip.php kommen. Mal gucken ob da nochmals neue hinzukommen.
Könntest vielleicht auch mal versuchen deinen eigenen IRC-Server lokal einzurichten, den Host umzubiegen und ein paar Befehle so testen
Stimmt das wäre ne Idee. Ich setz mich eh mal an nen Deobfuscator für die neuste .NET Reactor Version, damit sollte mans im Anschluss auch nachvollziehn können.
Coole Sache und interessanter Artikel
Womit hast du die .Net Files gedumpt?
MegaDumper von CodeCracker (ehemals DotnetDumper). Sehr gutes Tool mit vielen weiteren Funktionen (JIT Hooks erkennen, Statistiken, native Dumps)