SANS@Night Wie man einen Bankautomaten hackt

Autor / Redakteur: Erik van Buggenhout / Stephan Augsten

Bankautomaten, auch als Automated Teller Machine oder ATM bekannt, sind seit jeher ein beliebtes Angriffsziel. Dies ist eine Geschichte von Angriffen auf Bankautomaten, die beim bloßen Aufsprengen beginnt und sich bis hin zu aktuellen Malware-Attacken zieht.

Firma zum Thema

Bankautomaten lassen sich mit ein wenig Geschick und Programmierkenntnissen auch gewaltlos um Bargeld erleichtern.
Bankautomaten lassen sich mit ein wenig Geschick und Programmierkenntnissen auch gewaltlos um Bargeld erleichtern.
(Bild: Archiv)

Bankautomaten blicken auf eine zermürbende Geschichte zurück. Erstmals eingeführt wurden die ATMs im Jahr 1959 in Ohio in den Vereinigten Staaten. Inzwischen wurden weltweit mehr als 2,2 Millionen Geldautomaten in Betrieb genommen.

Der Erfolg der Auszahlterminals lässt sich auf ihre einfache Bedienung zurückführen. Außerdem sind sie immer einsatzbereit, der Kunde kann jederzeit auf sein Geld zugreifen – zumindest, solange kein technischer Defekt vorliegt oder die Karte eingezogen wird.

Ein ATM selbst ist nur ein Schrank mit einem Computer, der die Ausgabe von Geld reguliert und sicherstellt, dass der Kunde auch das Geld erhält, das er angefordert hat. Typische Komponenten sind das Kartenlesegerät, ein PIN-Pad, das Auszahlmodul und Geldkassetten im Inneren.

Der Computer funktioniert im Grunde genommen nicht viel anders als ein normaler PC, der auch zu Hause genutzt wird. Er verfügt in der Regel über ein CD- bzw. DVD-ROM-Laufwerk, mindestens einen USB Port, eine Festplatte und verschiedene andere Dinge, die ein einfacher Computer enthalten sollte. Die meisten ATMs werden mit Windows-Betriebssystemen ausgeliefert.

Wie bereits angedeutet, sind physische Angriffe riskant und oftmals laut. Sprengstoff gegen das Gerät einzusetzen, kann gefährlich sein, sogar für den Bankräuber selbst. Darüber hinaus ist die Polizei relativ schnell am Ort des Geschehens. Cyber-Kriminelle haben sich deshalb gedacht, dass es doch auch einfachere Wege zum Ziel geben muss.

Hacking-Versuch 1: Man nutze ein Default-Passwort

Wie könnte man nun aber einen ATM angreifen? Am einfachsten ist es, das Internet nach Default-Passwörtern zu durchforsten. Einige ATMs lassen sich im „Operater Mode“ betreiben, indem man eine spezifische Tastenkombination eingibt. So wie es auch Default-Passwörter für Router gibt, gibt es diese auch für ATMs.

Vor einigen Jahren hatten einige Cyber-Kriminelle entdeckt, dass sie Default-Passwörter über eine simple Google-Suche finden konnten – zum Beispiel in Online-Anleitungen für ATMs. Nachdem ein Gerät identifiziert war, bei dem das Passwort funktionierte, wurde es neu konfiguriert. Der Geldautomat bezifferte 50-Euro-Geldscheine fortan als 5-Euro-Banknoten.

So konnten die Kriminellen mehr Geld abheben als erlaubt. Anschließend machten sie den Befehl rückgängig, damit der Angriff nicht zurückverfolgt werden konnte. Die gleiche Bande führte den Angriff immer wieder aus, bis sie einmal vergaßen, den Befehl wieder rückgängig zu machen und der Betreiber so auf den Sicherheitsvorfall aufmerksam wurde.

Hacking-Versuch 2: Malware und Angriffe auf das Betriebssystem

Die Mehrheit der ATMs läuft nach wie vor mit Windows-basierten Betriebssystemen. Im Januar 2014 meldete NCP, dass schätzungsweise 95 Prozent der Bankautomaten immer noch mit Windows XP laufen. Um zumindest für ein bisschen Mehr an Sicherheit zu sorgen, haben die meisten Firmen Verträge abgeschlossen, die ihnen den XP-Support über den April 2014 hinaus zusichern.

Ein weiterer interessanter Fakt ist, dass die große Mehrheit der ATMs den CEN/XFS-Standard nutzt. Dieser erlaubt es, die gleichen ATM-Anwendungen und -Konfigurationen über verschiedene Hersteller hinweg zu nutzen. Die Geräte verfügen also über eine allgemeine API, die eine Kommunikation der Windows-Applikationen mit verschiedenen Peripheriekomponenten (Auszahlmodul, Kartenlesegerät) ermöglicht.

Der XEN/XFS Standard ist frei verfügbar und lässt sich über das Internet abrufen. Selbst mit relativ geringen Kenntnissen für Software-Entwicklung ist es also möglich, eine Windows Anwendung zur Kontrolle der ATM Peripheriegeräte zu programmieren. Das Problem ist also nicht, eine Malware zu schreiben, sondern sie in den Geldautomaten einzuschleusen. Cyber-Kriminelle gehen folgendermaßen vor.

Über die USB-Schnittstelle: Die Ploutus-Malware (zuerst entdeckt im Jahr 2014) wurde per USB-Stick auf den ATMs installiert. Hierfür haben sich die Cyber-Kriminellen einen physischen Zugang zum USB-Port durch das ATM-Gehäuse verschafft. Das ist nicht allzu schwierig, denn der Computer ist im Vergleich zu den anderen Komponenten weniger stark geschützt.

Über das Netzwerk: Carbanak war der erste APT-Angriff auf Bankautomaten. Cyber-Kriminelle haben hier die Bankautomaten über das Netzwerk der Bank selbst angegriffen und Malware eingesetzt, um sich Zugriff auf das Geld zu verschaffen.

Zusammenfassung

ATMs sind nichts anderes als normale Windows-PCs, es ist nicht besonders aufwendig Malware für sie zu programmieren. Das Schwierige für Cyber-Kriminelle ist es, ihre Malware auf den ATMs aufzuspielen. Um das zu verhindern, gibt es eine ganze Reihe von grundsätzlichen Schritten, die die Sicherheit von ATMs erhöhen.

  • Sicherheitslösungen, von typischen Anti-Virus-Lösungen hin zu Application Whitelisting.
  • Betriebssystem kontinuierlich auf den neuesten Stand bringen
  • Verschlüsseln von ATM-Festplatten
  • Segmentierung der ATM in andere Netzwerk-Zonen
  • BIOS-Schutz
  • Sichtbar machen, was auf dem ATM und im Netzwerk vor sich geht

Weitere Einblicke in die Thematik ermöglicht die Veranstaltung „Pen Test Berlin“ des SANS Instituts vom 22. bis 27. Juni 2015. Erik van Buggenhout leitet dort den Kurs SEC560: Network Penetration Testing and Ethical Hacking.

* Erik van Buggenhout ist Trainer beim SANS Institut für SEC 560 & 542 und Information Security Consultant bei NVISIO.

(ID:43362824)