Blog News

Jeden Tag frisch wichtige Nachrichten, wie wir uns schützen besser können

Bank-Trojaner Lurk: exklusiv für Russland

Bank-Trojaner Lurk: exklusiv für Russland

no-image

In geschlossenen russischen Foren stößt man oft auf die Faustregel „arbeite nicht im RuNet“ – das ist sozusagen der gut gemeinte Rat, den die erfahrenen Gauner der neuen Generation mit auf den Weg geben. Übersetzt bedeutet diese Phrase Folgendes: „Stiehl kein Geld von Bürgern der Russischen Föderation, infiziere nicht ihre Rechner und nutze keine Landsleute zum Geldwaschen aus“.

„Im RuNet arbeiten“ ist für die Sicherheit der Cyberkriminellen nicht von Vorteil: Bewohner anderer Länder werden sich kaum an die russische Polizei wenden. Außerdem ist im Internetsegment RU das Internet-Banking nicht allzu weit verbreitet – zumindest weitaus weniger verbreitet als in den westlichen Ländern. Folglich sind die potentiellen Einnahmen aus der Tätigkeit in der RU-Zone geringer, das Risiko dagegen ist höher. Und aus diesen Gründen hat sich die Regel „arbeite nicht im RuNet“ etabliert.

Doch wie immer bestätigen auch in diesem Fall die Ausnahmen die Regel. Der durchaus nicht unauffällige Bank-Trojaner, von dem wir an dieser Stelle berichten – sein Name ist Lurk – stiehlt schon seit Jahren das Geld von Bürgern der Russischen Föderation.

Wir haben schon früher von diesem Banktrojaner berichtet, denn er zog praktisch sofort nach seinem Erscheinen unsere Aufmerksamkeit auf sich, da er einen Mechanismus zur körperlosen Ausbreitung verwendete – der Schadcode wird dabei nicht auf der Festplatte gespeiche und direkt aus dem Speicher gestartet. Allerdings wurde bis jetzt noch keine detaillierte Beschreibung von Lurk veröffentlicht.

Besonderheiten des Trojaners

Der Bank-Trojaner Lurk unterscheidet sich von anderer Malware, die auf das Ausrauben von Bankkonten spezialisiert ist:

  • Lurk existiert schon seit über 5 Jahren und wird seither aktiv weiterentwickelt, doch er ist nur auf solchen Computern selektiv tätig, auf denen er Geld stehlen kann. Innerhalb der mehr als fünfjährigen Geschichte dieses Bank-Trojaners wurden im C&C etwa 60.000 Bots registriert, was nicht allzu viele sind.
  • Lurk ist ein universaler Banktrojaner, der nicht nur aus dem System „iBank 2“ Geld stehlen kann, das von vielen russischen Banken verwendet wird, sondern auch aus den unikalen Fernbankdienstleistungssystemen, die von einigen russischen Großbanken verwendet werden.
  • Lurk setzt sich aktiv gegen Entdeckung zur Wehr – die Entwickler verwenden große Mühe darauf, die Detektionen ihres Trojaners zu minimieren, und zielgerichtete Attacken machen es schwierig, schnell an neue Samples zu gelangen.
  • Den verwendeten Methoden der internen Organisation des Schädlings nach zu urteilen sowie aufgrund der allgemeinen Funktionalität und der Häufigkeit der vorgenommenen Änderungen lässt sich der Schluss ziehen, dass ein Team von professionellen Entwicklern und Testern an dem Projekt arbeitet.

Wir wollen damit allerdings nicht sagen, dass dieser Trojaner gut programmiert ist – wir haben schon Banktrojaner analysiert, die durch eine weitaus höhere Qualität des Codes hervorstachen. Außerdem hat die Analyse von Lurk gezeigt, dass mehrere Programmierer an dem Code gearbeitet haben, die unterschiedlich qualifiziert waren. Stellenweise finden sich im Code ganz offensichtlich unglückliche Lösungen, die die Autoren jahrelang nicht verbessert haben (wir werden die Autoren selbstverständlich nicht auf ihre Fehler hinweisen). Die Virenschreiber entwickeln ihr Produkt weiter – wir beobachten, wie die Qualität des Codes im Laufe der Zeit zunimmt und die von den Autoren eingesetzten Lösungen besser werden. Lurk unterscheidet sich durch ein hohes Maß an Zielgerichtetheit – die Autoren tun alles, um so viele sie interessierende Opfer wie möglich zu infizieren, ohne dabei die Aufmerksamkeit der Analysten und Forscher zu erregen. Die Vorfälle, von denen wir Kenntnis haben, überzeugen uns davon, dass Lurk mit seinen Aufgaben fertig wird – regelmäßig gehen Mitteilungen über Diebstähle aus Fernbankdienstleistungssystemen ein, und die auf die Vorfälle folgenden forensischen Ermittlungen fördern Spuren von Lurk auf dem betroffenen Rechner zutage.

Opfer

Als Opfer von Interesse sind für die Cybergangster:

  • IT-Organisationen im Telekommunikationsbereich;
  • Massenmedien und Nachrichten-Aggregatoren;
  • Banken- und Finanzorganisationen.

Kompromittierte Computer von IT- und Telekomunternehmen geben den Betreibern von Lurk die Möglichkeit zur Schaffung neuer Umschlagsserver, über die der Traffic zu den Servern der Cyberkriminellen läuft. Websites von Massenmedien und Nachrichten-Aggregatoren, insbesondere solche, die von Buchhaltern besucht werden, werden benutzt, um eine große Zahl von Anwendercomputern aus der „Zielgruppe“ von Lurk zu infizieren. Banken und Finanzorganisationen sind für die Erreichung ihres eigentlichen Ziels für die Cybergangster von Interesse – dem Diebstahl von Geld.

Den Wunsch der Schädlingsautoren, sich in militärischen/polizeilichen Strukturen einzunisten (solche Organisationen stehen ebenfalls auf der Liste der Angegriffenen) lassen wir unkommentiert.

Zu den von dem Trojaner angegriffenen Zielen gehören alle russischen Großbanken, darunter auch die vier größten.

Verbreitung

Zur Verbreitung des Bank-Trojaners Lurk wird die weithin bekannte Technik Drive-by eingesetzt. Überdies verbreiten die Autoren den Trojaner auch über gehackte Websites von legitimer Software und innerhalb der Netzwerke der entsprechenden Organisation – mit Hilfe des Tools psexec.

Infektion via Exploit-Pack

Lurk wird in erster Linie mit Hilfe des berüchtigten Exploit-Packs Angler verbreitet (Autorenname – XXX).Bei einer solchen Verbreitungsmethode ist keine spezielle Interaktion des Nutzers notwendig um seinen Computer zu infizieren.

Angler gilt zu Recht als das Flaggschiff unter den Exploit-Packs: Exploits für neue Sicherheitslücken werden fast immer zuerst in Angler umgesetzt und erst dann tauchen sie auch in den übrigen Packs auf (es ist nicht ausgeschlossen, dass sie einfach übernommen werden). Nicht selten werden auch Exploits zu Zero-Day-Schwachstellen in Angler umgesetzt, was dieses Pack besonders gefährlich macht.

Die Infektion neuer Opfer mit Lurk wird normalerweise folgendermaßen vorbereitet:

  1. Eine Website, eine interessante Zielgruppe wird ausgewählt: ein Buchhalterforum, ein Nachrichtenportal usw.

    Die Infektion der Site erfolgt mit Hilfe eines Links auf das Ziel-Exploit-Pack, der heimlich auf der Website platziert wird. Ist es nicht möglich, die Site zu infizieren, wird der Link in den Materialien irgendeines Partnerprogramms untergebracht, die auf der Site gezeigt werden.

  2. Die auf die Site surfenden Nutzer werden verdeckt auf das Landing-Exploit-Pack umgeleitet. Angler versucht irgendeine Sicherheitslücke in der Software des Anwenders auszunutzen, was im Erfolgsfall zum Start des Lurk-Loaders – mini – führt.

Der Link auf das Landing-Exploit-Pack wird entweder nur für kurze Zeit platziert oder erscheint und verschwindet in einem bestimmten Rhythmus. Wir haben beispielsweise die Infektion des Forums einer bekannten Buchhalter-Zeitschrift beobachtete, auf dem der schädliche Link an Arbeitstagen Punkt 14 Uhr in der Mittagspause auftauchte. Wir haben selbstverständlich anomale Aktivität festgestellt und die Betreiber der Ressource informiert. Doch in dem Moment, als sie unsere Mail lasen, war die Ressource sauber, und sie konnten keine Infektion erkennen. Und inzwischen hatten die Betreiber von Lurk in der Zeit, als der schädliche Link im Forum präsent war, mehrere neue, mit Malware infizierte Computer erhalten.

Infektion über gehackte Websites

Die zweite Infektionsvariante, die die Cyberkriminellen aktiv nutzen, ist die Verbreitung des Schadcodes von legitimen Websites aus. Allem Anschein nach werden bei dieser Verbreitungsmethode nur an Nutzer aus der RU-Zone schädliche Dateien abgegeben, alle anderen erhalten saubere Dateien.

Infektion von Rechnern innerhalb des Unternehmensnetzwerks

Für Cyberkriminelle ist das ein äußerst interessantes Schema, bei dem beim ersten Angriff einer der Unternehmenscomputer infiziert wird. Selbst wenn es auf dem infizierten Rechner absolut nichts zu holen gibt, so ist er für die Cyberkriminellen dennoch von Interesse, denn dieser Computer befindet sich im selben Netz, in derselben Domain wie andere Computer, die über Informationen verfügen, hinter denen die Betreiber des Trojaners her sind. In diesen Fällen wird zur Verbreitung innerhalb des Netzwerks das Tool psexec von Mark Russinovich benutzt, und für den Start der Hauptmodule des Trojaners auf anderen Computern kommt der spezielle Dropper mini zum Einsatz. Diese Methode kann äußerst bedauerliche Folgen haben, da die Sicherheit des Computers mit den Daten, die die Angreifer interessieren, im Prinzip durch die Sicherheit des am wenigsten geschützten Computers im angegriffenen Netzwerk definiert wird.

Hauptmodule

Der Trojaner besteht aus mehreren Modulen mit recht weitreichenden Möglichkeiten. Die Hauptmodule von Lurk sind:

  • das Modul mini,
  • das Modul prescanner,
  • das Modul core (Kernel des Bots),
  • das Modul core_x64 (64-Bit-Version des Kernels),
  • das Modul mini_x64 (64-Bit-Version des Moduls mini).

Das Modul mini

Auf der ersten Angriffsetappe erfolgt mit Hilfe des Exploit-Packs Angler die Ausnutzung einer gefundenen Sicherheitslücke in der Software des Anwenders sowie der Download und der Start des Lurk-Moduls mini. Wie bereits oben erwähnt, kann der Anwender die schädliche Datei von einer gehackten Website herunterladen, die Infektion kann auch über ein lokales Netz erfolgen.

Mini ist ein nach Lurk-Maßstäben kleines Programm (100-400 KB). Seine Hauptaufgaben sind der Download und die Ausführung zweier anderer Hauptmodule des Schadprogramms Lurk. Die Adresse des Servers von mini ist fest in den Körper des Programms geschrieben. Der Download der Module erfolgt mit Hilfe gewöhnlicher GET-Anfragen. Die von mini zu ladenden Module sind verschlüsselt, wobei verschiedene kryptografische Algorithmen verwendet werden. Das Modul prescanner ist mit Hilfe des einfachen „xor-next“ verschlüsselt. Andere Module sind mit Hilfe des Verschlüsselungsalgorithmus‘ BlowFish (ECB Mode) chiffriert, dessen Pseudo-Schlüssel direkt in mini festgeschrieben ist. Der echte Schlüssel wird aus dem hartkodierten Pseudo-Schlüssel mit Hilfe einer Brute-Force-Attacke erhalten.

Damit nicht mit jedem Start von mini zusätzliche Module geladen werden müssen, speichert der Trojaner diese Module in einer separaten verschlüsselten Datei. Diese Datei befindet sich im Verzeichnis %APPDATA%. Der Inhalt des Speichers wird mit Hilfe des Verschlüsselungsalgorithmus‘ Blowfish chiffriert, dabei wird ein Schlüssel verwendet, der von der Erstellungszeit des Windows-Verzeichnisses abhängt. Neben dem Namen des Plugins und seinem Körper enthält der Speicher auch eine Liste der Kontrollsummen der Prozessnamen, im Kontext derer das Plugin ausgeführt werden soll. Mit Hilfe dieser Informationen bestimmt mini, in welchen Prozess das Plugin eingeschleust wird: Für das Modul Webeinschleusungen ist das der Browserprozess, für das Modul ibank ist es die Java.exe, im Kontext derer das jeweilige Online-Banking-System funktioniert.

Das Modul prescanner

Dem Funktionsschema von mini entsprechend besteht die zweite Angriffsetappe im Laden des Moduls prescanner. Bei diesem Modul handelt es sich um eine dynamisch ladbare Bibliothek mit der einzigen zu exportierenden Funktion Prescan.

Die Cyberkriminellen brauchen prescanner, um ihre Attacken maximal zielgerichtet zu gestalten. Wenn ein Rechner nicht den speziellen Regeln von prescanner entspricht und auf ihm kein Online-Banking-System gefunden wird, gibt das Modul diese Fakten an mini weiter und letzteres fällt die Entscheidung, sich nicht auf diesem Rechner einzunisten. Auf diese Weise versuchen die Trojaner-Autoren zu vermeiden, unnötige Aufmerksamkeit seitens der Strafverfolgungsbehörden und der Entwickler von AV-Software auf sich zu ziehen. Zur Untermauerung die folgende Tatsache: Jedes Mal bei der Registrierung eines neuen Bots im C&C wird eine einmalige ID für ihn festgelegt, die Nummer des Bots. Im Laufe der mehr als fünfjährigen Geschichte dieses Bank-Trojaners wurden im C&C insgesamt um die 60.000 Bots registriert.

prescanner führt zwei Hauptaufgaben aus:

  • das Sammeln von Informationen über das infizierte System;
  • den Diebstahl von Passwörtern aus FTP-Clients, die auf der Maschine des Nutzers gefunden wurden.

Nachdem es die notwendigen Informationen über den Rechner zusammengetragen und die Einhaltung der entsprechenden Regeln überprüft hat, sendet das Modul prescanner einen Bericht an seinen Steuerungsserver. In den von uns untersuchten Fällen waren der C&C-Server des Moduls prescanner und der C&C-Server des Downloaders mini identisch.

Wenn die Analyse des Rechners ergeben hat, dass dieser nicht für eine Lurk-Attacke geeignet ist, beenden die Module mini und prescanner ihre Arbeit und löschen sich selbst. Trifft das Modul prescanner die Entscheidung, sich in dem System festzusetzen, teilt er diese dem Downloader mini mit, der seinerseits das Modul core lädt und startet – den Hauptkörper des Bots.

Das Modul core

core ist das Hauptmodul von Lurk. Seine wichtigsten Funktionen sind:

  • Interaktion auf Netzwerkebene mit dem C&C;
  • Ausführung von Befehlen, die es von den Cyberkriminellen erhalten hat;
  • Aufzeichnung der Tastaturbetätigungen (Keylogger-Funktion) und das Aufzeichnen eines Videostreams vom Bildschirm des infizierten Systems;
  • Gewährleistung der Funktion des verschlüsselten Datenspeichers und der Einstellungen von Lurk;
  • Download, Installation und Start zusätzlicher Module des Trojaners.

Das Modul ist eine Art „Verbindungskanal“ zwischen den anderen Modulen des Schadprogramms und dem Steuerungszentrum. Die C&C-Server für mini und für core sind unterschiedlich. Core enthält keine hartcodierte Adresse des Steuerungszentrums, sie wird mit Hilfe eines Domain-Erzeugungs-Algorithmus‘ (DGA – Domain Generation Algorithm) errechnet. Die Autoren des Trojaners verwenden als Haupteingabeparameter des DGA unter anderem Börsennotierungen von Yahoo Finance. Das heißt, für die Generierung der C&C-Adressen werden Daten benutzt, die den Sicherheitsexperten vorher nicht bekannt sein können. Folglich ist es nicht möglich, die von Lurk generierten Adressen vorherzusagen.

Nach erfolgreicher Verbindung werden alle fünf Minuten an den Steuerungsserver vom Schädling gesammelte Daten und die Ergebnisse der Befehlsausführung gesendet, Updates und neue Kommandos werden angefragt. Die gesamte Kommunikation zwischen dem Modul core und dem C&C-Server wird verschlüsselt, der Datenaustausch zwischen core und dem C&C erfolgt im JSON-Format.

Die Funktion zum Abfangen der Daten, die der Nutzer in die Tastatur eingibt, wurde im Modul core in den neuen Lurk-Versionen umgesetzt (spätestens ab 8.9773). Das Abfangen erfolgt nur im Kontext von Fenstern mit bestimmten Wörtern/Phrasen im Namen, die in einer vom C&C erhaltenen Liste zusammengestellt sind. Die abgefangenen Informationen werden bei der nächsten Verbindungssession (einmal alle 5 Minuten) an den Steuerungsserver geschickt.

Der Hauptteil des Speichers des Trojaners Lurk befindet sich in der Registry, doch ein Teil der zusätzlichen Daten, die zum Speicher gehören, können in Form einer Datei auf der Festplatte dargestellt werden. In der Regel wird als Datei eine große, aber logisch einheitliche Datenmenge gespeichert, beispielsweise ein vom Bildschirm abgefangenes Video oder der Code von Web-Einschleusungen. Doch in jedem Fall sind die Links und diese zusätzlichen Dateien im Hauptteil des Speichers in der Registry enthalten.

Zusätzliche Module

Zusätzliche Module (Plugins) des Bots lädt core auf die Rechner, die das Schadprogramm als am geeignetsten für einen Angriff einstuft, dabei werden auf jeden Rechner genau die Module geladen, die auf ihm notwendig sind, um finanzielle Mittel zu stehlen.

Die uns zum gegenwärtigen Zeitpunkt bekannten Arten von Lurk-Modulen sind in der unten stehenden Tabelle aufgeführt.

GUID des Plugins Name Zweck des Plugins
{5FBA6505-4075-485b-AEC4-75767D9054C9} module_Bifit Sammeln von .class-Dateien, um Veränderungen in der normalen Funktionalität von „iBank 2“-Systemen vorzunehmen, mit dem Ziel, Geld zu stehlen.
{0F3E7AFA-1F2B-4b0e-99D6-3716A4C3D6DE} module_Bifit_admin Ein von den Cyberkriminellen modifiziertes Admin Applet für „iBank 2“-Systeme (vorgesehen für den Diebstahl von Konto-Daten von „iBank 2“-Systemen, darunter auch Schlüsseldateien).
{04DB063E-1454-4a73-B2CC-4DB6D4BB6AA1} module_ibank Plugin, das das Einschleusen von eigenen Applets in das System „iBank 2“ gewährleistet. Mit Hilfe dieser Applets (aber nicht nur mit ihnen) wird dem Nutzer sein Geld gestohlen.
{AABA3126-14E2-443b-A11B-FB6C1F793103} module_w3bank Ein Plugin, das zur Organisation von Web-Einschleusungen in die Seiten von Online-Banking-Systemen vorgesehen ist.
{5C345F77-B111-4a85-B6D6-EC8F27F993C4} module_w3bank_scripts Eine Sammlung von Skripten in JavaScript zur Einschleusung mit dem Modul w3bank. Vorgesehen für den Diebstahl von Geld und Daten aus Online-Banking-Systemen.
{50D13F6C-FC46-4fdf-A294-E149D36E54D4} module_spider Hilfsmodul, dessen Hauptaufgabe darin besteht, den Download anderer Lurk-Module im Kontext der Prozesse „iexplore.exe“, „firefox.exe“, „chrome.exe“, „opera.exe“, „jp2launcher.exe“, „java.exe“ vor dem tatsächlichen Start dieser Prozesse zu gewährleisten.
{52F1F7D8-4BCC-4498-AC86-3562F81990F6} module_vnc Plugin für den VNC-Zugriff auf einen entfernten Rechner (zur entfernten Steuerung des kompromittierten Computers).
{A06B5020-0DF3-11E5-BE38-AE5E4B860EDE} rdp-plugin-x86 Plugin, das die Aktivierung von RDP auf einem infizierten Computer gewährleistet.
{9F786E98-3D4C-4020-8819-B97D9D4DBCC0} highLauncher Downloader der Bot-Plugins im high Integrity level (notwendig für rdp-plugin-x86 und lsa-plugin-x86).
{968A2A9A-7DF4-4E69-BF81-563AF8FFB7DC} launcher Loader von mini. Wartet auf eine IPC-Message mit dem Namen <LurkDll>, woraufhin er mini mit Hilfe von LoadLibrary() lädt. Wird beim Start von mini mit erhöhten Privilegien verwendet.
{5B3957F2-AAAF-4FF8-94B8-83C52AFCD2A9} lsa-plugin-x86 Plugin zum Abgreifen von Admin- und/oder Domain-Accounts (verwendet wird das bekannte Programm mimikatz).

Drei Module (Plugins) des Bots beschreiben wir genauer: Die Module w3bank und ibank.dll – zwei „Arbeitspferde“ des Trojaners Lurk, die direkt am Diebstahl des Geldes beteiligt sind -, sowie das Modul module_vnc, das die Möglichkeit zur entfernten Steuerung eines infizierten Systems unter Verwendung des VNC-Protokolls bereitstellt.

Das Modul w3bank

Das Modul w3bank ist für Angriffe auf Fernbankdienstleistungssysteme vorgesehen. Seine Hauptaufgabe ist die Durchführung von Webeinschleusungen („Avtozaliv“) in den Browser des Nutzers.

Das Modul ibank

Das Modul ibank ist für die Durchführung von Diebstählen in den Online-Banking-Systemen „iBank“ vorgesehen.

Das Modul funktioniert im Kontext des Prozesses der Java Virtual Machine. Beim Start eines Java-Applets wird dieses Applet auf seine Zugehörigkeit zum System „iBank 2“ überprüft. Im Falle des Starts dieses Online-Banking-Systems wird an den Steuerungsserver des Schadprogramms die Anfrage gesendet, den Start des Applets zu blockieren oder fortzusetzen. Zusammen mit dem Befehl zum Fortsetzen des Startes kommt vom C&C eine Auswahl von Dateien mit Java-Klassen, die gegen die Original-Klassen des Applets „iBank“ ausgetauscht werden.

Ein infiziertes Applet ermöglicht es den Cyberkriminellen, unbemerkt Daten in Bezahlaufträgen auszutauschen und dabei in den Ausdrucken die ursprünglichen Informationen zu hinterlassen.

Das Modul module_vnc

Das Modul module_vnc bietet die Möglichkeit der entfernten Steuerung eines infizierten Systems unter Verwendung des VNC-Protokolls. Dabei erhält der entfernte Knoten vollständigen Zugriff auf das System: Er sieht, was auf dem Bildschirm abgebildet wird, er kann beliebige Dateien und Daten weiterleiten und erhalten, inklusive Daten von Videoaufzeichnungsgeräten und Ton, er kann die auf dem Rechner installierte Software benutzen und neue aufspielen.

Zudem bietet dieses Modul die Möglichkeit, Browserprozesse mit den folgenden Parametern zu starten:

Mozilla Firefox: -profile
Google Chrome: –user-data-dir=
Internet Explorer: -nomerge

Bei jedem Start von Mozilla Firefox und Google Chrome wird ein neues Profil des Browseranwenders erstellt. So kann die Aktivität des Schädlings vor dem legitimen User verborgen werden, die er nicht in der Chronik der besuchten Websites sehen kann. Überdies wird es so möglich, auf jeder beliebigen Site eine separate Session parallel zur bereits geöffneten zu erstellen. Das eröffnet den Cybergangstern insbesondere die Möglichkeit, zum zweiten Mal die Authentifizierung auf einer Website zu durchlaufen, mit der der Anwender arbeitet und in der parallelen Sitzung Aktionen durchzuführen, die keine Auswirkungen auf die Session des Nutzers haben.

Etappen einer Lurk-Attacke

Eine typische Attacke des Trojaners läuft also folgendermaßen ab:

  1. Der Rechner des Nutzers wird durch die Ausnutzung einer Sicherheitslücke infiziert.
  2. Auf dem infizierten Rechner wird das Modul mini gestartet.
  3. mini lädt das Modul prescanner und startet es.
  4. prescanner stiehlt dem Anwender FTP-Zugangsdaten.
  5. Wenn die infizierte Maschine den Analyseergebnissen zufolge nicht als lohnend eingestuft wird, machen sich mini und prescanner lautlos „aus dem Staub“.
  6. Wenn die infizierte Maschine für die Cybergangster von Interesse ist, wird der Angriff fortgesetzt.
  7. Wenn die Attacke fortgesetzt wird, lädt und startet mini das Modul core – den Hauptkörper des Bots.
  8. core verbindet sich mit dem Steuerungsserver des Bots, erhält Befehle von den Online-Kriminellen und führt sie aus.
  9. core erhält vom C&C zusätzliche Plugins des Bots.
  10. core spioniert den Nutzer aus – er fängt Daten ab, die über die Tastatur eingegeben werden und nimmt Videos vom Bildschirm des infizierten Systems auf. Abgefangen werden nur Daten im Kontext mit Fenstern, die bestimmte Wörter/Phrasen im Namen enthalten. Die Liste dieser Wörter/Phrasen kommt vom C&C und ist in erster Linie an den finanziellen Interessen der Betreiber von Lurk ausgerichtet.
  11. Unter Einsatz zusätzlicher Module (ibank, w3bank) stiehlt Lurk Finanzmittel aus Online-Banking-Systemen.

Beispiel für eine Attacke auf eine Bank

Im Rahmen unserer Untersuchungen entdeckten wir eine Lurk-Attacke auf eine der größten russischen Banken unter Verwendung des Moduls w3bank, das die Web-Injektionen umsetzt. Es ist uns gelungen, an das Skript der Injektionen zu gelangen.

Die Dateien des Skripts der Injektionen haben für unterschiedliche Online-Banking-Systeme dieselben Namen (content.min.js), aber unterschiedliche GUID, da letzterer willkürlich generiert wird.

Dieses Skript fängt die Authentifizierungsdaten ab, die in das Online-Banking-System der Bank eingegeben werden. Bei der Authentifizierung des Anwenders im Online-Banking-System werden Benutzername und Kennwort abgefangen. Nach der erfolgreichen Authentifizierung wird für den Anwender verborgen eine parallele Sitzung erstellt, im Laufe derer Lurk auf die Bankseiten geht und den Namen des Karteninhabers sucht sowie die Telefonnummer, die an die Karte gekoppelt ist. Das heißt, das schädliche Skript sammelt alle Informationen, die für den Bezahlvorgang im jeweiligen Online-Banking-System erforderlich sind. Im Folgenden wird diese Information an den Steuerungsserver weitergegeben, dessen Adresse mit der Netzwerkadresse des Servers übereinstimmt, der mit dem Modul core interagiert.

Der Steuerungsserver kann als Antwort ein Skript zurückgeben, das im Browserkontext ausgeführt wird. Im Rahmen unserer Untersuchungen ist es uns nicht gelungen, ein solches Skript zu ergattern.

Außerdem kann der Steuerungsserver einen automatischen Zahlungsvorgang registrieren, der nach der nächsten Authentifizierung des Nutzers im Online-Banking-System vorgenommen wurde.

Fazit

Die Autoren des Trojaners haben große Anstrengungen unternommen, um ihr Machwerk so gut es geht vor Sicherheitsforschern zu schützen, insbesondere, um Lurk vor einer Tiefenanalyse zu bewahren. Oder um eine solche Analyse zumindest wesentlich zu erschweren. Doch ungeachtet aller Schwierigkeiten, die eine Analyse des Schädlings bereitet, wird Lurk operativ von modernen AV-Lösungen detektiert.

Lurk leistet aber nicht nur den Anti-Malware-Unternehmen Widerstand. Der Entwickler von „iBank 2“, das russische Unternehmen „BIFIT“, unternimmt ebenfalls Anstrengungen, sein Produkt vor Angriffen zu schützen. Das Unternehmen hat Methoden zum Widerstand gegen Bank-Trojaner in seiner Software „iBank 2“ umgesetzt und deren Effizienz getestet. Aus den Ergebnissen der von „BIFIT“ durchgeführten Untersuchungen folgt, dass von allen im System „iBank2“ umgesetzten Schutzmethoden im Fall von Lurk lediglich die Kontrolle auf Seiten des Bank-Servers effektiv ist, alle anderen Abwehrmaßnahmen, die in das System „iBank 2“ integriert wurden, haben die Autoren von Lurk erfolgreich überwunden, was eindeutig für ihre Professionalität spricht.

Insgesamt hinterlässt Lurk den Eindruck eines komplexen und leistungsstarken Systems, das bestens geeignet ist, die kriminellen Ziele seiner Entwickler zu verwirklichen, und zwar den Nutzern das Geld zu stehlen. Die Beharrlichkeit und Konzentration, mit der die Autoren an ihrem Trojaner arbeiten, zeugt von einer hohen Motivation.

Zur Abwehr dieses Trojaners setzt Kaspersky Lab Methoden der Signatur-basierten, heuristischen und proaktiven Detektion ein. Dieser Ansatz ermöglicht die Erkennung neuer Lurk-Exemplare, sogar noch bevor sie in unsere Viren-Sammlung aufgenommen wurden. Dieser Trojaner wird unter den folgenden Bezeichnungen detektiert: Trojan.Win32.Lurk, Trojan-Banker.Win32.Lurk, Trojan-Spy.Win32.Lurk.

Zum Schluss einige banale Ratschläge, die jedoch nichts an ihrer Wirksamkeit eingebüßt haben. Die Sicherheit von Online-Banking-Systemen wird gewährleistet durch:

  • eine kompetente Projektierung und Administration der lokalen Netzwerke der Organisationen;
  • regelmäßige Schulungen der Belegschaft zu Regeln und Normen der IT-Sicherheit;
  • die Verwendung einer modernen und regelmäßig aktualisierten Schutz-Software.

Wir sind davon überzeugt, dass die Einhaltung dieser einfachen Regeln ein hohes Maß an Schutz vor Lurk und anderen Bedrohungen dieser Art gewährleistet.

IOCS:

Registry-Schlüssel:

HKCUSoftwareClassesCLSID{118BEDCC-A901-4203-B4F2-ADCB957D1887}
HKLMSoftwareClassesCLSID{118BEDCC-A901-4203-B4F2-ADCB957D1887}
HKCUSoftwareClassesDriveShellExFolderExtensions{118BEDCC-A901-4203-B4F2-ADCB957D1887}
HKLMSoftwareClassesDriveShellExFolderExtensions{118BEDCC-A901-4203-B4F2-ADCB957D1887}

Mögliche Namen des Moduls mini:

%APPDATA%API32.DLL
%APPDATA%dlg.dll
%APPDATA%mm.dll
%APPDATA%setup.dll
%APPDATA%help.dll
%APPDATA%mi.dll
%APPDATA%http.dll
%APPDATA%wapi.dll
%APPDATA%ER32.DLL
%APPDATA%core.dll
%APPDATA%theme.dll
%APPDATA%vw.dll
%APPDATA%el32.dll
%APPDATA%sta.dll
%APPDATA%p10.dll
%APPDATA%fc.dll
%APPDATA%in_32.dll
%APPDATA%pool.drv
%APPDATA%env.dll
%APPDATA%man.dll

Mögliche Namen des Modulspeichers:

%APPDATA%ddd2.dat
%APPDATA%pdk2.dat
%APPDATA%km48.dat
%APPDATA%llq.dat
%APPDATA%ddqq.dat
%APPDATA%4r.dat
%APPDATA%gi4q.dat
%APPDATA%wu3w.dat
%APPDATA%qq34.dat
%APPDATA%dqd6.dat
%APPDATA%w4ff.dat
%APPDATA%ok4l.dat
%APPDATA%kfii.dat
%APPDATA%ie31.dat
%APPDATA%33.dat

Netzwerkindikatoren:

Steuerungsserver:

3d4vzfh68[.]com
43xkchcoljx[.]com
carlton69f[.]com
diameter40i[.]com
elijah69valery[.]com
embassy96k[.]com
evince76lambert[.]com
globe79stanhope[.]com
groom58queasy[.]com
hackle14strand[.]com
hotbed89internal[.]com
mechanic17a[.]com
paper17cried[.]com
plaguey42u[.]com
possum89hilarity[.]com
rhythmic81o[.]com
ri493hfkzrb[.]com
roomful44e[.]com
s8f40ocjv[.]com
scale57banana[.]com
wing97pyroxene[.]com
yf3zf90kz[.]com

IDS-Regeln:

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:“Bot.Lurk.HTTP.C&C“; flow:established,to_server; content:“POST“; pcre:“/?hl=[a-z]+&source=[^rn&]+&q=[^rn&]+/msi“;)

MD5:

mini:

185C8FFA99BA1E9B06D1A5EFFAE7B842
2F3259F58A33176D938CBD9BC342FDDD
217DAB08B62B6F892A7D33E05E7F788C
3387E820F0F67FF00CF0C6D0F5EA2B75
36DB67CCADC59D27CD4ADF5F0944330D
6548D3304E5DA11ED2BED0551C3D6922
72D272A8198F1E5849207BC03024922D
85B66824A7F2787E87079903F0ADEBDF
B4FFAD760A52760FBD4CE25D7422A07B
C461706E084880A9F0409E3A6B1F1ECD
D0B4C0B43F539384BBDC103182E7FF42
E006469EA4B34C757FD1AA38E6BDAA72
E305B5D37B04A2D5D9AA8499BBF88940
E9CAB9097E7F847B388B1C27425D6E9A
E9DA19440FCA6F0747BDEE8C7985917F
F5022EAE8004458174C10CB80CCE5317

prescanner:

A802968403162F6979D72E04597B6D1F

core:

C15E18AFF4CDC76E99C7CB34D4782DDA
8643E70F8C639C6A9DB527285AA3BDF7

ibank.dll:

A6C032B192A8EDEF236B30F13BBFF204
4CB6CA447C130554FF16787A56A1E278
BFE73DE645C4D65D15228BD9A3EBA1B6
CC891B715C4D81143491164BFF23BF27

module_vnc:

601F0691D03CD81D94AD7BE13A10A4DB
6E5ADF6246C5F8A4D5F4F6BBFC5033B9
78EDD93CEA9BEDB90E55DE6D71CEA9C4

w3bank.dll:

1B84E30D4DF8675DC971CCB9BEE7FDF5
3A078D5D595B0F41AD74E1D5A05F7896


Source: DE Securelist info