¿Cómo crear malware? (parte 4)

En la entrega anterior analizamos la utilización de NetCat y sus variantes como herramienta del tipo ‘backdoor’. En esta ocasión analizaremos herramientas creadas específicamente para ese propósito.

RAT (Remote Administration Tool)

Por descripción general, son herramientas que tienen como propósito la administración remota de un sistema. Se diferencian principalmente de las herramientas de administración ‘estándar’, como VNC, RDP, SSH, etc, en que suelen ser diseñadas para funcionar como backdoors y/o troyanos, pasando inadvertidos para los usuario, promoviendo su utilización ilegítima.

Existen algunos RAT de importancia histórica, que han sido muy populares en su momento, como los casos de SubSeven (http://es.wikipedia.org/wiki/Sub7) y BackOrifice (http://es.wikipedia.org/wiki/Back_Orifice).

Si bien estos programas cuentan ya con varios años de desactualización, pueden ser útiles hoy en día algunas versiones modificadas que podríamos llegar a encontrar por la red. Actualmente, las versiones originales son fácilmente detectadas por cualquier solución antimalware.

Conexión inversa

La mayoría de los RAT ‘antiguos’, funcionaban con una conexión que iba desde la estación de trabajo del atacante hacia la de la víctima. Esto presenta un gran inconveniente: Los firewalls. Si la víctima se encuentra protegida por un firewall, lo más probable es que la conexión entrante desde el atacante hacia la víctima nunca pueda ser establecida.

Gracias a esto, nace el método de ‘conexión inversa’, en el que es la víctima la que se conecta al atacante.

Esto también facilita los ataques a dispositivos que se encuentren en redes privadas. (Porque el atacante puede encargarse de realizar las configuraciones necesarias en sus sistemas para que la víctima pueda conectarse correctamente, pero se vuelve muy difícil hacer esto del lado de la víctima).

Nuevas generaciones

Existen varios RAT’s bastante populares, que proveen varios funcionalidades, como ser:

  • Registro de teclas (Keylogging)
  • Capturas de pantalla
  • Capturas de video
  • Capturas de webcam
  • Transferencia de archivos

La mayoría de los cuales pueden ser obtenidos realizando búsquedas a través de internet, aunque eso nos deja expuestos a descargar alguna versión que sea en sí misma un troyano (es decir, que nos infecte a nosotros mismos).

Algunos de los RAT más conocidos son:

Estos tres productos son relativamente confiables, debido a que tienen sitios web de descarga ‘oficiales’.

Bandook 1.2

Para las siguientes pruebas utilizaremos el software Bandook en su versión 1.2, que es muy fácil de utilizar y liviana (el cliente que debe ejecutar la víctima pesa solamente 5Kb)

Puede ser descargada desde www.nuclearwintercrew.com

Una vez descomprimida, vamos a utilizar el programa ‘Bandook v1.2.exe’, el cual va a proporcionarnos la interfaz principal de este software.

Dentro de dicha interfaz, vamos a utilizar la opción ‘create’ para crear un nuevo ‘cliente’, el cual debe ser ejecutado por la víctima, para que podamos tomar control de su sistema.

Ahí vamos a tener que definir dos opciones importantes para que todo funcione correctamente: El IP o nombre de nuestra PC (atacante) y el puerto en el cual vamos a estar esperando la conexión (Bandook utiliza el tipo de conexión inversa).

Una vez definido esto, pulsamos el botón ‘create’ y vamos a tener disponible el ejecutable ‘bandook.exe’, que es el cliente que acabamos de crear.

Luego, debemos utilizar el botón ‘socket’ y la opción ‘listen’ para definir el puerto en el que queremos aceptar conexiones (debe ser el mismo que configuramos al crear el cliente, por defecto, se utiliza el puerto TCP/1167).

Ahora, sólo queda hacer que la víctima ejecute el cliente, y podremos ver la conexión establecida en nuestra interfaz principal de Bandook.

Ya podemos tomar control sobre la estación de trabajo víctima!

Lo que falta en Bandook 1.2

Este es un software extremadamente sencillo, pero que carece de muchas de las funcionalidades que podríamos llegar a esperar en un RAT.

Una infección con Bandook 1.2 debería ser tomada como una “primera etapa” dentro de lo que sería apoderarse de un sistema, pero es un excelente RAT para aprender el concepto que representa este tipo de software.

Tanto en Bandook 1.35 (actualmente disponible para descarga) como en DarkComet y Poison Ivy vamos a encontrar muchas más opciones de configuración, aunque todas responden a la misma metodología:

  1. Crear el cliente pre-configurado
  2. Abrir un puerto en escucha
  3. Esperar la conexión de la víctima

Con estas bases, ya tenemos la posibilidad de investigar cualquiera de las otras soluciones RAT del mercado.

La ética ante todo

Ya sea a través de un seminario, un curso, un libro o este tipo de artículos, cuando enseño seguridad informática lo hago pensando en que estos conocimientos van a ser utilizados para mejorar la seguridad de los sistemas.

Obviamente, queda en la conciencia de cada individuo cómo utilizar los conocimientos aquí expuestos pero, debemos recordar, que un verdadero profesional de la seguridad nunca utiliza sus conocimientos para fines destructivos ni ilegales, si no para ayudar a sus pares a reducir los riesgos de ataques y pérdidas de datos.

En la próxima entrega

Esto ha sido todo por hoy. En la próxima entrega analizaremos la utilización de hashes CTPH para la detección de variantes de malware.

Hasta la próxima!

Fabian Portantier
Coordinador Carrera Seguridad Informática
www.portantier.com

twitter: @portantier
Mail: seguridadinformatica@educacionit.com.ar
Web: www.educacionit.com.ar/carrera-seguridad-informatica

Un comentario en “¿Cómo crear malware? (parte 4)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *