Bankomaten-Schädling

Vor sieben Jahren, im Jahr 2009, wurden wir erstmals mit einer völlig neuen Art von Angriffen auf Banken konfrontiert. Denn anstatt die Computer tausender Nutzer weltweit zu infizieren, nahmen die Gangster nun die Bankautomaten selbst ins Visier und infizierten sie mit einem Schadprogramm namens Skimer. Sieben Jahre später wurde das Global Research and Analysis Team von Kaspersky Lab zusammen mit dem Penetration Testing Team zu einem Incident Response herangezogen und es entdeckte eine neue, verbesserte Version von Skimer.

Virus-artige Infektionen

Kriminelle verstecken ihre Malware häufig mit Hilfe von Packern, um den Sicherheitsforschern die Analyse zu erschweren. Die Verbrecher hinter Skimer tun das ebenfalls und verwenden zu diesem Zweck den kommerziell verfügbaren Packer Themida, der sowohl die Infektionsdatei als auch den Dropper packt.

Wird die Malware ausgeführt, so überprüft sie zunächst, ob es sich bei dem Dateisystem um FAT32 handelt. Ist das der Fall, so lädt das Schadprogramm die Datei netmgr.dll im Verzeichnis C:WindowsSystem32 ab. Handelt es sich um ein NTFS-Dateisystem, so wird dieselbe Datei im NTFS-Datenstrom platziert, in Übereinstimmung mit der ausführbaren Datei des XSF-Standards. Die Datei wird vermutlich deshalb in einem NTFS-Datenstrom untergebracht, um die forensische Analyse zu erschweren.

Nach erfolgreicher Installation patcht das Sample den Eintrittspunkt der ausführbaren XFS-Datei (SpiService.exe), um der abgeladenen Datei netmgr.dll einen LoadLibrary-Aufruf hinzuzufügen. Diese Datei wird ebenfalls durch Themida geschützt.

Bankomaten-Schädling

Eintrittspunkt in SpiService.exe vor der Infektion

Bankomaten-Schädling

Eintrittspunkt in SpiService.exe nach der Infektion

Nach einer erfolgreichen Installation wird der Geldautomat neu gebootet. Die schädliche Bibliothek wird dank dem neuen LoadLibrary-Aufruf in die Datei SpiService.exe geladen und stattet sie mit uneingeschränktem Zugriff auf das XFS aus.

Funktionalität

Anders als Tyupkin mit seinem magischen Code und dem spezifischen Zeitrahmen, in dem die Malware aktiv ist, erwacht Skimer nur, wenn eine magische Karte (spezielle Track 2-Daten, siehe IOCs am Ende dieses Blogeintrags) eingeführt wird. Das ist eine sehr clevere Art, den Zugriff auf die Funktionalität dieses Schädlings zu kontrollieren.

Nachdem die magische Karte eingeführt wurde, ist die Malware bereit, mit zwei verschiedenen Kartentypen zu interagieren, jede von ihnen mit unterschiedlichen Funktionen:

  1. Kartentyp 1 -­ erfragt Befehle über das Interface
  2. Kartentyp 2 -­ führt den auf Track2 hartcodierten Befehl aus

Nachdem die Karte wieder ausgegeben wurde, wird dem Nutzer ein Eingabefeld präsentiert und er wird aufgefordert, den Sitzungsschlüssel in weniger als 60 Sekunden einzugeben. Nun ist der Nutzer authentifiziert und die Malware akzeptiert jetzt 21 verschiedene Codes zur Einstellung ihrer Aktivität. Diese Codes müssen über das Pin-Pad eingegeben werden.

Hier eine Liste der wichtigsten Features:

  1. Installationsdetails anzeigen;
  2. Geld ausgeben – 40 Banknoten aus der angegebenen Kassette;
  3. mit dem Sammeln der Informationen der eingegeben Karte beginnen;
  4. gesammelte Karteninformationen drucken;
  5. Selbstlöschen;
  6. Debugging-Modus;
  7. Update (der aktualisierte Malware-Code ist auf der Karte eingebettet).

Während ihrer Aktivität erstellt die Schadsoftware die folgenden Dateien oder NTFS-Streams (in Abhängigkeit von dem Dateisystem-Typ). Diese Dateien werden von der Malware auf verschiedenen Etappen ihrer Aktivität benutzt, wie etwa beim Speichern der Konfiguration, beim Speichern der ergaunerten Kartendaten und während der Protokollierung ihrer Aktivität:

C:WindowsTempattrib1 vom Netzwerktraffic oder vom Kartenleser abgefangene Kartendaten;
C:WindowsTempattrib4 protokolliert Daten von verschiedenen APIs, die für die Kommunikation mit der Tastatur verantwortlich sind (zeichnet effektiv Daten wie die PIN auf);
C:WindowsTempmk32 das Gleiche wie attrib4;
C:WindowsTemp:attrib1 das Gleiche wie die homologe Datei;
C:WindowsTemp:attrib4 das Gleiche wie die homologe Datei;
C:WindowsTemp:mk32 das Gleiche wie die homologe Datei;
C:WindowsTemp:opt protokolliert die Aktivität des Geldesels.

Bankomaten-Schädling

Hauptfenster

[youtube https://www.youtube.com/watch?v=hOcFy02c7x0&w=560&h=315]

Fazit

Im Rahmen unserer jüngsten Incident Response-Fälle, die mit dem Missbrauch von Geldautomaten zu tun haben, stießen wir auf Tyupkin, Carbanak und Blackbox-Attacken. Die Evolution von Backdoor.Win32.Skimer unterstreicht das Interesse der Angreifer an diesen Malware-Familien, denn Geldausgabeautomaten bieten für Kriminelle eine äußerst bequeme Möglichkeit Bargeld zu stehlen.

Ein wichtiges Detail in diesem Fall ist die hartcodierte Information im Track2 – die Malware wartet darauf, bis die Karte mit der entsprechenden Nummer in den Automaten eingeführt wird, um sich dann zu aktivieren. Banken könnten proaktiv in ihren Rechensystemen nach diesen Kartennummern suchen und potentiell infizierte Geldautomaten oder Geldesel finden, oder auch die Versuche blockieren, die Malware zu aktivieren.

Wir empfehlen außerdem regelmäßige AV-Scans, die Nutzung von Whitelisting-Technologien, eine gute Gerätemanagement-Policy, vollständige Festplattenverschlüsselung, einen Schutz des Geldautomaten-BIOS mit einem Passwort, das ausschließlich das Booten von der Festplatte erlaubt, und außerdem raten wir dazu, das Geldautomaten-Netzwerk von allen anderen internen Bank-Netzwerken zu isolieren.

Kaspersky Lab hat mittlerweile 49 Modifikationen dieser Malware identifiziert, von denen 37 Bankautomaten von nur einem Hersteller angreifen. Die jüngste Version wurde Anfang Mai 2016 entdeckt.

Alle hier beschriebenen Samples werden von Kaspersky Lab als Backdoor.Win32.Skimer detektiert. Die gepatchten SpiService.exe-Dateien werden detektiert als Trojan.Win32.Patched.rb.

Da die Untersuchungen noch andauern, haben wir den vollständigen Bericht bereits mit verschiedenen LEAs, CERTs, Finanzinstitutionen und den Kunden von Kaspersky Lab Threat Intelligence-Service geteilt. Wenn Sie weitere Informationen wünschen, schreiben Sie bitte an die folgende Adresse: intelreports@kaspersky.com

Anhang I. Indicators of Compromise (IoCs)

Hashwerte

F19B2E94DDFCC7BCEE9C2065EBEAA66C
3c434d7b73be228dfa4fb3f9367910d3
a67d3a0974f0941f1860cb81ebc4c37c
D0431E71EBE8A09F02BB858A0B9B80380
35484d750f13e763eae758a5f243133
e563e3113918a59745e98e2a425b4e81
a7441033925c390ddfc360b545750ff4

Dateinamen

C:WindowsTempattrib1
C:WindowsTempattrib4
C:WindowsTempmk32
C:WindowsTemp:attrib1
C:WindowsTemp:attrib4
C:WindowsTemp:mk32
C:WindowsTemp:opt
C:WindowsSystem32netmgr.dll

Track 2-Daten

******446987512*=********************
******548965875*=********************
******487470138*=********************
******487470139*=********************
******000000000*=********************
******602207482*=********************
******518134828*=********************
******650680551*=********************
******466513969*=********************

Subscribe now For Kaspersky Lab's APT Intelligence Reports

Ähnliche Beiträge

Schreibe einen Kommentar

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