Von finanziellen Ködern zum Missbrauch von NinjaOne RMM
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Eine aktive Phishing-Kampagne zielt auf brasilianische Organisationen ab, indem sie gängige Geschäftsprozesse wie die Bearbeitung von Steuerdokumenten und Beschwerden nachahmt. Statt herkömmliche Malware einzusetzen, liefern die Angreifer einen legitimen NinjaOne Remote Monitoring and Management (RMM) Agenten, der für den Angreifer-kontrollierten Zugriff konfiguriert ist. Durch den Einsatz vertrauenswürdiger Unternehmenssoftware kann die Operation viele traditionelle malware-basierte Abwehrmechanismen umgehen.
Untersuchung
Forscher von Cato CTRL entdeckten die Kampagne durch die Analyse von Phishing-Seiten in portugiesischer Sprache und einer Umleitungskette, die Google-gehostete Infrastruktur nutzte. Ihre Untersuchung deckte mehrere Anti-Analyse-Maßnahmen auf, darunter geographisches Abgrenzung, Browser-Fingerprinting und Sandbox-Detektionslogik, die sich auf Brasilien konzentrieren. Eine Pivot-Bautechnik, die auf einem wiederverwendeten, erdthemenbasierten Hintergrundbild basierte, half ebenfalls, die Aktivität mit weiteren von Angreifern kontrollierten Domains zu verknüpfen.
Eindämmung
Organisationen sollten strenge Kontrollen bezüglich der Installation nicht autorisierter Remote Monitoring und Management-Tools durchsetzen. Sicherheitsteams sollten die Überwachung unerwarteter Softwarebereitstellungen verbessern und Anfragen im Zusammenhang mit Steuerunterlagen oder anderen geschäftsbezogenen Dokumenten sorgfältig überprüfen. Das Blockieren der bekannten bösartigen Domains und die Stärkung der E-Mail-Sicherheit zur Erkennung von Phishing-Umleitungsketten können die Exposition weiter reduzieren.
Reaktion
Wenn diese Aktivität erkannt wird, sollten Sicherheitsteams die betroffenen Endpunkte sofort isolieren, um weiteren Zugriff über den RMM-Agenten zu stoppen. Ermittler sollten herausfinden, wie die Installation von NinjaOne initiiert wurde, und Prüfungsprotokolle auf nicht autorisierte administrative Aktionen überprüfen. Eine Zusammenarbeit mit Anbietern von Endpunktverwaltungsdiensten kann ebenfalls erforderlich sein, um kompromittierte Verwaltungsprofile zu identifizieren und zu deaktivieren.
graph TB %% Abschnitt mit Klassendefinitionen classDef action fill:#99ccff classDef evasion fill:#ff99cc classDef tool fill:#cccccc classDef execution fill:#ccffcc classDef operator fill:#ff9900 %% Knotendefinitionen %% Phase des Erstzugriffs action_phishing[„<b>Aktion</b> – <b>T1566.002 Phishing: Spearphishing-Link</b><br/>Der Angreifer versendet E-Mails mit Links,<br/>die hinter einer Weiterleitungskette über<br/>bc.googleusercontent.com verborgen sind.“] class action_phishing action %% Umgehungs- und Schutzmechanismus-Phase evasion_geofencing[„<b>Aktion</b> – <b>T1665 Infrastruktur verbergen</b><br/>Einsatz von Geofencing, um die Bereitstellung<br/>der Payload auf bestimmte brasilianische<br/>IP-Bereiche zu beschränken.“] class evasion_geofencing evasion evasion_keying[„<b>Aktion</b> – <b>T1480.001 Ausführungsleitplanken: Umgebungsabhängige Schlüsselung</b><br/>Die Infrastruktur nutzt Umgebungsprüfungen,<br/>um sicherzustellen, dass die Ausführung nur<br/>auf Zielsystemen erfolgt.“] class evasion_keying evasion evasion_browser[„<b>Aktion</b> – <b>T1217 Browser-Informationsgewinnung</b><br/>Das Phishing-Portal sammelt Browserinformationen,<br/>um Erkennungs- und Analysemechanismen zu umgehen.“] class evasion_browser evasion evasion_sandbox[„<b>Aktion</b> – <b>T1497.002 Umgehung von Virtualisierung/Sandbox: Benutzeraktivitätsbasierte Prüfungen</b><br/>Prüft auf Automatisierungsframeworks wie<br/>Selenium oder Puppeteer und validiert die<br/>Anwesenheit eines echten Benutzers durch Mausbewegungen.“] class evasion_sandbox evasion op_check((„UND“)) class op_check operator %% Ausführungsphase op_validation((„UND“)) class op_validation operator action_user_exec[„<b>Aktion</b> – <b>T1204.002 Benutzerausführung: Bösartige Datei</b><br/>Das Opfer wird durch Social Engineering dazu gebracht,<br/>eine Datei herunterzuladen, die als<br/>Geschäftsdokument erscheint.“] class action_user_exec execution tool_rmm_installer[„<b>Werkzeug</b> – <b>Name</b>: NinjaOne-RMM-Installer<br/><b>Beschreibung</b>: Ein legitimer Installer für einen RMM-Agenten<br/>(z. B. NinjaOne-Agent-DocumentoFiscal), der<br/>zur Verschleierung böswilliger Absichten verwendet wird.“] class tool_rmm_installer tool %% Persistenz- und Kontrollphase action_software_ext[„<b>Aktion</b> – <b>T1176 Software-Erweiterungen</b><br/>Installation des RMM-Agenten zur<br/>Erweiterung der Systemfunktionen.“] class action_software_ext execution tool_remote_access[„<b>Werkzeug</b> – <b>T1219 Fernzugriffsprogramme</b><br/>Verwendung des installierten RMM-Agenten für<br/>dauerhafte Command-and-Control-Funktionen,<br/>Aufklärung und Befehlsausführung.“] class tool_remote_access tool %% Verbindungen %% Initialer Ablauf action_phishing –>|führt_zu| evasion_geofencing evasion_geofencing –>|führt_zu| evasion_keying evasion_keying –>|führt_zu| op_check %% Zweig der Umgehungslogik op_check –>|prüft| evasion_browser op_check –>|prüft| evasion_sandbox evasion_browser –>|führt_zu| op_validation evasion_sandbox –>|führt_zu| op_validation %% Ausführungsablauf op_validation –>|wenn_legitim| action_user_exec action_user_exec –>|lädt_herunter| tool_rmm_installer tool_rmm_installer –>|ermöglicht| action_software_ext action_software_ext –>|aktiviert| tool_remote_access
Angriffsablauf
Simulationsdurchführung
Voraussetzung: Der Telemetrie- und Baseline-Pre-Flight-Check muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die präzise Durchführung der gegnerischen Technik (TTP), die darauf ausgelegt ist, die Erkennungsregel auszulösen. Die Befehle und das Narrativ MÜSSEN direkt die identifizierten TTPs widerspiegeln und zielen darauf ab, die genau erwartete Telemetrie durch die Erkennungslogik zu erzeugen. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.
-
Angriffsnarrativ & Befehle: Ein Angreifer führt eine gezielte Spearphishing-Kampagne gegen brasilianische Nutzer durch. Der Angreifer sendet eine E-Mail mit dem Betreff „Documento Fiscal“ mit einem Link zu einer bösartigen Seite, die auf
sefaz.servicesgehostet wird. Der Link leitet über einegoogleusercontent.comURL weiter, um letztendlich eine NinjaOne RMM-Agenten-Nutzlast zu liefern. Diese Simulation wird einen synthetischen Logeintrag in den Proxy-Stream einspeisen, der diese spezifische Abfolge nachahmt, um die Sigma-Regel zu validieren. -
Regressionstest-Skript:
# Python-Skript zur Simulation der Injektion eines bösartigen Proxy-Logeintrags import datetime def generate_malicious_log(): timestamp = datetime.datetime.utcnow().isoformat() # Nachahmung der 'selection_domains'- und 'selection_url'-Logik log_entry = { "timestamp": timestamp, "src_ip": "192.168.1.50", "dest_ip": "104.21.45.12", "url": "https://storage.googleapis.com/googleusercontent.com/payloads/malware.exe", "domain": "sefaz.services", "subject": "Documento Fiscal - Urgente", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } print(f"INJEKTION DES SYNTHETISCHEN PROXY-LOGS: {log_entry}") # In einem realen Szenario würde dies an einen Syslog-Endpunkt gesendet oder über API aufgenommen return log_entry if __name__ == "__main__": generate_malicious_log() -
Bereinigungskommandos:
# Keine dauerhaften Änderungen werden am System vorgenommen; # Wenn die Logs an ein Live-SIEM gesendet wurden, lösche den spezifischen Testeintrag über die SIEM-API. echo "Simulation abgeschlossen. Keine Bereinigung am Host erforderlich."