Dragon Stealer - Cracked & Exploited
Dieser Stealer wurde vorgestern publiziert und ist zur Abwechslung mal nicht in .NET geschrieben, sondern in Delphi. Es wurden 3rd Party Tools verwendet um die Passwörter auszulesen und im Webpanel findet sich eine tolle XSS, aber alles der Reihenfolge nach.
Der Stealer ließt Passwörter aus allen gängigen Browsern aus und schreibt die Daten über ein PHP-Webpanel in die Datenbank. Dort können diese “Logs” sortiert und durchsucht werden. Zwar hat der Coder brav mysql_real_escape_string und htmlspecialchars verwendet, aber beim Eintragen der Logs vergessen auf XSS zu escapen. Folge ist dass eine XSS direkt in die DB eingetragen werden kann, genau so wird sie auch wieder ausgelesen.
Oft vertreten User die Meinung dass eine XSS lange nicht so schlimm wäre wie eine SQL-Injection, das ist leider in diesem Fall falsch. Über eine SQL-Injecten hätten wir nur Daten über INSERT INTO eintragen können, über eine XSS können wir die Session Stehlen, Logs auslesen und an uns schicken, eine folge von Requests von allen Logs schicken oder sogar Facebook Clickjacking betreiben…
Der Builder war zunächst mit ASPack 2.12 gepackt. Nachdem der statische Unpacker ASPackDie versagte wurde mit OllyDgb von Hand ausgepackt, dabei gab es eine schöne Anleitung auf Tuts4You. Das Unpacking ist leicht zu erklären: ASPack speichert alle Register (PUSHAD) und führt danach die Unpack-Routine aus. Nach dieser wird ein RET verwendet um wieder in das unsprüngliche Programm zu springen. Dabei kann man einfach einen HWBP auf den entsprechenden Stackeintrag setzen und nach dem niederschreiben des OEP dumpen. Die IAT wurde mit einem Tool gefixxt.
Der HWID-Patch glich einem Bilderbucheintrag:
MOV EDX,dumped_.00474B6C ; ASCII "HWID-HWID" CALL dumped_.00404C78 ; Check HWID JE SHORT dumped_.00474B41 ; 1-Byte-Patch PUSH 0 ; /Style = MB_OK|MB_APPLMODAL PUSH dumped_.00474B78 ; |Title = "" PUSH dumped_.00474B7C ; |Text = "Acces denied!" PUSH 0 ; |hOwner = NULL CALL ; \MessageBoxA ; CLOSE PROGRAM |
Durch ein Patch zu einem JMP war der HWID-Check umgangen.
Als nächstes probiere ich den Stealer an mir selbst aus und stellte dabei fest, dass er nicht funktionierte. Nach ener Analyse der Stub mit Olly stellte ich fest, dass ich eine falsche URL angegeben hatte, aber eine all.exe erregte meine Aufmarksamkeit. Dieses File wurde vom eignen Panel geladen, RC4 Entschlüsselt (Key = ASCII “34gnj30i4g34_-ef$”) und danach durch ein RunPE gejagt. Ein Dump der Datei ergab leider nichts sinnvolles. Dieser war, aus welchen Gründen auch immer, nicht vollständig (Danke an dieser Stelle an Rastajan für die Unterstützung!). Da ich nichts von einer heruntergeladenen Datei in der Produktbeschreibung finden konnte ging ich automatisch davon aus dass der Coder wohl selbst ein paar “Opfer” (blödes Wort!) infizieren wollte. Nach einer langen und trotzdem relativ schönen Diskussion mit dem Coder BlueEyes wurde klar, dass die Nirsoft Tools zum Auslesen aller Passwörter benutzt werden. Freeware nutzen um Passwörter auszulesen und danach das Tool verkaufen? Leider nicht so geil.
In der Stub wurden alle Strings übrigens in Hexadezimalstrings umgewandelt, sie sind also mehr oder weniger direkt lesbar… :/
Ich schaffte es nicht den Stealer zum laufen zu bringen. Aber dennoch ist er hier zum Download. Als URL ist http://DOMAIN/index.php?sendpwds zu verwenden.
Dragon Stealer Cracked (360)Greez Easy
Und wiedereinmal zeigt sich was in der “DE-Scene” alles als Malware verkauft wird…weiter so Easysurfer!