Cambiar el idioma del telcado de Pfsense

Pfsense se va consolidando como la herramienta definitiva Open Source para implantar dentro de una red corporativa un filtro que permita tener un control real.

Los distintos módulos instalables  hacen de esta herramienta la gran sustituta de una solución de pago, como puede ser cualquier a de las grandes marcas. En Dolbuck estamos desarrollando la posibilidad de integrar un Pfsense junto a Raspberry pi 2 para obtener un router completo capaz de filtrar tráfico, proxy, estadísticas de uso de red, mitigación de MITM. Pero mientras seguimos investigando y haciendo pruebas para obtener un sistema estable. Les dejo un artículo escrito por Pablo sobre cómo cambiar el idioma del teclado del pfsense, que en muchas ocasiones es muy molesto cuando tenemos que introducir comandos desde la consola.

«Lo único que tendremos que hacer será abrir el archivo ‘/root/.profile’ con un editor de texto (en caso de pfsense el editor será ‘vi’). Para ello escribiremos el comando ‘vi /root/.profile’. Para poder escribir texto con este editor debemos cambiar al modo edición (tendremos que presionar la tecla ‘supr’ o la tecla ‘i’). Una vez que cambiemos al modo editor escribiremos ‘/usr/sbin/kbdcontrol -l /usr/share/syscons/keymaps/spanish.iso.kbd’.»

 

Les dejo el artículo completo.

PFSense

Hasta otra amigos!!!

Entendiendo el algortimo de Generación de Dominios (DGA)

Locky debutó en febrero de 2016, y desde su aparición se han detectado al menos hasta 3 versiones de este virus Ransomware, cada una mejor que la anterior. Casi a razón de una nueva versión por mes, increíble. Evidentemente es un negocio rentable.

Hoy no les voy hablar de Locky, sino del sistema que utiliza para esconder el C2 (C&C), que no es más que el command and control server. El panel web, en donde se conecta el virus al infectar el ordenador y entre otras cosas, enviarle al C2 la clave de cifrado de la víctima junto a su ID para poder pedir rescate por los datos cifrados.

Este sistema es muy usado por los Malware para esconder el C&C de los investigadores y la policía, aún así los C&C son verdaderas setas, aparecen y desaparecen con gran facilidad. Recordar que en concreto Locky al ejecutarse, sino logra contactar con su C&C automáticamente se autoelimina.

Por este motivo, en la primera versión de Locky que apreció en febrero, tan solo generaba dominios pseudo-alaeatorios utilizando la fecha y hora del sistema + claves embebidas en el sistema(seed). Era capaz de generar hasta 6 dominios únicos en 2 días.

En la segunda versión que encontramos de Locky, el DGA ahora es capaz de generar hasta 8 dominios únicos en dos días.

Por último la tercera versión de Locky que trae algunas mejoras, como detectar herramientas de volcado de memoria, procesos de análisis, variando la entrada del registro de la clave Locky, etc, es capaz de generar cerca de 8 dominios en dos días.

Bueno, genial, pero… ¿qué es DGA?

Imagina que todo el tráfico de tu red pasa por un Firewall, uno de esos (todo en 1) como Fortinet, Sony wall, Chekpoint, Cyberoam, etc.. y estos cuentas con un sistema de reputación de IPs y dominios, donde cada vez que se realiza una petición a un dominio o IP desde la intranet el firewall consulta una lista negra que se actualiza varios veces al día, para saber si permite o no ese tráfico.

Estaría claro que las muestras encontradas de Malware irían reportando los C2 y reportados automáticamente su IP en las listas negras. Por lo que por ejemplo, nuestro amigo Locky sería ya incapaz de infectar una máquina. Tal como demostramos en el laboratorio de Dolbuck, si Locky no conecta con el C2, se suicida 😛 .

Así que los ingenieros del malware han tenido que buscar una forma de eludir esto. Y la solución se llama DGA (Domain Generation Algorithm).

La idea es generar de forma dinámica dominios donde se alojarán los servidores de C2, esta técnica junto a la de Fluxing permiten a un virus generar por ejemplo 1000 dominios donde puede estar alojado el servidor C2 y a los cuales poder conectarse el malware.-

El atacante lo único que tiene que hacer es registrar uno de esos dominios generados aleatoriamente, realizar una serie de operaciones y volver a des-registrar el dominio.

Como el atacante ha creado la semilla, es capaz de predecir los dominios que se generarán, por lo que se anticipa y genera de forma aleatoria alguno de ellos, los activa, espera a conectar con algunos nodos y los desactiva (des-registra) y vuelta a empezar.

Esto hace que el C2 sea difícil de localizar. Por eso es tan importante, una vez que se encuentra una muestra, realizar un reversing para poder encontrar la semilla y generar los dominios.

Así que cada operación que quiera realizar el atacante sobre la botnet puede utilizar un dominio diferente, y por tanto una IP diferente, los sistemas de detección basados en listas negras, listas de reputación y filtros web pueden ser evadidos sin problemas, ya que aunque hoy se catalogue como de baja reputación mañana el servidor de C&C tendrá otro dominio y otra IP, y por tanto se permitirá el acceso.

Algunos de los malwares que utilizan esta técnica son el Conficker, Cryptolocker, Zeus, Murofet, BankPatch, Bonnana, Locky, Bobax, etc cada día son más…

Aquí les dejo un resumen de las fases que son 4:

 

 

 

 

 

 

Explicación:

1) Se genera una «seed» semilla que será utilizada por el malware o troyano para generar dominios aleatorios. Lo más común es usar la hora del sistema y la fecha.

2) Luego se incrusta el algoritmo DGA en el troyano para que utilizando la semilla genere 1000 dominios todos los días.

3) El equipo infectado intentará conectarse a cada uno de los dominios donde están, pero solo uno será válido y que habrá sido registrado previamente de forma «manual» por el atacante, con datos falsos y pagados con una tarjeta robada.

4) El atacante tendrá control sobre la botnet y podrá tener siempre acceso al C2 con total garantías de que este nunca será detectado, ya que puede ser tan dinámico como quiera.

¿Bien, y ahora qué?

Los firewalls( todo en uno)  que nos han vendido con sistemas de seguridad antimalware, se vuelven a quedar obsoletos e inútiles frente a este nuevo sistema. Así que habría que usar herramientas SIEM, analizar todo el tráfico incluso el SLL, para identificar reverse shell y comportamientos anómalos o resoluciones masivas de DNS. De vez en cuando no estaría mal, tirar un Wireshark y ver las resoluciones DNS que hay en la red.

Cada día es más importante contar con herramientas de análisis de red, IDS, SIEM, etc. Y claro, un buen analista de seguridad.

Ahora bien, pensar en las Pymes, y se comprenderá que el malware tiene negocio millonario por años. Dicho de otra manera. Se pueden contar las victimas por centenas de millones.

Ejemplo de código para generar dominios.

 Fuente:

https://en.wikipedia.org/wiki/Domain_generation_algorithm

Enlaces de interés:

http://garage4hackers.com/blog.php?b=3091

http://unaaldia.hispasec.com/2014/08/estudio-del-algoritmo-de-generacion-de.html

Reverse Engineering GameoverZeus DGA code Tutorial. 

http://www.garage4hackers.com/entry.php?b=3081

https://www.damballa.com/downloads/r_pubs/RN_DGAs-and-Cyber-Criminals-A-Case-Study.pdf

 

Entendiendo Fast Flux,

Cuando te dedicas al análisis de malware, es obligatorio conocer el sistema DGA, (Algoritmo de Generación de Dominios) y Fast Flux y los medios que existen como Phoenix o Pleiades desarrollado por el Instituto de Tecnología de Georgia para poder detectarlos, basado en el tráfico DNS. Pero… ¿qué es Fast Flux y cómo funciona?

Entendiendo el sistema Fast Flux.

Para todos los ciberdelicuentes es de vital importancia poder esconder sus fechorias.
El la vida real los delincuentes intentan defraduar a la Hacienda pública mediante complejos entramados de empresas fantasmas. Con el fin de evadir impuestos. La solución, enviar el dinero a empresas S.A. en paraísos fiscales.

Los ciberdelincuentes utilizan la técnica de Fast Flux con el fin de «esconder sus servicios» ilicitos mediante un conjunto de dominios DNS. Esta técnica fue vista por primera vez en 2007 en Storm worm botnet. Cuando todos pensaban que el sistema de reputación de IPs y dominios podría acabar con la ocultación de los C&C, los malos volvieron a mostrar ingenio y un profundo dominio del protocolo DNS.

Fast Flux es una técnica que utiliza el servicio DNS y un conjunto de equipos zombie perteneciente a una botnet que actúan como servidores proxy inversos para esconder el tráfico ilegítimo de actividades oscuras como puede ser phising, malware, pederastia, venta de armas, venta de drogas, etc…

¿Cómo funciona?

Primero: El delincuente registra un dominio con datos falsos, a cuenta de alguna víctima de carding.

Segundo: Configura varios registros tipo A, pertenecientes a IP de equipos zombies de una botnet.

Tercero: Los registros de tipo A, se van relevando de forma dinámica, por otras IP de equipos zombies.
La idea es dificultar la traza del tráfico ilegítimo.

Cuarto: Bajan el tiempo TTL del dominio a un par de minutos para asegurarse que los otros servidores DNS no lleguen a cachear el dominio, obligando siempre a consultar al DNS raiz del dominio que alojará al C&C.

En el siguiente esquema, se compara una resolución de DNS normal contra una de Fast-Flux

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

En una consulta normal de DNS, por ejemplo la de Dolbuck

Obtendremos los registros de dorvack, si tuviera 10 registros DNS, nos devolvería los 10 registros.

Si se hiciera Fast Flux con este dominio, comprobando la resolución inversa de la IP asociada al dominio dorvack.net, veríamos un montón de IPS del tipo Jazztel, movistar, y otras compañias de ADSL por ejemplo, síntoma de que estaría apuntando a ordenadores zombies.

Aún así este esquema es muy sencillo, y aunque dificulte a los investigadores, podríamos llegar a dar con el C&C, por eso existe el Double-Flux.

Así que si queremos complicarlo más, existe el Double-Flux.

Esta técnica consiste en añadir un segundo servidor DNS aleatorio que éste a su vez a otro equipo infectado que hará de proxy inverso para acceder al C&C, web de control de malwares, botnets, etc…

Double Flux

 

 

 

 

 

 

 

 

Esto complica bastante la forma de saber en dónde se encuentra el C&C y darle de baja. Desde que me metí en el mundo del malware se ven maravillas de la ingeniería tanto a nivel de programación como en sistemas. Es un mundo muy dinámico en donde continuamente se van buscando nuevas técnicas de ofuscación y técnicas de evasión para delinquir el máximo tiempo posible.

Recomiendo la lectura de Wikipedia: https://en.wikipedia.org/wiki/Fast_flux

Sobre todo los siguientes enlaces:

http://www.removingmalware.org/fast-flux-dns-how-online-criminals-stay-hidden/

http://atlas.arbor.net/summary/fastflux (se actualiza a tiempo real)