Phishing-Kits, die Bitoperationen nutzen, um der Erkennung zu entgehen
17. März 2026
Von David Johnson und dem Mimecast Threat Research Team
- Betreiber von Phishing-Kits setzen Verschleierungstechniken ein, bei denen sie mithilfe von Bit-Steuerungsoperationen die herkömmliche Ablaufsteuerungslogik unterlaufen.
- Diese Technik verlängert die Analysezeit erheblich, indem sie lesbare bedingte Anweisungen in komprimierte mathematische Operationen umwandelt.
- Angreifer nutzen Bitoperationen, um unerwünschte Besucher – darunter Sicherheitstools, mobile Geräte und Headless-Browser – herauszufiltern
Was wir beobachten
Angreifer nutzen Bit-Control-Operationen, um Webseiten zu verschleiern, die in erster Linie zum Diebstahl von Zugangsdaten dienen. Anstelle einfacher bedingter Anweisungen fassen sie mehrere Prüfungen zu komplexen bitweisen Operationen zusammen. Dies erschwert die Analyse des Codes erheblich und verlängert die Zeit, die Erkennungssysteme benötigen, um diese Bausätze zu identifizieren.
Die Angreifer nutzen diese Vorgehensweisen aus verschiedenen Gründen, unter anderem, um unerwünschte Besucher – Sicherheitsforscher, automatisierte Scanner, mobile Geräte, Headless-Browser – auszusortieren, während sie es den Incident-Response-Teams gleichzeitig sehr schwer machen, die tatsächliche Funktionsweise des Codes zu verstehen, wenn diese ihn doch einmal entdecken.
Wie der Kontrollfluss funktioniert und warum er wichtig ist
Der Kontrollfluss beschreibt, wie ein Programm von einer Anweisung zur nächsten übergeht. Im Alltag lässt sich sagen, dass der Kontrollfluss die menschlichen Entscheidungsprozesse widerspiegelt.
Betrachten Sie die Entscheidung, einen Regenschirm mitzunehmen: Diese Handlung hängt davon ab, ob es regnet. Diese Logik lässt sich wie folgt übersetzen: WENN es draußen regnet, DANN nehmen Sie einen Regenschirm mit.
In der Programmierung bestimmt genau diese bedingte Logik, welche Aktionen der Code auf der Grundlage der Zustände der Variablen ausführt. Der Kontrollfluss umfasst drei Hauptkategorien:
- Bedingte Anweisungen (if-else, switch) – Entscheidungen auf der Grundlage von Bedingungen
- Schleifenanweisungen (for, while, do-while) – wiederholte Aktionen
- Sprunganweisungen (break, continue, return, goto) – Umleitung der Programmausführung
Im Zusammenhang mit Phishing-Kits bedeutet dies eine bedingte Logik, die festlegt, wie die Webseite mit dem Opfer interagiert.
Wie Angreifer den Kontrollfluss unterbrechen
Um den Kontrollfluss zu verschleiern, fassen die Entwickler von Phishing-Kits mehrere bedingte Anweisungen mithilfe von Bitoperationen zusammen. Anstatt für jede Bedingung separate if-else-Anweisungen zu erstellen, weisen sie Bitwerte zu, die gemeinsam abgerufen und ausgewertet werden können.
Beispielszenario:Ein Phishing-Kit, das darauf ausgelegt ist, Desktop-Nutzer in einer bestimmten Organisation anzugreifen, könnte Verbindungen von Mobilgeräten herausfiltern. Dieses Konzept erstreckt sich auf zahlreiche Situationen, in denen erwartete und unerwartete Besuchermerkmale eine Rolle spielen.
Das Ziel besteht darin, Interaktionen durch unbeabsichtigte Personen oder Maschinen – insbesondere Sicherheitsforscher und automatisierte Scan-Tools – einzuschränken. Darüber hinaus überwachen diese Prüfungen das Nutzerverhalten auf der Phishing-Seite und erkennen, ob die Geschwindigkeit der Texteingabe unnatürlich erscheint oder ob der Besucher versucht, Entwicklertools zu öffnen.
Durch den Einsatz von Bitoperationen erschweren Phishing-Kits die Analyse erheblich und machen es Sicherheitsteams schwer, die tatsächliche Funktionalität des Codes zu verstehen.
Drei Verschleierungsstufen, die wir beobachten
Stufe 1: Standardmäßiger, lesbarer Code
In typischen Implementierungen von Phishing-Kits erscheinen bedingte Prüfungen als einfacher Code:Dieser Code ist auf den ersten Blick verständlich. Ein Analyst kann schnell erkennen, dass das Tool auf mobile Geräte und Indikatoren für Headless-Browser prüft, wobei verschachtelte if-Anweisungen verwendet werden, um vier mögliche Kombinationen zu berücksichtigen. Der Logikablauf bleibt transparent und leicht nachvollziehbar.
Stufe 2: Einführung in Bit-Flags
Die nächste Stufe der Verschleierung führt Bitoperationen ein, wobei ein gewisses Maß an Lesbarkeit erhalten bleibt:
Der Code bleibt teilweise lesbar, beinhaltet jedoch Bitmanipulationen. Jede Bedingung setzt ein bestimmtes Bit innerhalb der Variablen „flags “. Wir haben 4 Variablen, denen wir Bitwerte zuweisen können:
- isMobile = 0001 (Bit 0)
- noCookies = 0010 (Bit 1)
- hasAutomationAPIs = 0100 (Bit 2)
- isHeadless = 1000 (Bit 3)
Diese vier binären Bedingungen ergeben 16 mögliche Zustände (0000 bis 1111), die darstellen, dass keine der Variablen übereinstimmt, alle Variablen übereinstimmen sowie jede beliebige Kombination davon. Ein Analyst kann die bedingten Prüfungen zwar noch erkennen, doch um zu verstehen, wie die Variable „flags“ später verwendet wird, sind weitere Untersuchungen erforderlich.
Stufe 3: Fortgeschrittene Verschleierung
In dieser letzten Phase der Verschleierung kommen umfangreiche Verschleierungstechniken zum Einsatz, darunter Hex-Arrays, ungewöhnliche Variablennamen und komplexe Bitoperationen:
Dieser Code sieht zwar wesentlich komplexer aus, erfüllt aber im Wesentlichen denselben Zweck wie das zweite Beispiel (mit einigen leicht erweiterten Kombinationen).
- Deklariert Variablen für Prüfungen wie „isMobile“, „Cookies“ und „AutomationAPIs“.
- Prüft jede der Variablen, setzt das entsprechende Bit auf 0 oder 1 (wahr oder falsch) und speichert alle Werte zusammen in einer neuen Variablen `_0xe`. In der Funktion werden zudem einige Werte referenziert, die an keiner anderen Stelle verwendet werden; dies dient dazu, die Analysten zu verwirren und ihnen mehr Zeit zu rauben.
- In der Variablen `_0x10` wird eine Pop-Zählung durchgeführt. „Popcount“ ist eine Methode, um zu zählen, wie viele Einsen vorhanden sind (dies wird verwendet, um festzustellen, wie viele Variablen insgesamt vorhanden sind).
- Die Variable `_0x11` verarbeitet die Kombinationen von 0000 bis> 1111; jede mögliche Kombination wird hier berücksichtigt.
- Die beiden verbleibenden Variablen `_0x12` und `_0x13` erfüllen die oben beschriebenen Funktionen: Die eine prüft, ob die Werte der höheren Bits gesetzt sind, und die andere betrachtet den Wert als Ganzes, um festzustellen, ob er einen bestimmten Schwellenwert überschreitet.
Die zugrunde liegende Logik ist bei allen Beispielen ähnlich: Die Merkmale der Besucher werden überprüft und es wird entschieden, was angezeigt werden soll. Diese Komplexität dient einzig und allein dazu, die Zeit der Analysten zu verschwenden und die automatisierte Erkennung zu behindern.
Was in der freien Natur geschieht
Ausgehend von den vom Mimecast Threat Research-Team untersuchten Beispielen lässt sich feststellen, dass diese verschleierte Logik – wenn sie in Kampagnen eingesetzt wird, die zu Seiten zum Abgreifen von Anmeldedaten führen – maßgeblich darüber entscheidet, ob das Phishing-Formular angezeigt oder eine Weiterleitung zu harmlosen Inhalten vorgenommen wird.
Erkennt der Code Automatisierungstools, Headless-Browser, fehlende Cookies oder mobile Geräte (je nach Zielprofil), leitet er den Besucher stillschweigend auf eine legitime Website um, ohne dabei Hinweise auf böswillige Absichten zu hinterlassen. Sicherheitsforscher, die die URL überprüfen, stoßen auf harmlose Inhalte, während die eigentlichen Ziele das Formular zum Abgreifen von Anmeldedaten sehen.
Diese selektive Darstellung verlängert die Laufzeit von Phishing-Kampagnen erheblich, da automatisierte Sicherheitssysteme böswilliges Verhalten bei ersten Überprüfungen nicht erkennen können.
Ziele
Eine weltweit verbreiteteTechnik, die bei mehreren Phishing-Kit-Familien beobachtet wurde, die auf verschiedene Branchen und Regionen abzielen
Überlegungen zur Erkennung
Die Verwendung von Bitoperationen auf einer Website kann im Kontext einer typischen Webseite als ungewöhnlich angesehen werden. Bei der Betrachtung von Bitoperationen sollten weitere Indikatoren (Domain-Alter, Zertifikat, Lieferdetails usw.) berücksichtigt werden, um festzustellen, ob eine Website seriös ist oder nicht.
Behalten Sie Ihren Vorsprung im Bereich der Bedrohungsanalyse
Schließen Sie sich Tausenden von Sicherheitsexperten an, die sich auf unsere sorgfältig zusammengestellten Warnmeldungen, Expertenanalysen und IOCs zu Kampagnen verlassen, um sich gegen die neuesten Cyberbedrohungen zu schützen.
Anmeldung erfolgreich
Vielen Dank, dass Sie sich für den Erhalt von Updates zu unseren Benachrichtigungen zu Bedrohungsinformationen angemeldet haben.
Wir bleiben in Kontakt!