Sunburst: Backdoor nelle patch di SolarWinds Orion
L’attacco a diverse agenzie federali e ai Dipartimenti del Tesoro e del Commercio degli Stati Uniti è stato definito come tra i più importanti degli ultimi 5 anni. Un’offensiva durata molto tempo e perpetrata sfruttando un aggiornamento di SolarWinds. Abbiamo analizzato l’attacco, come sia stato possibile possibile veicolarlo attraverso l’infezione di alcune patch di SolarWinds Orion e quali sono i tool che abbiamo a disposizione per contrastarlo.
Questa campagna APT denominata UNC2452, tuttora attiva, si presume abbia visto la luce nella primavera 2020 con attacchi malspam diretti ad alcuni dipendenti SolarWinds. La scelta di questa azienda è stata dettata dal suo parco clienti composto da target molto appetibili dal punto di vista delle informazioni trattate, come il Dipartimento del Tesoro, del Commercio e la Homeland Security Statunitensi.
La dinamica dell’attacco
I threat actors, una volta compromesso un utente di SolarWinds, hanno eseguito delle privilage escalation per arrivare ad ottenere il certificato di firma digitale della società statunitense e le credenziali per l’accesso alla repository degli update.
Ottenute le credenziali di accesso alla repository di update ed il certificato di digital signature, la creazione di un Microsoft Patch File (.msp), “armato” per scopi malevoli è un’operazione banale, è invece “some of the best operational security” il passare inosservati per 8 mesi all’interno di alcune delle più sicure organizzazioni al mondo.
Per ottenere questo livello di furtività l’APT che ha ideato UNC2452 si è avvalso del OIP - Orion Improvemement Program, un protocollo legittimo di SolarWinds che utilizza HTTPS per contattare la casa madre ai fini diagnostici. Grazie ad una semplice modifica sui DNS SolarWinds è stato possibile sfruttare un CNAME legittimo per contattare un IP gestito dal threat actor, utilizzando OIP come protocollo C2C.
La backdoor, chiamata SUNBURST, inserita nel file SolarWinds.Orion.Core.BusinessLayer.dll
è stata riscontrata ad oggi su 18000 dei 300000 clienti SolarWinds Orion.
L’infection chain di questa campagna è stata variata nel tempo ma è ad alto livello riconducibile a:
- Esecuzione della Orion modificata dal APT e posta sul update server Solarwinds
- Periodo latente, tra 1 e 7 settimane
- Beaconing OIP per identificazione target
- Verifica target da parte dell’APT, decisione di continuazione o dearm dell’attacco
- Download dell’agente di persistenza
- Istaurazione della connessione offuscata con C2C
- Lateral Movement con credenziali differenziate
- Swap ed estrazione di file
Di seguito la matrice MITRE ATT&ACK con le tecniche osservate nei samples:
ID | Description |
---|---|
T1012 | Query Registry |
T1027 | Obfuscated Files or Information |
T1057 | Process Discovery |
T1070.004 | File Deletion |
T1071.001 | Web Protocols |
T1071.004 | Application Layer Protocol: DNS |
T1083 | File and Directory Discovery |
T1105 | Ingress Tool Transfer |
T1132.001 | Standard Encoding |
T1195.002 | Compromise Software Supply Chain |
T1518 | Software Discovery |
T1518.001 | Security Software Discovery |
T1543.003 | Windows Service |
T1553.002 | Code Signing |
T1568.002 | Domain Generation Algorithms |
T1569.002 | Service Execution |
T1584 | Compromise Infrastructure |
Questa campagna è da denotare come high effort in quanto l’APT ha creato i seguenti componenti dal nuovo:
- TEARDROP: un dropper stenografico memory-only, sfrutta il download di uno stream immagine per ottenere l’agente di persistenza
- Custom BEACON: versione fortemente customizzata di Cobalt Strike BEACON utilizzato come agente di persistenza sulle macchine target simula il protocollo OIP per lo scambio di messaggi con i C2 server. Questa webshell è stata chiamata dagli analisti SUPERNOVA
SolarWinds ha rilasciato una advisory riportante i passi necessari per il contenimento e neutralizzazione dell’attacco. Vista la complessità di UNC2452 e il tempo in cui è passata inosservata sono ancora da valutare possibili impatti sulle infrastrutture, durante l’analisi di alcuni messaggi C2C abbiamo riconosciuto comandi per la modifica di ACL su apparati di network-security perimetrali dei maggiori vendor.
CybergON ha implementato all’interno delle sue firme SNORT/Suricata opensource la detection del protocollo OIP sfruttato dal Threat Actor e relativa blocklist sui CNAME utilizzati dal dropper per l’identificazione del cliente:
- .appsync-api.eu-west-1.avsvmcloud.com
- .appsync-api.us-west-2.avsvmcloud.com
- .appsync-api.us-east-1.avsvmcloud.com
- .appsync-api.us-east-2.avsvmcloud.com
alert tcp $HOME_NET any -> any any (msg:"Backdoor.SUNBURST"; content:"T "; offset:2; depth:3; content:"/swip/Events HTTP/1"; within:100; content:"Host: "; content:!".solarwinds.com"; within:100; sid:870182902; rev:1;)
alert tcp $HOME_NET any -> any any (msg:"Backdoor.SUNBURST"; content:"T "; offset:2; depth:3; content:"/swip/upd/SolarWinds.CortexPlugin.Components.xml"; distance:0; content:"Host: "; content:!".solarwinds.com"; within:100; sid:870182903; rev:1;)
alert tcp any any -> any any (msg:"Backdoor.SUNBURST"; content:"T "; offset:2; depth:3; content:"Host:"; content:".avsvmcloud.com"; distance:0; sid:870182900; rev:1;)
alert tcp $HOME_NET any -> any any (msg:"Backdoor.SUNBURST"; content:"T "; offset:2; depth:3; content:"swip/Upload.ashx HTTP/1"; within:100; content:"Host: "; content:!".solarwinds.com"; within:100; sid:870182901; rev:1;)
alert tcp $HOME_NET any -> any any (msg:"Backdoor.SUNBURST"; content:"T "; offset:2; depth:3; content:"/swip/upd/"; within:75; content:" HTTP/1."; distance:0; content:"Host: "; content:!".solarwinds.com"; within:100; sid:870182910; rev:1;)
Per evitare che un semplice cambio di infrastruttura potesse ridare nuova vita a questo attacco sono state create alcune regole yara che permettono la detection dei due stati del malware SUNBURST e SUPERNOVA, queste rules applicate alla nostra sandbox sono state in grado di riconoscere con 87% di accuratezza sample estratti da attacchi al momento in corso.
La first discovery di UNC2452 è avvenuta a seguito dell’indagine sul databreach subito dalla compagnia di sicurezza FireEye, anch’essa vittima dell’attacco.