In diesem Artikel zeigen wir Ihnen, wie Sie wie Bedrohungsjäger denken und das Open-Source-Tool YARA zusammen mit Censys verwenden können, um Coinhive, einen Mining-Dienst für Kryptowährungen, zu finden. YARA (jetzt von VirusTotal verwaltet) wurde zur Unterstützung von Sicherheitsanalysten entwickelt und ermöglicht es Benutzern, komplexe Regeln/Beschreibungen zur Identifizierung und Klassifizierung von Malware zu erstellen. Yara ist so flexibel, dass Sie HTML-Tags iterieren können, eine Technik, die wir weiter unten in diesem Beitrag verwenden werden.
Angreifer erstellen oft "neue" Malware, indem sie einfach ein paar kleine Merkmale bekannter Malware verändern, um Sicherheitsvorkehrungen zu umgehen. Mit YARA und ähnlichen Tools können Sie Malware gruppieren, die ähnlichen Mustern und Verhaltensweisen folgt, um ähnliche Malware zu finden und Sicherheitsrisiken zu vermeiden. Dank Tools wie YARA können Bedrohungsanalysten diese "neuen" Malware-Infektionen leichter aufspüren und Angriffe verhindern.
Angriffe aus der realen Welt mit Coinhive
Nach Recherchen des SpiderLab-Teams von TrustWave waren im August 2018 mehr als 200.000 MikroTik-Router von Coinhive betroffen. Damals erklärte der SpiderLab-Sicherheitsforscher Simon Kenin gegenüber BleepingComputer:
"Der Angreifer dachte sich, dass er, anstatt kleine Websites mit wenigen Besuchern zu infizieren oder ausgeklügelte Wege zu finden, um Malware auf Endbenutzer-Computern auszuführen, direkt zur Quelle gehen würde: Router-Geräte der Betreiberklasse. Selbst wenn dieser Angriff nur auf Seiten funktioniert, die Fehler zurückgeben, sprechen wir immer noch über potenziell Millionen von täglichen Seiten für den Angreifer."
Diese speziellen Angriffe schienen vor allem brasilianische Websites zu betreffen, aber der SpiderLabs-Bericht behauptete, dass der Angreifer die Malware wahrscheinlich auf ein breiteres, globales Publikum ausweiten würde, nachdem er in Brasilien Erfolg hatte.
Obwohl dieser Angriff weitreichende Auswirkungen hatte, hat MikroTik umgehend einen Patch veröffentlicht, der verhindert, dass seine Kunden von weiteren Angriffen betroffen sind.
Auffinden von Coinhive-Infektionen mit Censys + YARA
Bedrohungsjäger werden erfreut sein zu erfahren, dass Censys es den Benutzern ermöglicht, den Ursprung von Webseiten mit regulären Ausdrücken zu durchsuchen. Vor kurzem haben wir gezeigt, wie man mit Censys Magecart-Malware finden kann. Da Magecart bösartiges Javascript in die Root-Seite von Websites einschleust, konnten wir nach infizierten Websites suchen, indem wir nach Links zu den bekannten Skriptquellen suchten, die den bösartigen Code im Roh-HTML hosten. Da Magecart nur wenige Ergebnisse lieferte, konnten wir die Suchergebnisse manuell überprüfen, um sicherzustellen, dass der HTML-Code im HTTP(S)-Body einen Skript-Link zu einer der verdächtigen Domänen enthielt. Damals erwähnten wir, dass der manuelle Prozess unhandlich werden würde, wenn die Suchergebnisse eine größere Anzahl von Domänen ergeben würden, dass man aber die False-Positive-Prüfung mit einem Skript automatisieren könnte.
Wir wollen uns hier auf einen ähnlichen Bedrohungsabwehr Prozess konzentrieren, aber wie Sie ein Skript verwenden können, um die falsch-positiven Ergebnisse auszusortieren, wenn Ihre Suchergebnisse zu umfangreich sind, um sie manuell durchzugehen. An dieser Stelle kommen die YARA-Regeln ins Spiel.
Wie bei Magecart besteht eine der Möglichkeiten für Angreifer, die Coinhive-Codefamilie zu verbreiten, darin, sie in legitime Websites einzuschleusen. Angreifer verwenden Coinhive, um den Browser des Website-Besuchers (auch bekannt als der des Opfers) zu nutzen, um mit dem Mining von Kryptowährungen für sie zu beginnen, wobei die CPU des Opfers die schwere Arbeit übernimmt und den Rechner des Angreifers entlastet. Wir haben ein nützliches Skript erstellt, das die Liste der verdächtigen Domains liest, die den bekannten bösartigen Coinhive-Javascript-Code verwenden. Es verwendet die Censys Python-Bibliothek und die Python Yara-Bibliothek.
Dieses Skript liest die Liste der Domänen und erstellt dynamisch eine Censys -Suche nach Erwähnungen der infizierten Domänen im Text der Webseite, wobei die benutzerdefinierte YARA-Regel verwendet wird, um die Suchergebnisse weiter zu verfeinern und alle falsch-positiven Ergebnisse auszusortieren. Diese False Positives enthalten oft Erwähnungen der Sites im Text, aber nicht in einem Befehl, der den Browser anweist, das Javascript auszuführen.
Hier ein Beispiel für eine Suche nach Domänennamen, von denen bekannt ist, dass sie zur Verbreitung von bösartigem Javascript-Code verwendet werden. Sie können Censys verwenden, um in jedem Host-Detail nach diesen Namen zu suchen, siehe unten:
Das YARA-Skript, das wir in diesem Beitrag vorgestellt haben, reduziert diese Suchergebnisse auf die Skriptcode-Treffer. Leider ist YARA nicht in der Lage, HTML von Haus aus zu analysieren. Obwohl wir also die Skript-Tags einer Website nach bösartigem Javascript-Code im Zusammenhang mit Coinhive durchsuchen wollen, müssen wir einen Workaround erstellen, um die Tags zu analysieren. Yara kann über seine Erfassungsgruppen iterieren und diese durchsuchen. Wir verwenden also Muster für das Öffnen und Schließen von Skript-Tags, um nur die gewünschten Fragmente zu extrahieren.
In unserem Skript haben wir Regeln geschrieben, um nach allen Domänennamen zu suchen, die sich zwischen den Tags "open" und "close" des Skripts befinden, was Übereinstimmungen mit Klartextfeldern verhindert. Hier ist ein Screenshot der Ausgabe, um Ihnen eine Vorstellung davon zu geben, wie wir unsere Suchergebnisse verfeinern:
Ein wenig kreatives Denken Ihrerseits als Bedrohungsjäger wird Ihnen helfen, die wahre Stärke der Censys Malware-Suche zu finden, und hilfreiche Open-Source-Tools wie YARA können Ihnen helfen, einen Teil der Analyse zu automatisieren und das Rauschen herauszufiltern.
Was ist zu tun, wenn Sie Coinhive auf einer Ihrer Domains finden?
Hier sind ein paar Tipps, wie Sie Coinhive ausbremsen können, wenn Sie es in Ihrem Vermögen finden:
- Ändern und erzwingen Sie sichere Passwörter für Benutzer und Dienstkonten, die Zugriff auf die Bearbeitung oder Aktualisierung von Website-Inhalten haben.
- Aktualisieren Sie das Kennwort für Websites oder Dienste von Drittanbietern, die Zugang zur Bearbeitung oder Aktualisierung von Website-Inhalten haben.
- Erzwingen Sie eine Multi-Faktor-Authentifizierung für Administratorkonten und Benutzerkonten, die Website-Inhalte ändern können.
- Überprüfen und aktualisieren Sie WordPress-Plugins. Vergewissern Sie sich, dass die installierten Plugins noch aktiv entwickelt werden.
- Wenn möglich, sollten Sie auf Ihren Web- und Datenbankservern eine Audit-Protokollierung einrichten. Open-Source-Tools wie OSSEC oder OSQuery können Administratoren auf anomales Verhalten auf dem Server aufmerksam machen.
Dieses spezielle Beispiel ist nur ein Beispiel für unendlich viele Möglichkeiten. Wir würden gerne hören, was Sie herausgefunden haben - teilen Sie es uns auf Twitter(@censysio) mit. Gemeinsam können wir eine Gemeinschaft aufbauen, in der wir Erkenntnisse und Taktiken austauschen, um Angreifer und Bedrohungen zu bekämpfen.