viernes, 18 de enero de 2019

El pasado siempre vuelve y no todos reaccionan bien.


Durante este mes se procedió a realizar un análisis forense, con la intención de encontrar un proceso que generaba demasiado ruido en la red, pero que termino convirtiéndose en un análisis de malware.

NOTA: Hubo clonado de disco duro para no perjudicar en nada al usuario y así poder trabajar en un entorno controlado, es decir, se tomaron las medidas necesarias en todo análisis forense, quitando la presencia del notario.

Tras arrancar el sistema clonado en un entorno controlado, se pudo ver que por problemas de permisos no se podía continuar, por lo que antes de obtener las credenciales se decidió introducir un pendrive con la esperanza de que se infectara, ya que desde un primer momento se considero la probabilidad de que estuviéramos ante un malware.

¡Y así fue!

Se pudo observar que el antivirus instalado en el disco duro clonado detecto los “enlaces directos” creados por el pendrive. No así un archivo de nombre: Update.js, que poseía atributos: S (sistema) y H (oculto), y que fue descubierto al observar el listado obtenido como consecuencia de ejecutar el comando: attrib.

A partir de este punto, se tomó la determinación de trabajar con el archivo encontrado, y descartar la petición de las credenciales.

Al abrir el documento con la aplicación: notepad, se visualizó el siguiente contenido.

Código encontrado.

Como se pudo observar, dicho código contenía alguna que otra técnica para dificultar su análisis.  Entre las cuales se encontró el uso de códigos de caracteres ASCII, como se pudo apreciar por el uso de la función: String.fromCharCode(<número>)

Por lo que se paso a realizar labores de traducción, obteniendo cadenas del estilo: WScript.Shell, Sys, Wow64, etc. Entre dichas cadenas, las más importante e interesante se encontró al final del documento.

Líneas de código de interés.
Estas líneas tras traducirlas decían:

Líneas traducidas.
De lo cual se deduce que:

1.- Se ejecutará la variable global: s_67950390018

2.- La variable global anterior contendrá información contenida dentro de la variable: s_74911521688, que viene determinada por la siguiente ejecución: Chrw(Ascw(Mid(s_74911521688,i,1))Xor(Eval((50*3)105)))

Por lo tanto, el archivo: Update.js, no es más que un lanzador de código embebido en el propio archivo.

Para extraer el código embebido, contenido en la variable: s_67950390018, se modificó el archivo: Update.js, introduciendo el siguiente:

msgbox(s_67950390018)
Set of=createobject("Scripting.FileSystemObject")
Set at=of.OpenTextFile("CodigoMalware",8,true)
at.WriteLine s_67950390018

Este código graba sobre el archivo: CodigoMalware, el contenido de la variable: s_67950390018

NOTA: msgbox (s_67950390018), muestra por pantalla, como mucho, 256 caracteres del contenido de la variable, por lo que nos sirve como control de ejecución.

En definitiva, el archivo: Update.js, en sus últimas líneas contendrá el siguiente código.

Últimas líneas del archivo: Update.js

Tras su ejecución, se pudo observar  el contenido del archivo; CodigoMalware

Líneas iniciales del malware encontrado

A partir de aquí se analizo el código obtenido, llegando a las siguientes conclusiones:

1.- Se replica como si fuera un gusano a través de las unidades de red y/o pendrives.

2.- Envía información hacía un servidor remoto que hace a su vez las funciones de C&C.
               
Concretamente el dominio es: hkp7oo.no-ip.biz
                Puerto de comunicación: 77

3.- Recaba información del sistema que es enviada en archivos con extensión: .jpg, aunque internamente es un archivo con formato: xml, codificado en base64

NOTA: Este punto sólo lo realiza durante el proceso de infección.
 
4.- Se debe de catalogar como: troyano, ya que posee persistencia , además de que se queda a la espera de recibir instrucciones desde su C&C.
               
Entre los comandos que espera, se encuentran:

Comandos utilizados por el troyano

Mientras se realizaba la investigación se remitió el archivo: Update.js, al proveedor antivirus para su evaluación y generación de vacuna.

El proveedor, nos confirmo que conocían la existencia desde el 2016, y que su detección ya no se realizaba debido a que no se incluía, ya, en los patrones de búsqueda

CONCLUSIÓN

Con eliminar el troyano del disco duro infectado, se solventa la infección.

En cuanto a la labor de la casa antivirus … NO HAY COMENTARIOS (aunque es obvia mi opinión)

Aludiendo a esto, si esto mismo ocurre con otras casas de antivirus, se puede decir abiertamente que nos encontramos desprotegidos aún teniendo un antivirus instalado.

En cualquier caso …

Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.












jueves, 22 de noviembre de 2018

Una pasiva forma de detectar un Rogue AP.


¿Qué es un Rogue AP?

Hay muchas opiniones al respecto, por ejemplo:

1.- Según “www.rogueap.com”, un sitio web dedicado a informar sobre diversos aspectos de los Rogue AP (Rogue Access Point // Punto de accesos pícaros): “A Rogue Access Point (Rogue AP) is a wireless access point installed on a wired enterprise network without authorization from the network administrator. A Rogue AP may be naively installed by a legitimate user who is unaware of its security implications or it could be deliberately installed as an insider attack. A Rogue AP could also be easily smuggled onto enterprise premises by an outsider. In any case, a Rogue AP poses serious security threat to a wired enterprise network as it provides a wireless backdoor into the enterprise network for outsiders, bypassing all wired security measures such as firewalls and network access control (NAC).

2.- Según Linksys: “Un Rogue AP (entrada ficticia AP) es un punto de acceso que se ha instalado en una red segura sin la autorización explícita de un administrador del sistema.  Los puntos de acceso no autorizados representan una amenaza para la seguridad porque cualquier persona que tenga acceso a las instalaciones puede instalar sin saber o de forma malintencionada un dispositivo WAP inalámbrico de bajo costo que potencialmente puede permitir el acceso a la red a personas no autorizadas”

3.- Según Cisco: “Las redes inalámbricas amplían las redes alámbricas y aumentan la productividad de los trabajadores y el acceso a la información. Sin embargo, una red inalámbrica no autorizada representa un problema de seguridad añadido. Se pone menos cuidado en la seguridad de los puertos de las redes alámbricas, y las redes inalámbricas son una extensión fácil de las redes alámbricas. Por lo tanto, un empleado que traiga su propio punto de acceso de Cisco (AP) a una red inalámbrica o una infraestructura cableada bien protegida y permita el acceso de usuarios no autorizados a esta en principio red protegida puede comprometer fácilmente una red segura.“

4.- Según tenaza.com: “Un punto de acceso rogue es un punto de acceso intruso que propaga el mismo SSID de un punto de acceso en otra red, sin autorización explícita del administrador de la red. A través de esta técnica de hacking, los puntos de acceso intrusos pueden acceder los datos de tus usuarios Wi-Fi, asimismo amenazando la seguridad de esta red.”

Desde un punto de vista subjetivo, un Rogue AP puede consistir en un punto de acceso:

1.- conectado a la red corporativa de una empresa sin permiso de los responsables permitentes

2.- conectado a una red corporativa o no, que suplanta el mismo ESSID que una red Wi-Fi .

3.- conectado o no a alguna red, que suplanta un ESSID legítimo o no, y que mantiene la conexión en Wi-Fi en  abierto

, Y SIEMPRE EXISTE CON INTENCIONES MALICIOSAS, como:

1.- recoger todo tipo de información relacionada con las personas que se encuentran detrás de los ordenadores que se han conectado a dicha Wi-Fi
2.- evitar las medidas de seguridad u otras medidas.
3.- inyectar código en las conexiones web de los usuarios de dicha Wi-Fi para minar cryptomonedas
4.- infectar malware a los usuarios de dicha Wi-Fi
5.- etc.

En cualquier caso, dichos dispositivos deben ser detectados y apagados para no que nos perjudiquen como usuarios.

¿Cómo detectar un Rogue AP?

Existen métodos para detectar la presencia de un Rogue APP, que se pueden dividir en:

1.- Detección activa

Por la información obtenida, sólo Cisco trabaja con dicha detección.

Está detección consiste en conectarse a las distintas redes WI-FI, siempre y cuando sea posible, para intentar obtener una IP, y pasar a recoger información sobre dicho AP, con la intención de catalogarlo como malicioso o no.

2.- Detección pasiva.

Si no posible realizar la detección activa, debido a que el “posible” Rogue AP tiene establecida una clave de autenticación, que se desconoce. Entonces se pasa a la detección pasiva.

El factor de detección depende del fabricante.

El código que se expone en esta entrada de blog realiza comprobaciones en función del ESSID, más concretamente, el código está pensado para encontrar APs que intentan suplantar a otros APs.

El funcionamiento es simple, si al escanear las frecuencias Wi-Fi se encuentran dos APs con idéntico ESSID, se considera que estamos ante la presencia de un Rogue AP.

El código en un primer momento se desarrollo en “bash” (*NIX) ,  aunque posteriormente salto a Python.

La versión presentada puede ser utilizada en sistemas Windows y Linux.

 Importaciones, definición de colores y definición de variables.


Código que se ejecutará en los entornos Windows


Código que se ejecutará en los entornos Linux

Mensaje si se utiliza otro sistema operativo distinto a los contemplados.

Algunas referencias ojeadas:

https://www.cisco.com/c/es_mx/support/docs/wireless-mobility/wireless-lan-wlan/70987-rogue-detect.pdf
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/wireless-lan-wlan/70987-rogue-detect.html
http://www.rogueap.com/
https://community.arubanetworks.com/t5/Controller-Based-WLANs/How-does-Rogue-AP-detection-work/ta-p/178578
https://www.tanaza.com/es/funcionalidades/escaner-de-redes-wifi/
https://www.cisco.com/c/es_mx/support/docs/wireless-mobility/wireless-lan-wlan/70987-rogue-detect.pdf
https://www.linksys.com/cr/support-article?articleNum=135793

En cualquier caso …

Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.

martes, 23 de octubre de 2018

¡¡¡¿Nueva forma de infección?!!!


Sirva como curiosidad esta entrada por la que presento una nueva “variante/forma de infección” dentro de las infecciones por malware, que se ha conocido está misma mañana.

Se ha encontrado, entre las redes de pescar, un archivo con formato ofimático de nombre: Agencia_Tributeria.xls, con md5: E665D181A51162142434E10C7C91A5D5.

Dicho archivo guarda en su interior una macro que contiene la siguiente información:

Macro guardada en el interior del archivo ofimático.

Como se puede observar, el archivo ofimático, tras abrirse, busca otro archivo para obtener la propiedad ubicada en el: item(1),y ejecutarla mediante: Call Shell.

No se ha podido obtener una muestra del compinche para comprobar sus propiedades, pero ¡ya caera!.

Si por curiosidad buscamos información en VT, por ejemplo, se puede ver que a día de hoy (23/10/2018) 10 motores de 57 lo detectan como malicioso:


CONCLUSIONES


¿Podríamos decir que se intenta distribuir la carga maliciosa entre varios archivos para dificultar la detección? … pudiera ser, aunque encontrar un archivo ofimático con una macro, huele mal, pero si además dicha macro es tan ligera, huele aun peor, y si la analizas un poco, ya ves que estas a punto de pisar la ...


Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.