martes, 21 de marzo de 2017

La nueva pasarela de malware - Última parte

Y por último en este desfile, aunque no son las únicas tendencias, comentar que la idea es utilizar algún servicio público en Internet a través del cual se pueda solicitar una web, es decir, que pueda funcionar como proxy-web. El ejemplo: el traductor de Google, el cual permite traducir páginas web en su totalidad, mientras que la ejecutan.

Además, en este caso, las comunicaciones generadas van cifradas, lo que dificulta el uso de IPS/IDS o cualquier otro elemento de seguridad a nivel de red que se utilice. Además, el cifrado dificulta cualquier tipo de análisis por parte de un analista.

Más información:

https://www.securityartwork.es/2017/02/28/volvamos-al-collins/

PoC

Imaginad que se "contrata" un dominio y espacio para el mismo en Internet, en donde se dejará el "regalo" malicioso, o mejor, se accede de "aquella manera" al siguiente recurso, dejando en el mismo, "el regalo"

http://science.sciencemag.org/content/355/6330/1112

Tras lo cual se monta una campaña ... en este caso supondremos que hemos recibido por ejemplo, un ".html" con el siguiente contenido:


Contenido del archivo ".html" que se recibe.

Cuando se ejecuta dicho código obtenemos.


Resultado final de la ejecución de la página ".html" ejecutada

Del tráfico "snifado", se comprueba las comunicaciones realizadas directamente al sitio:
science.sciencemag.org
Del tráfico "snifado", se comprueba las comunicaciones realizadas directamente al sitio:
translate.google.com


La comunicación va cifrada.


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

martes, 7 de marzo de 2017

La nueva pasarela de malware - Parte 4

Continuando con el desfile se presentan los archivos ...

ARCHIVOS .SVG

Los archivos ".svg" (Scalable Vector Graphics o Gráficos Vectoriales Redimensionables) son archivos que contienen un código XML para expresar un gráfico vectorial.

El problema radica en que estos archivos son capaces de contener código javascript, por lo que son archivos susceptibles de utilizarse para hacer el mal.

Toda ejecución, en principio, tendrá lugar dentro de la Sandbox del navegador, por lo que no "deberían" escapar de este, pero nunca se sabe.

PoC

Para probar lo anteriormente comentado, se crea el archivo: PoC-SVG.svg, con el código:

Contenido del archivo: PoC-SVG.svg

NOTA: En las pruebas que se han realizado ha sido fundamental no quitar la siguiente cadena: "xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink". Sin ella, el archivo ".svg" no es comprensible y por lo tanto, no obtendríamos los efectos deseados.

Tras el consiguiente doble click, se abre el Internet Explorer obtenido los siguientes resultados:

Gráfico SVG presentado y solicitud para permitir la ejecución del código javascript


Presentación de la orden: alert('Hola Mundo! :}'

Redirección de la web de San Google.

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

Más información:
http://unaaldia.hispasec.com/2017/02/creias-que-las-imagenes-eran.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+hispasec%2FzCAd+%28%40unaaldia%29
https://es.wikipedia.org/wiki/Scalable_Vector_Graphics
https://www.w3.org/TR/SVG11/intro.html

jueves, 2 de marzo de 2017

La nueva pasarela de malware - Parte 3

Continuando con el desfile se presentan los archivos ...

HTA (HTML Application)

Es un programa cuyo código fuente es código HTML, HTML dinámico y/o uno o más lenguajes scripts soportado por el explorador Internet Explorer (VBScript o JavaScript). El código HTML es usado para el interface , mientras que el lenguaje script es usado para la lógica del programa.

Su extensión es: ".hta".



Código de un programa HTA.

Estos archivos con extensión .HTA, se ejecutan sin las restricciones del modelo de seguridad del navegador, es decir, se ejecutan como una aplicación "totalmente confiable".

El motor de los archivos HTA es: mshta.exe, que es dependiente de Internet Explorer, por lo que si no se tiene instalado el Internet Explorer, los archivos HTA no se ejecutarán.

Desde la versión de Internet Explorer 5 hasta la 11 los archivos HTA son soportados, aunque también hay que decir, que las versiones 10 y 11 los soportan pero con menos funciones activas.

Ejecución del programa: PoC-HTA.hta


Ejecución del archivo: PoC-HTA.hta, a través de: mshta.exe

Navegador Internet Explorer ejecutado tras el lanzamiento de la aplicación: PoC-HTA.hta

Un el uso de dicha técnica para el despliegue de *ware lo encontramos en una nueva variante de ransomware llamada: Spora, que se ha descubierto en Enero de este año y que aunque sólo afectaba a usuarios de habla rusa, personalmente, ya lo he empezado a ver por nuestros lares.

Código HTA del ransomware Spora.

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

Más información:
https://en.wikipedia.org/wiki/HTML_Application#Security_considerations
https://www.vmray.com/blog/spora-ransomware-dropper-hta-infect-system/


lunes, 27 de febrero de 2017

La nueva pasarela de malware - Parte 2

Continuando con el desfile se presentan los ...

ARCHIVOS .JSE


Los archivos con extensión ".jse", son archivos JScript Encoded, desarrollados por Microsoft.

Estos archivos están relacionados con los archivos con extensión ".vbe". Se comentaron en la entrada: http://4null0.blogspot.com.es/2016/02/analizando-el-archivo-updatedat.html

Son fácilmente ejecutados mediante WScript.exe o  CScript.exe, como cualquier archivo JavaScript o VisualBasic Script.

Tal y como se puede ver en la siguiente imagen el contenido del mismo es totalmente ilegible.

Contenido de archivo: Multa_N_Expediente_19-002-923.jse

Se ha encontrado que últimamente se distribuyen muchos archivos ofimáticos que contienen contenido ilegible, pero que si analizamos la macro que poseen, se puede ver que el contenido ilegible se corresponde con el contenido de un archivo con extensión ".jse" que es extraído del documento ofimático para su ejecución.


Contenido ilegible del archivo ofimático: Multa_N_Expediente_19-002-923.doc

Macro del archivo


Función que se ejecuta tras cerrar el documento, y en donde se puede ver la creación del archivo con extensión ".jse" con el contenido del documento, así como su posterior ejecución.

Estos archivos con extensión ".jse" pueden ser decodificamos mediante el código comentado en la entrada del blog referenciada anteriormente.


Ejecución de la script ".vbs" que permite descifrar tanto los archivos con extensión ".vbe" como ".jse"


Codigo del archivo con extensión ".jse" tras descifrarlo


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


martes, 21 de febrero de 2017

La nueva pasarela de malware - Parte 1

En estos últimos días/semanas he estado viendo/leyendo nuevos métodos utilizados por el malware para infectar máquinas.

Me gustaría recopilar  estos métodos, que, por supuesto, no son todos los que sufriremos.

DATA URI

El "data URI" es un esquema definido en las normas IETF RFC 2397. Dicho esquema permite la inclusión de pequeños elementos de datos en línea para referenciar una fuente externa de datos. Suelen ser mucho más simples que otros métodos de inclusión alternativos, como MIME con "cid:" o "mid:".

De acuerdo a la denominación en el RFC, los data: URI son, de hecho, URLs.

Se tienen noticias de su uso desde el año pasado, sobre todo porque son utilizados en anuncios publicitarios de multitud de sitios web. Aunque ahora se "han empezado" a utilizar como método de infección.

La estructura data URI utilizada es:

data:[<tipo de medio>][;base64],<data>

de manera más específica:

data:[<tipo/subtipo>][;<atributos=valores>][;base64],<datos>

 
Ejemplos:
               
                ARCHIVOS HTML
        
                       <href a="data:text/html;charset=utf-8,www.google.es">
               
                       <img src="data:image/png,base64,<imagen codificada en base64>" />
        
                JAVASCRIPT
        
                           window.open('data:text/plain;Hola Mundo;-)')

                CSS
 
   ul.checklist > li.complete { margin-left: 20px, background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC) top left no-repeat; }
 
NOTAS:
                1. - Los datos como se puede imaginar pueden ser codificados en base64.

        2.- Si el tipo de datos es obviado, por defecto se entenderá que los datos son de tipo: text/plain;charset=US-ASCII


PoC

1.- Código de nuestra página web que dejaremos en Internet


Código de la web habilitada en Internet

2.- Página web codificada en base 64 a la que re-direccionaremos la comunicación de todo aquel que accede a nuestra web.


Web que realmente se ejecutará

3.- Al ejecutar el archivo ".html" ... parece que no tenemos el efecto demo.


Ejecución del data URI

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

Más información:
https://www.securityartwork.es/2017/02/07/tendencias-malware-enero-2017/
https://es.wikipedia.org/wiki/Esquema_de_URI_de_datos
https://tools.ietf.org/html/rfc2397

martes, 7 de febrero de 2017

Una nueva clave de registro en Windows para persistir

Se quiere hacer eco de la siguiente entrada en el blog: Securityartwork.es (30/01/2017), así como de la entrada original del blog Enigma0x3.net (15/08/2016)

En dichas entradas se habla sobre la posibilidad de saltarse (bypass) la UAC (User Account Control), implementada por los sistemas Microsoft Windows para evitar la escalada de privilegios dentro del sistema.

El bypass se consigue mediante la creación/modificación de la siguiente clave de registro usada por la aplicación: eventvwr.exe (Microsoft Management Console)

HKEY_CURRENT_USER\Software\Classes\mscfile\shell\open\command

Y sobre la que el usuario tiene permisos de escritura.

Prueba de concepto

Se ha procedido a crear la estructura de claves de registros en el hive: HKEY_Current_User, y sobre el valor por defecto se ha introducido la ubicación de la aplicación: "powershell".

Tras lo cual se ha procedido a  llamar a: eventvwr.exe. 

El resultado ha sido este:

Claves de registro creadas para la ejecución en este caso de la aplicación: powershell.exe

Tras la modificación del registro de Windows se procede a realizar la prueba con los efectos que se pueden apreciar en la foto.


Resultado final de la prueba de concepto.

Conclusión

Con lo que me quedo de dicho uso no es tanto la escala de privilegios como su posible uso para obtener persistencia de cualquier tipo de malware dentro de nuestro sistema, tal y como se comenta en el blog: Securityatwork.es

Por dicho motivo se debería considerar:

1.- Monitorización de la clave de registro comentada frente a la creación y/o modificación
2.- Configurar el nivel de la UAC a: "Notificar siempre". Para ello en la siguiente clave de registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

Las variables:  ConsentPromptBehaviorAdmin y PromptOnSecureDesktop, deben de tener respectivamente los valores 2 y 1.

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

PD: Gracias por contactar DT

miércoles, 4 de enero de 2017

Sniffar la comunicación de un movil con una conexión ad-hoc creada en un portatil

Una manera rápida de poder comprobar las conexiones de comunicación de una App instalada en tu móvil es hacer que se conecte vía wifi a un ordenador .

Necesitaremos también un sniffer. ;-)

Para ello, el ordenador deberá tener configurada y en uso una conexión Ad-hoc, y si se quiere una conexión vía Wifi/cable físico (RJ45) con Internet.

Diagrama del entorno a montar.

Para montar una conexión Ad-hoc en nuestro ordenador con el ESSID: ZapZap tenemos que abrir un línea de comandos y ... :

1.- Antes de nada, comprobar que nuestra tarjeta de red wireless admite la posibilidad de crear un conexión Ad-hoc. Para ello hay que escribir: netsh wlan show, y comprobar la característica "Red hospedada admitida".


Información sobre las características del conector Wifi instalado en el ordenador.

2.- Ahora que sabemos que podemos montar una conexión Ad-hoc, procedemos a crear un nuevo conector de tipo Ad-hoc. Para lo cual se debe escribir: netsh wlan set hostednetwork mode=allow ssid=ZapZap key=ContraseñA.Aqui


Instrucción para crear un conector de tipo Ad-hoc

Conector creado

3.- Ahora necesitamos activarlo, para ello ejecutaremos: netsh wlan start hostednetwork

Conexión Ad-Hoc iniciada

Conector activo

4.- Ahora necesitamos transmitir las comunicaciones desde el conector Ad-Hoc hacía el conector que se encuentra conectado a la red wifi y por tanto a Internet. Para ello, sobre el conector conectado a Internet hacemos botón derecho, propiedades y nos vamos a la pestaña: "Uso compartido". En dicha pestaña, habilitamos la opción: "Permitir que los usuarios de otras redes  se conecten a través de la conexión a Internet de este equipo" y seleccionamos en el combo-box la conexión de nombre: ZapZap

Habilitamos el forwarded.

5. Ya no podemos conectar  a la red ZapZap desde el móvil.

Móvil conectado a la red Ad-hoc creada

6.- A partir de aquí, levantaríamos el sniffer en nuestro ordenador y comprobaríamos las comunicaciones procedentes de nuestra móvil

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

jueves, 22 de diciembre de 2016

¡¡Da igual que te escondas!!

Hace tiempo analizando un archivo con extensión con ".js", se encontró que aunque la forma de actuar del archivo era la típica de un lanzador (lanzamiento de un script en powershell que se intenta conectar con algún recurso en Internet), no se descubría la URL completa  porque la resolución DNS no se producía por la inexistencia del dominio dentro de los servidores DNS.

Añadir que además, el código del propio archivo ".js" daba un grado de codificación impropio de un archivo de esa extensión, por lo que se impedía de un manera rápida obtener la URL completa.

Código del archivo con extensión ".js"

Código ejecutado tras lanzar el archivo con extensión ".js"

Por lo anterior, se procedió a extraer la línea de comando anterior para analizar su contenido.


Contenido de la línea extraída anteriormente

Tras realizar al análisis del código se pudo ver dos secciones distintas:

1.- Definición de variables.
2.- Expresión que es invocada y que está formada por la un conjunto de las variables anteriormente definidas


Secciones anteriormente comentadas

Para saber el código que se esconde tras la expresión, se procedió a desarrollar un código HTML que ejecutase código javascript y que mostrara la expresión buscada, por pantalla.

Primeras líneas de código HTML desarrollado
Últimas líneas de código HTML desarrollado

El resultado de tal código fue.


 ¡¡¡Eureka!!!


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