logo

CybergON Blog

Advancing the State of Cybersecurity.

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.

sunburst-1

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.

SolarWind_Tampered_Signature_Sandbox

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

Cybergon_Opensource_Signatures

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.

Sandbox01 Sandbox02

La first discovery di UNC2452 è avvenuta a seguito dell’indagine sul databreach subito dalla compagnia di sicurezza FireEye, anch’essa vittima dell’attacco.