Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Troyano bancario en la factura de la luz

Hola a tod@s!

Siempre me da por buscar malware en las plataformas de sandbox online porque, normalmente, se ven cosas interesantes. He visto este fichero que, a priori, podrían corresponder a “facturas” de compañías que nunca, repito que nunca, te enviarían por correo un enlace o el mismo fichero adjunto para que lo descargues e instales.

Hoy veremos este fichero instalable:

Este es el archivo en cuestión : Archivo.EndesaFacturnopagoRef09-07-2022.MSI

Como puede observarse en la salida de any.run no se ve gran cosa, así que trataremos de ir más allá y ver su contenido real, para que no nos la cuelen con estas cosas.

Este tipo de ficheros (MSI) se pueden descomprimir a un directorio y tendremos todo el contenido:

Una vez dentro, nos fijamos en ficheros ejecutables (exe, dll, etc.), scripts varios (bat, py, ps1, etc.), lo que nos llame la atención.

Esta DLL llama mucho la atención, será que es la única (xD es broma, hay otra).

Compilada en Delphi, por lo que ya se puede intuir lo que vamos a ver: FACTURA + DELPHI = TROYANO BANCARIO (aunque no siempre).

Esta DLL, básicamente, realiza unas comprobaciones sobre el entorno (idioma del teclado entre otros) y si le agrada, descarga el payload de una URL, normalmente cifrada o codificada, y después de dejarla en formato legible (zip en este caso) descomprime en algún directorio (%APPDATA%) y ejecuta su contenido.

Una vez localizada la URL, procedemos a descargarla. Como os he comentado, el fichero descargado no tiene un formato adecuado, todavía, ese es el trabajo de la DLL, dejarlo de tal forma que pueda ser descomprimido.

Veamos que tiene dentro ese ZIP.

Un fichero EXE y 3 DLL. Si os fijáis en las fechas, importante esto, dbghelp.dll se compiló el 12 de  julio de 2022, hace muy poco, por lo que se intuye que esta podría tener algo interesante. Otra cosa es el tamaño, casi 300 megas, mucho ¿verdad?

Si pensamos el porqué, podemos concluir que es una medida de protección ante cualquier sandbox online que permitan un tamaño limitado.

Voy a renombrar esa DLL para que no sea cargada al ejecutar el EXE y veamos qué pasa:

Nos carga una aplicación legítima “Visual Web Developer Express”, sin más. Entonces podemos pensar que gracias a DLL Hijacking, sería cargada esa DLL (que hemos renombrado) y ejecutada por el EXE.

Vemos en el procmon o Process Monitor como es así, dbghelp.dll es buscada antes en el PATH donde se encuentra el EXE que en su lugar esperado (directorio del sistema), por lo que se cargará antes. También, esa DLL, se podría haber llamado VERSION.DLL, dwmapi.dll o imageres.dll, por poner algún ejemplo más, y se hubieran cargado igualmente.

La DLL también está compilada en DELPHI, coinciden tanto el downloader como el troyano.

Y si echamos un vistazo al contenido de la DLL veremos porqué es tan grande, es debido a esas 2 imágenes incluídas dentro de los archivos de recursos:

En los casos en los que analizamos programas en DELPHI, es mejor utilizar la herramienta “Interective Delphi Reconstructor”, el porqué es simple, es el que más información da sobre el binario. Podemos ver hasta el aspecto de la aplicación.

Los diferentes ficheros “unit” y su contenido según funciones de llamadas a API.

Para asegurarnos de lo que estamos viendo, buscamos las strings o cadenas que nos parezcan interesantes:

Y aquí las tenemos, los bancos a los que está destinados este Troyano Bancario (como habíamos intuído), que según lo que vemos corresponde con GRANDOREIRO. Se le llamó así por el tamaño tan grande que tiene y por su país de origen.

Parece que, además de España y Portugal, se le ha añadido Argentina como posible objetivo.

Podéis leer sobre este tipo de troyanos en la web de INCIBE, concretamente en este paper , ahí veréis más detalles. Este artículo sólo pretendía identificar qué tipo de amenaza se escondía detrás de esas “Facturas” que aparecen en diferentes sandbox online. Estas variantes van cambiando según salen nuevas funcionalidades o reglas yara que las identifican para tratar de pasar desapercibido.

Como es el caso de esta muestra, modifican su código para evitar detecciones. Voy a cambiar el valor de all a 20 “and all of ($str*)”:

rule Grandoreiro_Banker_Trojan
{ 
  meta: 
    author =  "INCIBE-CERT" 
    description = "Detecta el troyano bancario Grandoreiro - modificada" 
  strings:
    $mzp = "MZP"
    $str1 = "yIdIOHandlerSocket"
    $str2 = "ATIVARCAPTURAFULL"
    $str3 = "ATIVARCAPTURAMAG"
    $str4 = "AutoSessionsPingT"
    $str5 = "v4.09 (2013.Q2)"
    $str6 = "CallNextHookEx"
    $str7 = "Cap.DfbBackingMode"
    $str8 = "CryptPlugin.AfterDisconnect"
    $str9 = "deflate 1.1.4 Copyright 1995-2002 Jean-loup Gailly"
    $str10 = "DELETAKL"
    $str11 = "DETONAPROCESSO"
    $str12 = "EXIBIRMZ"
    $str13 = "Gate_CryptPlugin"
    $str14 = "GetType method not available for TRtcDataRow"
    $str15 = "GUploadAnywhere_Super"
    $str16 = ".hopto.org"
    $str17 = "Magnification.dll"
    $str18 = "RTC.DATASET.ROWS"
    $str19 = "Portable network graphics (AlphaControls)"
    $str20 = "RemoteThreadCallbacks TRtcThreadCallback.DestroyCallback"
    $str21 = "SUSPENDEACESSO"
    $str22 = "ZDecompress_str.InflateInit"
  condition:
    $mzp at 0
    and 20 of ($str*)
    and (filesize > 140000KB and filesize 

Con el tema de los downloaders, la cosa se complica ya que se puede descargar de cualquier manera, por lo que se puede variar mucho su código y si utilizas una versión de DELPHI más actual, pues más todavía. Una detección de hace 3 meses puede no ser efectiva a día de hoy. Aprovechando la yara que aparece en el post de INCIBE voy a añadir varias líneas más y cambiar el número de las detecciones para las cadenas.

rule Grandoreiro_Banker_Downloader
{ 
  meta: 
    author =  "INCIBE-CERT" 
    description = "Detecta el Downloader del troyano bancario Grandoreiro - actualizada" 
  strings:
    $delphidll1 = { BA ?? ?? ?? ?? 83 7D 0C 01 75 ?? 50 52 C6 05 ?? ?? ?? ?? ?? 8B 4D 08 89 0D ?? ?? ?? ?? 89 4A 04 }
    $delphidll2 = { 55 8B EC 83 C4 ?? B8 ?? ?? ?? ?? E8 ?? ?? FF FF E8 ?? ?? FF FF 8D 40 00 }
    $str1 = " 2001, 2002 Mike Lischke"
    $str2 = "8$4,6-9'$6.:*?#1pHhX~AeSlZrNbS"
    $str3 = "Archive already has SFX stub"
    $str4 = "Deflate64 compression method is not supported"
    $str5 = "Delphi Component"
    $str6 = "EDecompressionErrorneed dictionary"
    $str7 = "MakeSFX error"
    $str8 = "Runtime error     at 00000000"
    $str9 = "Web site: http://www.componentace.com"
    $str10 = "ScreenToClient"
    $str11 = "SFXStub property is not specified"
    $str12 = "System\\CurrentControlSet\\Control\\Keyboard Layouts\\%.8x"
    $str13 = "SystemParametersInfoA"
    $str14 = "TAESCryptoTransform"
    $str15 = "TGetSiteInfoEvent"
    $str16 = "$TMultiReadExclusiveWriteSynchronizer"
    $str17 = "to create a commercial product, please register and download"
    $str18 = "URLDownloadToFileA"
    $str19 = "VerLanguageNameA"
    $str20 = "WndProcPtr%.8X%.8X"
    $str21 = "you that your Personal Edition is provided for personal usage only."
    $str22 = "Zip64Mode"
    $str23 = "System\\CurrentControlSet\\Control\\Keyboard Layouts\\%.8x" wide
    $str24 = "Imploded(TERSE)" wide
    $str25 = "PPMd version I, Rev 1" wide
    $str26 = "\\Software\\Embarcadero\\FireDAC" wide
    $str27 = "%d.%d.%d (Build %d)%s" wide
    $str28 = "#32770" wide
    $str29 = "EXECUTE PROCEDURE sp_mgGetInstallInfo()" wide
    $str30 = "Found [%s]GWarning: The client [%s] and server [%s] major versions difference > 1." wide
    $str31 = "Windows Server 2008	Windows 7" wide
    $str32 = "Windows Server 2016	Windows 8" wide
    $str33 = "Row deleting disabled+Application must have only single FDManager" wide
    $str34 = "(Version %1:d.%2:d, Build %3:d, %5:s)" wide
  condition:
    uint16(0) == 0x5A4D // MZ
    and uint16(uint32(0x3C)+0x18) == 0x010B //MZ header en 0x3C
    and (uint16(uint32(0x3C)+0x16) & 0x2000) == 0x2000 //PE DLL signature
    and any of ($delphidll*)
    and 15 of ($str*)
    and (filesize > 1400KB and filesize 

Vemos que funciona.

$ yara grandoreiro_incibe.yar . 
Grandoreiro_Banker_Downloader ./Binary.Velholpn.dll
Grandoreiro_Banker_Trojan ./dbghelp.dll

Espero que os haya gustado, nos vemos en el siguiente post!!



This post first appeared on Ciber Seguridad, please read the originial post: here

Share the post

Troyano bancario en la factura de la luz

×

Subscribe to Ciber Seguridad

Get updates delivered right to your inbox!

Thank you for your subscription

×