Inves­ti­gadores de ESET des­cubrieron un nue­vo back­door que tiene fuertes vin­cu­la­ciones a un mal­ware uti­liza­do por Stealth Fal­con, un grupo cono­ci­do por lle­var ade­lante ataques de spy­ware dirigi­dos con­tra peri­odis­tas, activis­tas y disidentes en el Medio Ori­ente

Stealth Fal­con es un grupo de ame­nazas acti­vo des­de 2012 cono­ci­do por ataques dirigi­dos a activis­tas políti­cos y peri­odis­tas en Medio Ori­ente. Ha sido mon­i­tore­a­do por Cit­i­zen Lab, una orga­ni­zación sin fines de lucro cen­tra­da en seguri­dad y dere­chos humanos que en 2016 pub­licó un análi­sis sobre un cib­er­ataque en par­tic­u­lar de este grupo. A su vez, en enero de 2019, Reuters pub­licó un repor­ta­je de inves­ti­gación sobre Project Raven, una ini­cia­ti­va que según afir­ma el medio emplea a ex agentes de la NSA para lle­var ade­lante ataques de ciberes­pi­ona­je dirigi­dos a los mis­mos obje­tivos que Stealth Fal­con.

Sobre la base de estos dos informes que se refieren a los mis­mos obje­tivos y ataques, el espe­cial­ista en tec­nología sénior de Amnistía Inter­na­cional, Clau­dio Guarnieri, ha con­clu­i­do que Stealth Fal­con y Project Raven son en real­i­dad el mis­mo grupo.

Figu­ra 1. Clau­dio Guarnieri vin­culó Stealth Fal­con con Project Raven

Cier­ta infor­ma­ción téc­ni­ca sobre Stealth Fal­con ya se ha hecho públi­ca, fun­da­men­tal­mente en el análi­sis men­ciona­do que real­izó Cit­i­zen Lab.

El com­po­nente clave en el ataque doc­u­men­ta­do en el reporte elab­o­ra­do por Cit­i­zen Lab fue un back­door basa­da en Pow­er­Shell, envi­a­do a través de un doc­u­men­to mali­cioso que se incluyó en un correo elec­tróni­co.

Aho­ra, hemos encon­tra­do un back­door bina­rio, que nun­ca antes se había repor­ta­do, al que hemos lla­ma­do Win32/StealthFalcon. En este artícu­lo, rev­e­lare­mos las simil­i­tudes exis­tentes entre este back­door bina­rio y el script de Pow­er­Shell con capaci­dades de back­door atribui­dos al grupo Stealth Fal­con. Con­sid­er­amos que las simil­i­tudes exis­tentes son una fuerte evi­den­cia de que Win32/StealthFalcon fue crea­do por este grupo.

El back­door Win32/StealthFalcon, que parece haber sido crea­do en 2015, per­mite al ata­cante con­tro­lar la com­puta­do­ra com­pro­meti­da de for­ma remo­ta. Hemos vis­to un pequeño número de obje­tivos en los Emi­ratos Árabes, Ara­bia Sau­di­ta, Tai­lan­dia y los País­es Bajos; en este últi­mo caso, el obje­ti­vo era una mis­ión diplomáti­ca de un país de Medio Ori­ente. Cómo se dis­tribuyó y eje­cutó el back­door en los sis­temas afec­ta­dos está más allá del alcance de esta inves­ti­gación; ya que nue­stro análi­sis está enfo­ca­do en sus capaci­dades y su comu­ni­cación con el C&C.

Comunicación con el C&C

En su comu­ni­cación con el servi­dor C&C, Win32/StealthFalcon uti­liza el com­po­nente están­dar de Win­dows cono­ci­do como Back­ground Intel­li­gent Trans­fer Ser­vice (BITS), lo cual es bas­tante inusu­al. BITS fue dis­eña­do para trans­ferir grandes can­ti­dades de datos sin con­sumir una gran can­ti­dad de ancho de ban­da de la red, lo cual logra al reg­u­lar el cau­dal de datos envi­a­dos para no afec­tar las necesi­dades de ancho de ban­da de otras apli­ca­ciones. Es común­mente uti­liza­do por los actu­al­izadores y otras apli­ca­ciones dis­eñadas para oper­ar en segun­do plano. Esto sig­nifi­ca que las tar­eas BITS tienen más prob­a­bil­i­dades de ser per­mi­ti­das por los fire­walls basa­dos ​​en host.

En com­para­ción con la comu­ni­cación tradi­cional a través de las fun­ciones API, el mecan­is­mo BITS está expuesto a través de una inter­faz COM, por lo que es más difí­cil de detec­tar para un pro­duc­to de seguri­dad. Además, este dis­eño es con­fi­able y sig­iloso. La trans­fer­en­cia se reanu­da automáti­ca­mente después de ser inter­rump­i­da por razones como una inter­rup­ción de la red, el cierre de sesión del usuario o un reini­cio del sis­tema. Además, debido a que BITS ajus­ta la ratio de trans­fer­en­cia de los archivos en fun­ción del ancho de ban­da disponible, el usuario no tiene motivos para sospechar.

Win32/StealthFalcon puede cam­biar la comu­ni­cación entre dos servi­dores C&C cuyas direc­ciones estén alma­ce­nadas en una clave de reg­istro, jun­to con otros val­ores de con­fig­u­ración, y pueden actu­alizarse medi­ante uno de los coman­dos del back­door. En caso de que el back­door no logre comu­ni­carse con sus servi­dores C&C, el back­door se remueve a sí mis­mo del sis­tema com­pro­meti­do después de cier­to número de inten­tos fal­li­dos.

Capacidades del backdoor

Win32/StealthFalcon es un archi­vo DLL que, después de eje­cu­tarse, se pro­gra­ma como una tarea que se eje­cu­ta en cada ini­cio de sesión de usuario. Si bien solo sopor­ta coman­dos bási­cos, mues­tra un enfoque sis­temáti­co para la recopi­lación de datos, exfil­tración de datos, el empleo de her­ramien­tas mali­ciosas adi­cionales y la actu­al­ización de su con­fig­u­ración.

Com­mand nameFunc­tion­al­i­ty
KUnin­stall itself
CFGUpdate con­fig­u­ra­tion data
RCExe­cute the spec­i­fied appli­ca­tion
DLWrite down­loaded data to file
CFPre­pare a file for exfil­tra­tion
CFWExfil­trate and delete files
CFWDNot implemented/no oper­a­tion

Tabla 1. Coman­dos del back­door

Por ejem­p­lo, la capaci­dad fun­da­men­tal del back­door, la descar­ga y la eje­cu­ción de archivos, se logra medi­ante com­pro­ba­ciones per­iódi­cas de libr­erías lla­madas “win*.dll” o “std*.dll” en el direc­to­rio des­de el que se eje­cu­ta el mal­ware, y car­gan­do estas libr­erías.

Además, Win32/StealthFalcon recopi­la archivos y los prepara para la exfil­tración alma­ce­nan­do una copia cifra­da con un pre­fi­jo hard­codea­do en una car­pe­ta tem­po­ral. Luego, ver­i­fi­ca reg­u­lar­mente dichos archivos y los exfil­tra automáti­ca­mente. Una vez que los archivos se han exfil­tra­do cor­rec­ta­mente, el mal­ware auto elim­i­na todos los archivos de reg­istro y los archivos recopi­la­dos (antes de elim­i­nar los archivos los ree­scribe con datos aleato­rios), para evi­tar el análi­sis forense y la recu­peración de los datos elim­i­na­dos.

Los val­ores de con­fig­u­ración son alma­ce­na­dos en la clave de reg­istro HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionShell Exten­sions. Todos los val­ores tienen como pre­fi­jo el nom­bre de archi­vo del mal­ware (sin la exten­sión).

Val­ue name suf­fixCon­tent
-Font­Dis­po­si­tionRan­dom­ly gen­er­at­ed, 4‑byte vic­tim ID
-MRU­Da­taRC4-encrypt­ed C&C domain
-MRUListRC4-encrypt­ed C&C domain
-Icon­Po­si­tionFlag deter­min­ing which of the C&C domains should be used
-IconDis­po­si­tionNum­ber of sec­onds to sleep after each iter­a­tion of con­tact­ing the C&C serv­er
-Pop­up­Po­si­tionCounter of failed attempts to reach the C&C servers

Tabla 2. Datos de con­fig­u­ración alma­ce­na­dos en el reg­istro

Posi­ble tru­co para evadir la detec­ción

Es intere­sante una fun­ción que se eje­cu­ta antes de que se ini­cie cualquier pay­load mali­cioso y que parece redun­dante. Ref­er­en­cia a más de 300 importa­ciones, pero no las usa en abso­lu­to. En cam­bio, siem­pre regre­sa y con­tinúa con el pay­load sin realizar una ver­i­fi­cación de condi­ción, lo que sug­ier­an que se tra­ta de un tru­co anti-emu­lación.

Figu­ra 2. Una fun­ción que ref­er­en­cia a cien­tos de importa­ciones no uti­lizadas, posi­ble­mente aña­di­das para evi­tar la detec­ción del mal­ware

 

No cono­ce­mos la inten­ción pre­cisa de esta fun­ción, pero sospechamos que se tra­ta de algún tipo de inten­to para evadir la detec­ción, o de algunos restos de un frame­work más grande uti­liza­do por los autores del mal­ware.

Vinculación con Stealth Falcon

Tan­to Win32/StealthFalcon como el back­door basa­do en Pow­er­Shell descrito en el análi­sis de Cit­i­zen Lab, ambos com­parten el mis­mo servi­dor de C&C: la direc­ción win­dowsearch­cache [.]com se uti­lizó como un “Dominio de Servi­dor C2 de eta­pa dos” en el back­door anal­iza­do por Cit­i­zen Lab, y tam­bién en una de las ver­siones de Win32/StealthFalcon.

Ambos back­doors pre­sen­tan simil­i­tudes sig­ni­fica­ti­vas en el códi­go; y si bien están escritos en lengua­jes difer­entes, la lóg­i­ca sub­y­a­cente se con­ser­va. Asimis­mo, ambos uti­lizan iden­ti­fi­cadores hard­codea­d­os (prob­a­ble­mente ID de campaña/ID de obje­ti­vo). En ambos casos, toda la comu­ni­cación de red del host com­pro­meti­do tiene el pre­fi­jo de estos iden­ti­fi­cadores y está cifra­da con RC4 uti­lizan­do una clave hard­codea­da.

Para su comu­ni­cación con el servi­dor C&C, ambos usan HTTPS pero estable­cen ban­deras especí­fi­cas para que la conex­ión ignore el cer­ti­fi­ca­do del servi­dor.

Con­clusión

Des­cub­ri­mos y anal­izamos un back­door que uti­liza una téc­ni­ca poco común para la comu­ni­cación con el C&C (uti­liza Win­dows BITS), y algu­nas téc­ni­cas avan­zadas para evi­tar la detec­ción y el análi­sis, y para garan­ti­zar la per­sis­ten­cia y com­plicar el análi­sis forense. Las simil­i­tudes en el códi­go y la infraestruc­tura con un mal­ware pre­vi­a­mente cono­ci­do y crea­do por Stealth Fal­con nos lle­van a la con­clusión de que el back­door Win32/StealthFalcon tam­bién es el tra­ba­jo de este grupo de ame­nazas.

Nombre de detección de ESET

Win32/StealthFalcon

SHA‑1

31B54AEBDAF5FBC73A66AC41CCB35943CC9B7F72
50973A3FC57D70C7911F7A952356188B9939E56B
244EB62B9AC30934098CA4204447440D6FC4E259
5C8F83CC4FF57E7C67925DF4D9DAABE5D0CC07E2

Llaves RC4

258A4A9D139823F55D7B9DA1825D101107FBF88634A870DE9800580DAD556BA3
2519DB0FFEC604D6C9A655CF56B98EDCE10405DE36810BC3DCF125CDE30BA5A2
3EDB6EA77CD0987668B360365D5F39FDCF6B366D0DEAC9ECE5ADC6FFD20227F6
8DFFDE77A39F3AF46D0CE0B84A189DB25A2A0FEFD71A0CD0054D8E0D60AB08DE

Note: Mal­ware derives a sec­ond RC4 key by XOR­ing each byte of the hard­cod­ed key with 0x3D.

Indicadores basados en host

Nombres de archivo del malware

ImageIndexer.dll
WindowsBackup.dll
WindowsSearchCache.dll
JavaUserUpdater.dll

Patrones de nombre de archivos de registro

%TEMP%dsc*
%TEMP%sld*
%TEMP%plx*

Llave/valores de registro

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionShell Exten­sions
X‑MRUList
X‑MRUData
X‑FontDisposition
X‑IconDisposition
X‑IconPosition
X‑PopupPosition
X is the malware’s file­name (with­out exten­sion).

Indicadores de redes

Nombres de trabajo BITS

Win­dowsIm­ages-
Win­dows­Back­up-
Win­dowsSearch­Cache-
Elec­tricWeb

Servidores C&C

footballtimes[.]info
vegetableportfolio[.]com
windowsearchcache[.]com
electricalweb[.]org
upnpdiscover[.]org

Tac­ticIDNameDescrip­tion
Exe­cu­tionT1059Com­mand-Line Inter­faceMal­ware uses cmd.exe to exe­cute some com­mands.
T1106Exe­cu­tion through APIMal­ware uses Cre­ateProcessW API for exe­cu­tion.
T1085Rundll32Mal­ware uses rundll32.exe to load the back­door DLL.
T1053Sched­uled TaskMal­ware sched­ules rundll32.exe to be exe­cut­ed on each login, and sub­se­quent­ly to load the back­door DLL.
Per­sis­tenceT1053Sched­uled TaskMal­ware estab­lish­es per­sis­tence by sched­ul­ing a task that loads the back­door on each user login.
Defense Eva­sionT1197BITS JobsMal­ware uses BITS file trans­fer mech­a­nism for net­work com­mu­ni­ca­tion, in an attempt to avoid detec­tion.
T1140Deobfuscate/Decode Files or Infor­ma­tionStrings are encrypt­ed with a cus­tom XOR cipher.
Con­fig­u­ra­tion data and log files are encrypt­ed with RC4, using a hard­cod­ed key.
T1107 File Dele­tionMal­ware deletes files after exfil­tra­tion, and rewrites them with ran­dom data.
T1036Mas­querad­ingMal­ware attempts to mas­quer­ade itself by using seem­ing­ly-legit­i­mate file names.
T1112Mod­i­fy Reg­istryMal­ware stores its con­fig­u­ra­tion in a reg­istry key.
T1027 Obfus­cat­ed Files or Infor­ma­tionStrings are encrypt­ed with a cus­tom XOR cipher.
Con­fig­u­ra­tion data and log files are encrypt­ed with RC4, using a hard­cod­ed key.
Dis­cov­eryT1063 Secu­ri­ty Soft­ware Dis­cov­eryMal­ware ter­mi­nates itself if McAfee Agent bina­ry (cmdagent.exe) is detect­ed.
Col­lec­tionT1074 Data StagedMal­ware stores col­lect­ed data in a tem­po­rary fold­er in files named with a hard­cod­ed pre­fix.
T1005 Data from Local Sys­temMal­ware has a com­mand to collect/steal a file from the com­pro­mised sys­tem.
Com­mand and Con­trolT1008Fall­back Chan­nelsMal­ware is able to com­mu­ni­cate with two C&C servers, it also sup­ports switch­ing to a dif­fer­ent C&C serv­er using a back­door com­mand.
T1105Remote File CopyMal­ware uses BITS Jobs for C&C com­mu­ni­ca­tion.
T1032Stan­dard Cryp­to­graph­ic Pro­to­colMal­ware encrypts C&C com­mu­ni­ca­tion using RC4 with a hard­cod­ed key.
Exfil­tra­tionT1020Auto­mat­ed Exfil­tra­tionMal­ware auto­mat­i­cal­ly exfil­trates files in a tem­po­rary fold­er in files named with a hard­cod­ed pre­fix.
T1022Data Encrypt­edMal­ware encrypts the col­lect­ed data using RC4 with a hard­cod­ed key, pri­or to exfil­tra­tion.
T1041Exfil­tra­tion Over Com­mand and Con­trol Chan­nelMal­ware exfil­trates data over the C&C chan­nel.