Labs 101

Villain: la herramienta de reverse shell multisesión más potente para pentesters y equipos de hacking


¿Alguna vez soñaste con tener una reverse shell que no solo funcione bien, sino que además te deje manejar un montón de sesiones al mismo tiempo, compartirlas con tu equipo y trabajar como en un HQ de hacking? Bueno, Villain es justo eso. Una herramienta ágil, poderosa y lista para llevar tu pentesting al siguiente nivel. Acá te cuento cómo funciona, cómo instalarla y por qué te va a encantar si sos del palo del hacking ético.

¿Cómo instalar y usar Villain sin volverte loco?

Mirá, poner a andar Villain es bastante sencillo. Si ya te movés un poco en Linux, no te va a costar nada. Acá te dejo cómo lo hice yo, paso a paso y sin tanto rollo.

Primero, abrís tu terminal en Kali (o la distro que uses) y clonás el repositorio:

bash

CopiarEditar

git clone https://github.com/t3l3machus/Villain.git

Después te metés en la carpeta:

bash

CopiarEditar

cd Villain

Y ahí mismo instalás los requisitos:

bash

CopiarEditar

pip install -r requirements.txt

Eso sí, lo mejor es que lo corras como root, porque Villain necesita manejar puertos y hacer algunas cosas que sin permisos no se puede. Y si querés hacerlo más prolijo, podés usar un entorno virtual con python3 -m venv y manejarlo con poetry o algo similar, pero si querés ir al grano, no hace falta.

Una vez que tenés todo instalado, solo lo levantás con:

bash

CopiarEditar

sudo python3 villain

Y ahí ya estás dentro. Te saluda con un arte en ASCII bastante fachero (detalle que se agradece), y te muestra que el servidor está escuchando por el puerto 65001, y el motor tipo HoaxShell por el 8080.


¿Y ahora qué? ¿Cómo genero un payload?

Muy fácil. Usás el comando generate. Por ejemplo, si querés generar uno para Linux:

bash

CopiarEditar

generate os=linux lhost=eth0

Ojo con esto: el lhost puede ser tu IP o tu interfaz de red. Yo usé eth0 porque era lo más directo.

Te va a soltar una línea de comando lista para pegar en la máquina víctima. Usa nohup para que se ejecute en segundo plano, y ya viene con todo: ID único, hostname, y conexión al servidor de Villain que está esperando del otro lado. Es tan plug-and-play que da gusto.

Pegás ese payload en una terminal del sistema objetivo (yo usé una VM con Ubuntu), y en cuanto se ejecuta, Villain te muestra que se conectó una nueva shell. ¡Listo! Ya tenés control.


¿Qué podés hacer desde la consola de Villain?

Una vez adentro, tenés varias opciones:

  • sessions te muestra todas las shells activas.

  • interact <id> te mete dentro de una shell para empezar a ejecutar comandos.

  • Podés usar cosas como whoami, ps aux, ip a, lo que quieras.

Importante: no es un shell completo con pseudo terminal. Así que si intentás abrir cosas como vim o nano, se va a colgar. Pero para comandos simples y recolectar info, va como piña.


¿Querés jugar en equipo? Se puede. Y está buenísimo.

Esto es lo más loco de Villain: podés conectarte con otros operadores que también lo estén usando. Es decir, multiplayer real.

Te explico cómo lo hice:

  1. En otra VM (otro Kali), instalé Villain igual que antes.

  2. Lo levanté y me aseguré de que estaba en escucha por el puerto 65001.

  3. Desde la primera máquina, usé el comando connect <IP_del_otro_operator> para enlazarme.

  4. Se genera un código temporal (tipo OTP) para confirmar la conexión. Lo ponés y ¡boom!, ya están sincronizados.

Ahora podés ver las sesiones del otro, compartir shells, y trabajar juntos. Es como tener un mini C2 personalizado y ágil. Una joyita.


¿Y en Windows? También se la banca.

Si querés generar un payload para Windows:

bash

CopiarEditar

generate os=windows lhost=eth0

Te tira un script en PowerShell que podés pegar directo en una terminal de Windows (sí, incluso con Defender activo, si no se pone muy paranoico). Y acá viene lo bueno: podés pasarle flags para ofuscar (obfuscate), codificar en base64 (encode) o hacer que corra incluso con políticas restrictivas (constrained).

Cada vez que lo generás, el payload es diferente. Así que si estás haciendo pruebas con antivirus o EDR, esto te da una ventaja.

Lo pegué en una VM con Windows 11, y sí, tardó un poco, pero terminó conectando. De nuevo: revisás con sessions, entrás con interact, y podés correr desde whoami hasta systeminfo.


Y si querés ir más allá…

Podés subir archivos desde tu máquina atacante, ejecutar herramientas post-explotación, scripts personalizados, lo que quieras. Telemachus muestra eso en su video y es una locura todo lo que podés hacer. Se nota que le metió cariño y cabeza.


Aquí debajo te dejare un script que cree para automatizar el proceso de creación de la carga útil para Windows, este scritpt utiliza una de las plantillas de Villain: https://github.com/1603160/Undetectable-Reverse-Shell-1.0

¿Vale la pena usarlo?

Totalmente. Para prácticas, labs, CTFs, o incluso pruebas reales en entornos controlados, Villain es ágil, ligero y funcional. No es un mastodonte como Metasploit, pero hace lo justo y necesario, y encima lo podés usar en equipo. ¿Qué más querés?