Hace unas semanas estuvimos viendo una herramienta llamada
OWASP ZSC con la que podíamos hacer la competencia al gran
msfvenom de
Metasploit. La herramienta de la que hablaremos hoy se llama
Zerodoor, con la que se puede generar
backdoors de forma sencilla para diferentes plataformas. Es cierto que
Zerodoor no tiene el nivel de madurez aún que tienen otras aplicaciones, pero es una nueva forma de automatizar el proceso de creación de
backdoors. Además,
Zerodoor proporciona la posibilidad de utilizar el
listener de forma automática, dentro de la propia aplicación.
 |
| Figura 1: ZeroDoor: Un script en Python para crear backdoors multiplataforma |
Como se dice en el
Github del proyecto,
Zerodoor es un
script desarrollado en
Python (muy utilizado para desarrollar tools en el mundo de los pentesters) que permite generar
backdoors para las necesidades diarias del
pentester en un proyecto de
Ethical Hacking. Estos
backdoors son generados de forma sencilla, como se verá en este artículo. Una vez que se genera el
payload se puede generar un binario para sistemas
*nix o
Windows, incluso se puede preparar para código
Powershell. En este artículo se mostrarán las diferentes opciones que trae la herramienta, la cual, como se ha mencionado, ha implementado posibilidades para
Powershell en las últimas versiones. Esto siempre le da un toque de poderío a la herramienta.
 |
| Figura 2: Información de ZeroDoor en GitHub |
Para arrancar la aplicación se puede ejecutar el único
script de
Python que encontramos en el
GitHub desde nuestro
Kali Linux, tras hacer el
git clone del proyecto. Lo primero que nos aparece es un mensaje de descarga legal y las diferentes opciones que tenemos de base:
• Generar backdoors.
• Configurar listener.
Para este primer ejemplo, vamos a optar por la opción
backdoors, ya que crearemos una para
Windows, tal y como se puede ver en la imagen.
 |
| Figura 3: Opciones de ZeroDoor para crear BackDoors o Listeners |
Si pulsamos sobre la opción de
backdoors, podemos ver cómo se ofrecen tres opciones nuevas: la posibilidad de generar una
backdoor en
Linux, la posibilidad de generar una
backdoor en
Windows y la nueva posibilidad de generar instrucciones en
Powershell que permitan ejecutar código remoto. De esta última opción hablaremos más tarde.
En la imagen, se puede ver cómo tras insertar la
Opción 2 se nos solicita varios datos, como son
LHOST y
LPORT, es decir, la dirección
IP dónde la
backdoor devolverá el control de la máquina remota y el puerto al que se tendrá que conectar la conexión inversa.
 |
| Figura 4: Construyendo un backdoor para Windows |
Una vez confirmados los datos que nos piden, se genera un nuevo fichero, el cual se puede ver en el sistema de archivo llamado
winshell.c. En la imagen, se puede ver el código de la
backdoor, la cual es muy simple, y puede ser modificada para mejorar sus prestaciones, al menos de cara a la evasión de los
antivirus.
 |
| Figura 5: Fichero winshell.c generado |
Se puede ver, que la
backdoor ejecutará un
cmd.exe y se conectará a una dirección
IP y un puerto. Estos datos fueron configurados previamente en la ejecución del
script y en la selección de las diferentes opciones.
PoC: Powerdoor en Zerodoor
La
Opción 3 del
script de
Zerodoor proporciona la posibilidad de utilizar
Powershell para ejecutar instrucciones, lo cual es realmente interesante, pensando también en la evasión. La instrucción que por defecto nos proporciona
Zerodoor para
Powershell es detectado, a día de hoy, por
Windows Defender en
Windows 10, lo cual es algo a tener en cuenta.
Cuando elegimos la opción de
Powershell nos solicitan información sobre
LHOST y el nombre del fichero que se buscará en el servidor. En este caso hemos elegido
exec.txt como nombre de fichero que será buscado en el servidor y ejecutado.
 |
| Figura 6: Backdoor en Powershell |
El fichero
exec.txt contiene el código
Powershell que ejecutará las diferentes instrucciones. En este caso, y para probar, hemos optado por la instrucción
calc.exe. Lógicamente si utilizaremos funciones, instrucciones o
scripts más potentes orientados al
Pentesting con Powershell, ganaríamos en posibilidades.
Cuando descargamos la instrucción a través del navegador y la pegamos en la
Powershell, obtenemos una calculadora. Hemos logrado ejecutar código, a través de la
Powershell y el límite lo marcaremos nosotros con todas las posibilidades que tenemos al alcance de la mano con
Powershell.
 |
| Figura 7: Ejemplo de ejecución de calc.exe con Powerdoor |
Para finalizar, decir que es una herramienta que debemos tener en la mochila como
script útil para generar una
backdoor en un momento determinado de un
Ethical Hacking. Además, recomendamos el uso de
OWASP ZSC o
msfvenom, las cuales aportan un mayor número de funcionalidades y posibilidades. También hay que decir que
Zerodoor es una herramienta nueva que tiene posibilidades de mejorar.