Malware
  • La Biblia del Desarrollo de Malware para Windows
  • Introducción al Malware
    • ¿Qué es el Malware?
    • La Historia del Malware
    • Clasificación del Malware
    • Métodos de Distribución del Malware
  • Los Malwares Más Impactantes de la Historia
    • Stuxnet: El Malware que Destruyó una Planta Nuclear
    • Pegasus: El Malware Espía de Nivel Estatal
  • Introducción al Desarrollo de Malware
    • Herramientas y Lenguajes Más Comunes en el Desarrollo de Malware
    • Lenguajes Recomendados para el Desarrollo de Malware
    • Binarios Famosos de Windows y sus Lenguajes de Desarrollo
    • Fundamentos de compilacion
    • Nuestro primer "Malware"
    • Malware: Del Disco a la Memoria
  • APIs de Windows
    • Windows Internals
    • Windows on Windows (WOW)
    • Bibliotecas DLL en la Tecnología WOW64
    • Win32 APIs: El Corazón del Desarrollo de Software en Windows
      • Componentes Clave de las Win32 APIs
      • Cómo Funcionan las Win32 APIs y su relacion con el Malware
      • Uso de Win32 con C#
    • Kernel32.dll: La Biblioteca Fundamental en el Sistema Operativo Windows
      • VirtualAlloc en C#: Asignación y Gestión de Memoria
      • RtlMoveMemory: Copia de Memoria en Windows
      • CreateThread en C#: Creación y Manejo de Hilos
    • AllocationType y MemoryProtection
    • Windows Registry
  • Shell Reverse
    • Fundamentos de reverse shell
    • Desarrollando Nuestro Primer Simple Reverse Shell via TCP
      • C#
      • PowerShell
      • Python
Powered by GitBook
On this page
  • ¿Qué es un Reverse Shell?
  • Características Clave de un Reverse Shell:
  • Flujo de un Reverse Shell:
  1. Shell Reverse

Fundamentos de reverse shell

En el contexto de malware y ciberseguridad, un reverse shell (o "shell inversa") es una técnica clave utilizada para establecer conexiones remotas entre un atacante y un sistema comprometido. Esta técnica permite que un atacante obtenga acceso a la línea de comandos o consola de una máquina comprometida desde una ubicación remota, a menudo sorteando firewalls o mecanismos de defensa.

El reverse shell y sus derivados son herramientas esenciales en ataques de post-explotación, especialmente en el desarrollo de malware que se utiliza en escenarios de red team, exploits, y persistencia.

¿Qué es un Reverse Shell?

Un reverse shell es una conexión remota iniciada desde una máquina víctima (es decir, la máquina comprometida) hacia una máquina controlada por el atacante (la máquina de comando y control, C&C). A diferencia de una bind shell, en la que el atacante se conecta directamente a la máquina comprometida a través de un puerto abierto, en un reverse shell, la víctima inicia la conexión hacia el atacante.

Características Clave de un Reverse Shell:

  • La víctima actúa como cliente: La víctima conecta hacia el servidor del atacante, estableciendo la comunicación.

  • Control remoto: El atacante tiene acceso a la consola del sistema víctima, lo que le permite ejecutar comandos, explorar el sistema y tomar control completo.

  • Evasión de Firewalls: Muchos firewalls y NATs (Network Address Translation) bloquean las conexiones entrantes, pero las conexiones salientes son menos restringidas. Un reverse shell explota esto al establecer una conexión saliente desde la víctima hacia el atacante.

Flujo de un Reverse Shell:

  1. El atacante espera una conexión entrante en su máquina, configurando un puerto en el que está escuchando (normalmente a través de un netcat o similar).

  2. El malware en la máquina víctima ejecuta un script o un comando para establecer una conexión saliente hacia el atacante.

  3. Una vez que la víctima se conecta, el atacante puede ejecutar comandos de forma remota sobre la máquina comprometida.

PreviousWindows RegistryNextDesarrollando Nuestro Primer Simple Reverse Shell via TCP

Last updated 5 months ago