Catturare APT41 sfruttando una vulnerabilità zero-day

Riepilogo
Darktrace ha rilevato diversi attacchi altamente mirati all’inizio di marzo, molto prima che le firme associate diventassero disponibili. Due settimane dopo, gli attacchi sono stati attribuiti al pirata informatico cinese APT41.
APT41 ha sfruttato la vulnerabilità zero-day CVE-2020-10189 di Zoho ManageEngine. Darktrace ha rilevato automaticamente l’attacco e ha fornito dati su di esso fin dalle primissime fasi, consentendo ai clienti di contenere la minaccia prima che potesse avere un impatto.
Le intrusioni qui descritte facevano parte di una più ampia campagna di APT41 che mirava a ottenere l’accesso iniziale a quante più aziende possibili durante la finestra di opportunità presentata da CVE-2020-10189.
I report generati da Darktrace hanno messo in luce e delineato ogni aspetto dell’incidente sotto forma di resoconto di sicurezza significativo. Anche un tecnico alle prime armi avrebbe potuto revisionare questi risultati e agire su questo attacco APT zero-day in meno di 5 minuti.
Combattere l’attacco globale di APT41
All’inizio di marzo, Darktrace ha rilevato diversi attacchi avanzati rivolti ai clienti negli Stati Uniti e in Europa. La maggior parte di questi clienti opera nel settore legale. Gli attacchi hanno condiviso le stesse tecniche, strumenti e procedure (TTP), prendendo di mira i server rivolti al pubblico e sfruttando le recenti vulnerabilità ad alto impatto. La scorsa settimana, FireEye ha attribuito questa attività sospetta al gruppo cinese di spionaggio informatico APT41.
Questa campagna ha utilizzato la vulnerabilità zero-day CVE-2020-10189 di Zoho ManageEngine per ottenere l’accesso a varie società, ma poco o nessun follow-up è stato rilevato dopo l’intrusione iniziale. Questa attività indica una campagna ad ampio raggio per ottenere l’accesso iniziale al maggior numero possibile di aziende target durante la finestra di opportunità zero-day.
L’attività dannosa osservata da Darktrace è avvenuta nella tarda serata di domenica 8 marzo 2020 e nella mattina del 9 marzo 2020 (UTC), sostanzialmente in linea con l’orario d’ufficio precedentemente attribuito al gruppo cinese di spionaggio informatico APT41.
Il grafico seguente mostra una sequenza temporale esemplare di uno dei clienti presi di mira da APT41. Gli attacchi osservati in altri ambienti dei clienti sono identici.

Figura 1: Sequenza dell’attacco
Analisi tecnica
L’attacco qui descritto è incentrato sulla vulnerabilità zero-day CVE-2020-10189 di Zoho ManageEngine. La maggior parte dell’attacco sembra essere stata automatizzata.
Abbiamo osservato l’intrusione iniziale, diversi download di payload successivi e il traffico di Command & Control (C2). In tutti i casi, l’attività era contenuta prima che venissero identificati eventuali passaggi successivi nel ciclo di vita dell’attacco, come il movimento laterale o l’esfiltrazione dei dati.
La schermata seguente mostra una panoramica dei rilevamenti chiave di AI Analyst segnalati. Non solo riportava il traffico SSL e HTTP C2, ma riportava anche i download del payload:

Figura 2: Rilevamento SSL C2 da parte di Cyber AI Analyst

Figura 3: Rilevamento del payload da parte di Cyber AI Analyst
Compromissione iniziale
La compromissione iniziale è iniziata con lo sfruttamento riuscito della vulnerabilità zero-day di Zoho ManageEngine CVE-2020-10189. Dopo l’intrusione iniziale, lo strumento della riga di comando Microsoft BITSAdmin è stato utilizzato per recuperare e installare un file Batch dannoso, descritto di seguito:
install.bat (MD5: 7966c2c546b71e800397a67f942858d0) dall’infrastruttura 66.42.98[.]220 sulla porta 12345.
Fonte: 10.60.50.XX
Destinazione: 66.42.98[.]220
Porta di destinazione: 12345
Tipo di contenuto: application/x-msdownload
Protocollo: HTTP
Host: 66.42.98[.]220
URI: /test/install.bat
Metodo: GET
Codice stato: 200

Figura 4: Connessione in uscita che recupera il file batch
Poco dopo la compromissione iniziale, è stato scaricato il Cobalt Strike Beacon LOADER al primo stadio.

Figura 5: Rilevamento del Cobalt Strike Beacon LOADER
Traffico di Command & Control
Storesyncsvc.dll è stato un impianto di Cobalt Strike Beacon (versione di prova) che era collegato a exchange.dumb1[.]com. È stata identificata una risoluzione DNS corretta per 74.82.201[.]8, che Darktrace ha ritenuto una connessione SSL di successo a un nome host con proprietà DNS dinamiche.
Più connessioni a exchange.dumb1[.]com sono state identificate come beaconing ad un centro C2. Questo traffico C2 verso il Cobalt Strike Beacon iniziale è stato sfruttato per scaricare un payload di secondo stadio.
È interessante notare che l’attività di Teamviewer e il download di Notepad++ avvenivano contemporaneamente all’avvio del traffico C2 in alcuni degli attacchi ai clienti. Ciò indica che APT41 stava cercando di utilizzare strumenti familiari invece di ricorrere completamente agli strumenti a sua disposizione. C’è almeno un’elevata certezza che l’uso di questi due strumenti possa essere attribuito a questa intrusione invece che alla regolare attività aziendale. Notepad++ non veniva normalmente utilizzato negli ambienti dei clienti target, né lo era Teamviewer; infatti, l’uso di entrambe le applicazioni era insolito al 100% per le organizzazioni target.
Download degli strumenti di attacco
CertUtil.exe, un programma a riga di comando installato come parte di Servizi certificati, è stato quindi sfruttato per connettersi esternamente e scaricare il payload di secondo stadio.

Figura 6: Darktrace rileva l’utilizzo di CertUtil
Poche ore dopo questo download eseguibile, il dispositivo infetto ha effettuato una connessione HTTP in uscita richiedendo l’URI/TzGG, che è stato identificato come Meterpreter che scarica un ulteriore shellcode per il Cobalt Strike Beacon.

Figura 7: Rilevamento associato all’attività di Meterpreter
Non è stato osservato alcun movimento laterale o una significativa esfiltrazione di dati.
Come Cyber AI Analyst ha segnalato l’exploit zero-day
Darktrace non solo ha rilevato questa campagna di attacco zero-day, ma Cyber AI Analyst ha anche risparmiato tempo prezioso ai team di sicurezza indagando su diversi eventi di sicurezza e generando un report che li ha messi immediatamente in condizione di agire.
La screenshot qui sotto mostra gli incidenti di AI Analyst segnalati in un ambiente infetto, negli otto giorni che coprono il periodo di intrusione. Il primo incidente a sinistra rappresenta l’attività APT qui descritta. Gli altri cinque incidenti sono indipendenti dall’attività APT e non altrettanto gravi.

Figura 8: Gli incidenti di sicurezza emersi con AI Analyst
AI Analyst ha riferito sei incidenti in totale nel periodo di otto giorni. Ogni incidente di AI Analyst include una cronologia dettagliata e un riepilogo dell’incidente, in un formato conciso che richiede in media due minuti per la revisione. Ciò significa che con Cyber AI Analyst, anche una persona non tecnica avrebbe potuto agire in risposta a questo sofisticato incidente zero-day in meno di cinque minuti.
Conclusione
Senza gli Indicator of Compromise (IoC) pubblici o qualsiasi intelligence open source disponibile, gli attacchi mirati sono incredibilmente difficili da rilevare. Inoltre, anche i migliori rilevamenti sono inutili se non possono essere eseguiti da un analista della sicurezza in una fase iniziale. Troppo spesso ciò si verifica a causa di un volume enorme di avvisi o semplicemente perché la barriera delle competenze al triage e alle indagini è troppo alta.
Questa sembra essere un’ampia campagna di APT41 per ottenere l’accesso iniziale a molte aziende e settori diversi. Sebbene di natura molto sofisticata, APT41 ha sacrificato la furtività per la velocità prendendo di mira molte aziende contemporaneamente. APT41 desiderava sfruttare la finestra di opportunità limitata offerta dallo zero-day Zoho prima che il personale IT iniziasse ad applicare le patch.
La Cyber AI di Darktrace è specificamente progettata per rilevare i segni sottili di attacchi mirati e sconosciuti in una fase iniziale, senza fare affidamento su conoscenze precedenti o IoC. Ottiene questo obiettivo apprendendo continuamente i normali modelli di comportamento per ogni utente, dispositivo e peer group associato da zero e “in corso d’opera”.
Di fronte alla recente campagna di attacco zero-day di APT41, la capacità dell’AI di (a) rilevare minacce sconosciute con l’AI di self-learning e (b) aumentare i responder sovraccarichi con indagini e rapporti guidati dall’AI si è rivelata fondamentale. In effetti, ha garantito che gli attacchi fossero rapidamente contenuti prima di passare alle fasi successive del ciclo di vita dell’attacco.
Indicatori di compromesso
Selezione delle violazioni del modello Darktrace:
- Anomalous File / Script from Rare External
- Anomalous File / EXE from Rare External Location
- Compromise / SSL to DynDNS
- Compliance / CertUtil External Connection
- Anomalous Connection / CertUtil Requesting Non Certificate
- Anomalous Connection / CertUtil to Rare Destination
- Anomalous Connection / New User-Agent to IP Without Hostname
- Device / Initial Breach Chain Compromise
- Compromise / Slow Beaconing Activity To External Rare
- Compromise / Beaconing Activity To External Rare
- Anomalous File / Numeric Exe Download
- Device / Large Number of Model Breaches
- Anomalous Server Activity / Rare External from Server
- Compromise / Sustained TCP Beaconing Activity To Rare Endpoint
- Compliance / Remote Management Tool On Server
La screenshot qui sotto mostra le violazioni del modello Darktrace che si verificano insieme durante la compromissione di un cliente:

Figura 9: Violazioni del modello Darktrace che si verificano insieme
IoC di rete:
IoC | Commento |
66.42.98[.]220 | Compromissione iniziale e download del payload |
74.82.201[.]8 | Risoluzione DNS per dominio C2 |
exchange.dumb1[.]com | Dominio C2 principale |
91.208.184[.]78 | Cobalt Strike C2 secondario |
IoC host:
IoC | Commento |
Nome file | Hash MD5 |
install.bat | 7966c2c546b71e800397a67f942858d0 |
storesyncsvc.dll | 5909983db4d9023e4098e56361c96a6f |
2.exe | 3e856162c36b532925c8226b4ed3481c |
TzGG | 659bd19b562059f3f0cc978e15624fd9 |
Tecniche MITRE ATT&CK osservate
Accesso iniziale | T1190 – Applicazione per exploit pubblica T1133 – Servizi remoti esterni |
Esecuzione | T1064 — Scripting |
Persistenza | T1050 – Nuovo servizio T1197 – Lavori BITS |
Escalation dei privilegi | T1068 — Sfruttamento per l’escalation dei privilegi |
Evasione della difesa | T1055 – Iniezione del processo T1197 – Lavori BITS |
Scoperta | |
Esfiltrazione | |
Command & Control | T1043 – Porte comunemente usate T1071 – Protocollo livelli di applicazione standard T1132 – Codifica dei dati T1008 – Canali di fallback |