Malware Analyse (1) PW Stealer

Gestern hat ein User bei RR einen Link zu einer unbekannten EXE Datei gepostet mit der einfachen Frage „was ist das?“ Thread-Link Anti-Virenscanner liefern für diese Frage keine klare Antwort, wie man an dem Virustotal.com Analyse Report sehen kann Klick Lediglich 3 von 36 Virenscanner meinen das es eine schädliche Datei ist.
Was ist das nun für eine Datei?

Vorsicht! Alles was ich hier zeige sollte man nur in einer Virtuellen Maschine (VM) nachmachen oder auf einem alten PC mit dem man nicht mehr arbeitet!

Vorüberlegung

Wenn man die Datei in einer sichern Umgebung ausführt, passiert erstmal nichts. Nach ein paar Sekunden verschwindet dann plötzlich die exe. Dadurch weiss man schonmal das die Datei aufjedenfall etwas böses macht, sonst würde sie sich ja wohl nicht selber löschen. Schauen wir mal in welcher Programmiersprache dieses Schmuckstück geschrieben wurde. PEiD verrät uns das es sich um eine Delphi exe handelt Bild. Die Datei ist 2,34 MB groß, das ist ganz schön groß für eine EXE ohne eine grafische Benutzeroberfläche. Die Größe deutet darauf hin, dass in der EXE noch weitere EXE Dateien sein müssen.

Analyse

Ich habe mir die Datei natürlich schon etwas genauer angeschaut und gecheckt ob dieser einfache Analyse Weg auch wirklich funktioniert. Es soll euch nur einen Einblick ins Reversen von Malware geben, natürlich könnt ihr es an der EXE ausprobieren bzw. mir nach machen (Ihr findet sie weiterhin in dem RR Thread). Wir brauchen für die Analyse nur 2 Programme: OllyDbg und ResHack, 2 kostenlose Tools die sehr mächtig sind.

Es gibt nun verschieden Vorgehensweisen, aber da wir dank der Vorüberlegung schon wissen das in der Datei eine oder mehrere andere EXE Dateien sein müssen und da wir dank Virustotal schon wissen wie die Datei die anderen EXE Dateien höchstwahrscheinlich ausführt, setzten wir am besten da an. Ja richtig gehört, Virustotal verrät uns viel mehr als nur das Scanergebnis von verschiedenen Virenscannern. Man scrollt ganz runter und einem Sticht es direkt ins Auge: > shell32.dll: ShellExecuteA. Mit der ShellExecute Windows API (wiki nachschlagen wer API nicht kennt) kann man beliebige externe Dateien ausführen.

So dann nehmen wir mal OllyDbg zur Hand, laden die EXE rein. Wir machen einen Rechtsklick -> Search For -> Name (label) in current module. Es öffnet sich ein kleines Fenster in dem wir alle APIs sehen die das Programm benutzt. Wir tippen ShellExecute ein und schon haben wir es gefunden. Rechtskilck auf ShellExecute und Set breakpoint on every reference. Bild . Nun werden 3 Breakpoints gesetzt, d.h. es werden mindestens 3 externe Dateien aufgerufen. Wir führen nun das Programm mit F9 aus und schon „breaken“ wir in dem ersten ShellExecute Aufruf. Was wird ausgeführt? Ein Stück hochscrollen und [LOCAL,5] verrät es uns. Dort steht auch wo sich die Datei befindet Bild Der Ordner Application Data scheint also die Drop-Zone für die Exe dateien zu sein. In dem Ordner findet man jetzt nämlich 2 Dateien msgwin.exe und msgwinNT.exe. Ok interessiert uns erstmal nicht weiter, den wir führen das Programm weiter aus mit F9. Wir landen wieder in der API, diesmal sieht es aber relativ unspektakulär aus und wir gehen mal weiter mit F9. Diesmal ist es wieder interessanter, eine avp.bat soll ausgeführt werden. Die Batch Datei befindet sich im gleichen Verzeichnis wie die cod4.crack.exe. Schauen wir mal rein:
:Label1
del "C:\Documents and Settings\Admini\Desktop\cod4.crack.exe"
if Exist "C:\Documents and Settings\Admini\Desktop\cod4.crack.exe" goto Label1
del "C:\Documents and Settings\Admini\Desktop\avp.bat"

Ok nun wissen wir warum die exe auch gelöscht wird, diese Bat Datei ist dafür verantwortlich. Eine Schleife die solange versucht die Datei zu löschen bis sie weg ist. Weiteres ausführen der Datei ist nicht notwendig deshalb beenden wir jetzt Ollydbg, den wir haben das was wir wollten. In dem Ordner Application Data befinden sich nun 2 Dateien:
msgwin.exe: Kurzer Blick mit einem Hexeditor oder Notepad verrät uns das diese Datei Datenmüll ist. Wahrscheinlich die verschlüsselte msgwin3.exe, den die msgwin3.exe ist der eigentlich Schädling.
Zwischenergebnis: cod4.crack.exe ist in Wirklichkeit nur eine Art Exe-Binder, die Dateien werden in einen Ordner extrahiert und ausgeführt.

Jetzt müssen wir natürlich die msgwin3.exe noch analysieren. PEiD sagt uns wieder das es eine Delphi exe ist. Als erstes benutzen wir jetzt aber den Resourcehacker. ResHack verrät uns das es sich um einen billigen Passwort Stealer handelt, der externe Dateien zuhilfe nimmt Bild MSPASS z.b. ist ein sehr gutes Tools von Nirsoft.net mit dem man die Passwörter von Instant Messengern auslesen kann http://nirsoft.net/utils/mspass.html Es ist sehr schade das dieses Tool immer wieder misbraucht wird für solche Passwort Stealer, weil die Ersteller nicht in der Lage sind die Passwörter selber auszulesen.

Was wird das Programm machen? Zunächst mal werden wohl alle Exe Dateien die als Resource hinzugefügt wurden in irgendein Verzeichnis extrahiert und dann ausgeführt. Wie bei dem EXE Binder kann man hier auch die API Shellexecute zu Hilfe nehmen. Also startet OllyDbg und setzt ein Breakpoint bei allen Shellexecute aufrufen. 8 Stück sind es diesmal. F9 und beim ersten Breakpoint sieht man dann schon das meine Vermutung am Anfang richtig war. Bild Die 13 extrahierten Dateien befinden sich im Ordner C:\res\. Wir brauchen nun nicht das Programm weiter ausführen. Die extrahierten Dateien werden wohl die Passwörter klauen und das eigentliche Programm wird nur noch eine Aufgabe erfüllen, nämlich die Passwörter an den Stealer Besitzer schicken. In diesem Fall ist es besonders leicht rauszufinden wie das gemacht wird. Ollydbg: Rechtsklick -> Search for -> All referenced text strings. Ein neues Fenster öffnet sich und im unteren Teil sticht einem die HTTP Adresse schon ins Auge http://waswas2.wa.ohost.de/write.php Bild

Ergebnis: Der eigentliche Passwort Stealer wurde mit einem Binder geschützt, damit die Virenscanner ausgetrickst werden. Der Passwort Stealer benutzt externe Dateien um an die Passwörter zu kommen. Die gestohlenen Passwörter werden an eine PHP Datei geschickt und letztendlich auf einem deutschen Webspace gespeichert.

Was kann er alles dank den externen Tools klauen?

  • Instant Messenger Passwörter
  • Steam Passwörter
  • E-Mail Passwörter
  • Firefox/Internet Explorer Passwörter
  • Remote Desktop Passwörter

So das war’s, ich hoffe euch hat dieser kleine Einblick in Reverse Engineering gefallen. Ich würde mich sehr über Kritik oder Verbesserungsvorschläge freuen. Wenn ihr unbekannte Dateien analysiert haben wollt, dann schickt mir einfach eine PN oder postet sie im Forum.

6 Gedanken zu „Malware Analyse (1) PW Stealer“

  1. @ Illuminatus

    Ja, das tool gabs mal bei RR, welches so nen Dreck gemacht hat.
    War sowas wie ein kleiner Baukasten!
    Und hab des mal auch nach den Methoden die NOS hier so gut erklärt hat, ausprobiert und hab dem Entwickler seine E-Mail Adresse gefunden und war, so wie ich es interpretiert hab, so gecodet, das nich nur du die txt Datei mit den passes bekommst sondern die auch an den Entwickler per e-mail versendet wird!
    Der hatte auch nen SMTP Server da drinn und PW konnt ich net auslesen.

    Naja ich bin aber ein noob in solchen Sachen, könnte auch falsch gewesen sein!

    Wollts nur mal anmerken!

  2. Danke… aber jeder mit ein wenig Verstand wird das wohl verstehen und auch anwenden… auch wenn nur 1 AV bei der Datei anschlägt.

    Trotzdem: Viele Dank!

  3. vielen Dank für den interessanten und erstaunlich ansprechend formulierten Artikel. Bitte mehr davon.

    MfG, Rakete

  4. Diese Art scheint häufiger gebraucht zu werden.
    Generell kann man „cracks“ nie vertrauen, evtl. den orginal Rls.
    Meistens werden diese dann mit Malware und Trojaner geschmückt.
    Virenscanner sind leider lange nichtmehr ausreichend und bieten aufgrund der ständig neuen Viren auch keinen wirklichen schutz.
    Dh. wie NOS schon sagte, alles in einer Vbox testen. (Wobei es mitlerweile auch schon da eine neue Virengeneration gibt die dort ausbrechen kann mit Hilfe von 512bytes)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *