Dalle Esche Fiscali all’Abuso di NinjaOne RMM
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Una campagna di phishing attiva sta prendendo di mira organizzazioni brasiliane imitando processi aziendali comuni come la documentazione fiscale e la gestione dei reclami. Anziché utilizzare malware convenzionali, gli attaccanti distribuiscono un agente legittimo di NinjaOne Remote Monitoring and Management (RMM) configurato per l’accesso controllato dagli avversari. Facendo affidamento sul software aziendale di fiducia, l’operazione riesce a bypassare molte difese tradizionali basate su malware.
Indagine
I ricercatori di Cato CTRL hanno scoperto la campagna attraverso l’analisi di pagine di phishing in lingua portoghese e una catena di reindirizzamenti che sfruttava l’infrastruttura ospitata da Google. La loro indagine ha rivelato diverse misure anti-analisi, tra cui geofencing focalizzato sul Brasile, fingerprinting del browser e logiche di rilevamento sandbox. Un pivot basato su un’immagine di sfondo a tema terrestre riutilizzata ha anche aiutato a collegare l’attività a ulteriori domini controllati dagli attaccanti.
Mitigazione
Le organizzazioni dovrebbero imporre controlli rigorosi sull’installazione di strumenti Remote Monitoring and Management non autorizzati. I team di sicurezza dovrebbero migliorare il monitoraggio per il deployment imprevisto del software e verificare attentamente le richieste legate a documenti fiscali o altri documenti aziendali. Bloccare i domini noti come malevoli e potenziare la sicurezza delle email per rilevare le catene di reindirizzamento del phishing può ridurre ulteriormente l’esposizione.
Risposta
Se viene rilevata questa attività, i team di sicurezza dovrebbero isolare immediatamente gli endpoint interessati per interrompere ulteriori accessi tramite l’agente RMM. Gli investigatori dovrebbero determinare come è stata avviata l’installazione di NinjaOne e rivedere i log di audit per azioni amministrative non autorizzate. Potrebbe essere necessaria anche la coordinazione con i fornitori di gestione degli endpoint per identificare e disabilitare i profili di gestione compromessi.
graph TB %% Sezione definizione classi classDef action fill:#99ccff classDef evasion fill:#ff99cc classDef tool fill:#cccccc classDef execution fill:#ccffcc classDef operator fill:#ff9900 %% Definizione dei nodi %% Fase di accesso iniziale action_phishing[“<b>Azione</b> – <b>T1566.002 Phishing: Link Spearphishing</b><br/>L’attaccante invia e-mail contenenti collegamenti<br/>nascosti dietro una catena di reindirizzamento<br/>tramite bc.googleusercontent.com.”] class action_phishing action %% Fase di evasione e controlli di esecuzione evasion_geofencing[“<b>Azione</b> – <b>T1665 Nascondere l’Infrastruttura</b><br/>Utilizzo del geofencing per limitare la distribuzione<br/>del payload a specifici intervalli IP brasiliani.”] class evasion_geofencing evasion evasion_keying[“<b>Azione</b> – <b>T1480.001 Execution Guardrails: Environmental Keying</b><br/>L’infrastruttura utilizza il controllo ambientale<br/>per garantire che l’esecuzione avvenga<br/>solo sui sistemi bersaglio.”] class evasion_keying evasion evasion_browser[“<b>Azione</b> – <b>T1217 Browser Information Discovery</b><br/>Il portale di phishing raccoglie informazioni<br/>sul browser per facilitare l’evasione.”] class evasion_browser evasion evasion_sandbox[“<b>Azione</b> – <b>T1497.002 Evasione Virtualizzazione/Sandbox: Controlli basati sull’attività utente</b><br/>Verifica la presenza di framework di automazione<br/>come Selenium o Puppeteer e conferma la presenza<br/>umana tramite il movimento del mouse.”] class evasion_sandbox evasion op_check((“AND”)) class op_check operator %% Fase di esecuzione op_validation((“AND”)) class op_validation operator action_user_exec[“<b>Azione</b> – <b>T1204.002 Esecuzione Utente: File Dannoso</b><br/>La vittima viene manipolata tramite tecniche<br/>di ingegneria sociale per scaricare un file<br/>che appare come un documento aziendale.”] class action_user_exec execution tool_rmm_installer[“<b>Strumento</b> – <b>Nome</b>: NinjaOne RMM Installer<br/><b>Descrizione</b>: Un programma di installazione legittimo<br/>di un agente RMM (es. NinjaOne-Agent-DocumentoFiscal)<br/>utilizzato per mascherare l’intento dannoso.”] class tool_rmm_installer tool %% Fase di persistenza e controllo action_software_ext[“<b>Azione</b> – <b>T1176 Software Extensions</b><br/>Installazione dell’agente RMM per<br/>estendere le capacità del sistema.”] class action_software_ext execution tool_remote_access[“<b>Strumento</b> – <b>T1219 Remote Access Tools</b><br/>Utilizzo dell’agente RMM installato per<br/>mantenere il comando e controllo persistente,<br/>eseguire ricognizione ed eseguire comandi.”] class tool_remote_access tool %% Connessioni %% Flusso iniziale action_phishing –>|porta_a| evasion_geofencing evasion_geofencing –>|porta_a| evasion_keying evasion_keying –>|porta_a| op_check %% Ramo logico di evasione op_check –>|verifica| evasion_browser op_check –>|verifica| evasion_sandbox evasion_browser –>|porta_a| op_validation evasion_sandbox –>|porta_a| op_validation %% Flusso di esecuzione op_validation –>|se_legittimo| action_user_exec action_user_exec –>|scarica| tool_rmm_installer tool_rmm_installer –>|abilita| action_software_ext action_software_ext –>|attiva| tool_remote_access
Flusso di Attacco
Esecuzione della Simulazione
Prerequisito: Il Controllo Pre-volo della Telemetria e dello Stato di Base deve essere superato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e mirano a generare la telemetria esatta attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.
-
Narrativa dell’attacco e Comandi: Un avversario sta conducendo una campagna di spearphishing mirata contro utenti brasiliani. L’attaccante invia un’email con il soggetto “Documento Fiscal” contenente un link a un sito malevolo ospitato su
sefaz.services. Il link reindirizza attraverso ungoogleusercontent.comURL per fornire infine un payload dell’agente NinjaOne RMM. Questa simulazione inserirà un’entrata di log sintetica nel flusso del proxy che imita questa specifica sequenza per validare la regola Sigma. -
Script di Test di Regressione:
# Script Python per simulare l'iniezione di un'entrata di log proxy malevola import datetime def generate_malicious_log(): timestamp = datetime.datetime.utcnow().isoformat() # Imitando la logica 'selection_domains' e 'selection_url' 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"INIEZIONI DI LOG PROXY SINTETICO: {log_entry}") # In uno scenario reale, questo verrebbe inviato a un endpoint syslog o ingurgitato via API return log_entry if __name__ == "__main__": generate_malicious_log() -
Comandi di Pulizia:
# Nessuna modifica persistente viene effettuata al sistema; # Se i log sono stati inviati a un SIEM in diretta, cancellare l'entrata di test specifica via SIEM API. echo "Simulazione completata. Nessuna pulizia host richiesta."