Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Remote-BOF-Runner — Remote BOF Runner es un marco de extensión de Havoc para la ejecución remota de Beacon Object Files (BOFs) utilizando un cargador PIC creado con Crystal Palace. | Kitploit
Herramientas/GitHubGitHub/pard0p/remote-bof-runner
Frameworks de Pruebas de PenetraciónEscalada de PrivilegiosFrameworks de ExploitsMovimiento LateralShellcodePost-ExplotaciónComando y ControlAprendizaje y EducaciónRed TeamingDesarrollo de PayloadsExplotación de Binarios
1025hace 7 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHub
pard0p/remote-bof-runner

Remote-BOF-Runner

Remote BOF Runner es un marco de extensión de Havoc para la ejecución remota de Beacon Object Files (BOFs) utilizando un cargador PIC creado con Crystal Palace.

Ver Repositorio

Remote BOF Runner

Un framework de extensión de Havoc para ejecución remota de Beacon Object Files (BOFs) utilizando un cargador PIC hecho con Crystal Palace.

Descripción general

Remote BOF Runner permite la ejecución segura de BOFs en procesos arbitrarios aprovechando el cargador PIC de Crystal Palace. Este framework implementa un sofisticado mecanismo de comunicación entre procesos (IPC) a través de tuberías con nombre para reenviar de forma transparente la salida del beacon desde procesos inyectados de vuelta al servidor de comando y control (C2).

Configuración e instalación

Instalación de la extensión

Asegúrese de que la extensión esté instalada en el directorio de extensiones de Havoc:

root@kitploit:~
YOUR_HAVOC_FOLDER + /data/extensions/

Dependencias

Para compilar el cargador PIC, las siguientes herramientas y bibliotecas deben estar instaladas en su sistema:

  • MinGW-w64: Compilador cruzado para objetivos Windows
  • Make: Herramienta de automatización de compilación
  • OpenJDK 11: Kit de desarrollo de Java (requerido para la compilación de Crystal Palace)
  • Zip: Utilidad de compresión

Para instrucciones detalladas de configuración, consulte la Guía de configuración de WSL.

Comandos de instalación

root@kitploit:~
sudo apt-get update
sudo apt-get install mingw-w64
sudo apt-get install make
sudo apt-get install openjdk-11-jdk
sudo apt-get install zip

Arquitectura

Componentes

1. Inyector de BOF

El componente BOF es responsable de:

  • Crear y suspender un proceso ficticio.
  • Inyectar el cargador Crystal Palace + el BOF objetivo en el proceso ficticio.
  • Establecer un canal IPC (tubería con nombre) para la comunicación de salida.
  • Recibir y agregar la salida de la ejecución remota de BOF.

2. Cargador PIC (Crystal Palace)

El cargador PIC consta de:

  • Cargador Crystal Palace: Maneja la asignación de memoria, la gestión de la sección BSS y la inicialización segura del contexto de ejecución.
  • Payload de BOF remoto: El código BOF real a ejecutar (whoami, ipconfig, cacls, reg-query, etc.).
  • Serialización de argumentos: Argumentos serializados pasados a través del cargador para la ejecución remota de BOF.

Flujo de ejecución

root@kitploit:~
┌───────────────────────────────────────────────────────────────────┐
│ 1. Beacon Process (Havoc)                                         │
│    ├─ Execute BOF Injector                                        │
│    ├─ Create dummy process (suspended)                            │
│    ├─ Inject PIC Loader + Remote BOF                              │
│    └─ Create IPC named pipe                                       │
└────────────┬──────────────────────────────────────────────────────┘
             │
             ▼
┌───────────────────────────────────────────────────────────────────┐
│ 2. PIC Loader Execution                                           │
│    ├─ Crystal Palace loader                                       │
│    ├─ Performs BSS section allocation                             │
│    ├─ Initializes UI context (for .NET compatibility)             │
│    └─ Hooks beacon functions (BeaconPrintf, BeaconOutput, etc.)   │
└────────────┬──────────────────────────────────────────────────────┘
             │
             ▼
┌───────────────────────────────────────────────────────────────────┐
│ 3. Remote BOF Execution                                           │
│    ├─ Execute target BOF (whoami, ipconfig, etc.)                 │
│    ├─ BOF calls hooked beacon functions                           │
│    ├─ Hooked functions redirect output to IPC pipe                │
│    └─ Output accumulates in beacon process via pipe               │
└────────────┬──────────────────────────────────────────────────────┘
             │
             ▼
┌───────────────────────────────────────────────────────────────────┐
│ 4. Output Collection & Transmission                               │
│    ├─ Beacon waits for remote process termination                 │
│    ├─ Accumulates all output from IPC pipe                        │
│    ├─ Aggregates fragmented messages (8KB buffer)                 │
│    ├─ Filters protocol delimiters (@START@, @END@)                │
│    └─ Transmits consolidated output to Team Server                │
└───────────────────────────────────────────────────────────────────┘

Características principales

1. Aislamiento de procesos

  • La ejecución de BOF ocurre en un proceso separado y aislado.
  • Minimiza el impacto en la estabilidad del proceso beacon.
  • Permite la ejecución en contextos de proceso arbitrarios.

2. Reenvío de salida IPC

  • Canal de comunicación basado en tuberías con nombre.
  • Redirección transparente de salida desde BOF remoto.
  • Manejo de fragmentación de mensajes (búfer de acumulación de 8KB).
  • Filtrado de delimitadores de protocolo.

3. Ejecución en procesos .NET

El caso de uso principal es ejecutar BOFs en procesos .NET nativos:

Por qué es riesgosa la carga directa de CLR en Beacon: Cargar ensamblados .NET directamente en el proceso beacon es inherentemente inseguro y detectable:

  • El proceso beacon (generalmente un binario nativo como cmd.exe o rundll32.exe) normalmente no genera un CLR.
  • Cuando se carga un CLR en un proceso que no es .NET, debería disparar alertas inmediatas de EDR/XDR.

Una posible solución: Inyección en proceso .NET nativo: En lugar de cargar CLR en el beacon, inyectamos y ejecutamos nuestro BOF inline-execute-assembly en un proceso que ya es nativo .NET:

root@kitploit:~
// ❌ DETECTABLE: Ejecución directa en beacon
beacon.exe (native) → load ClrCreateInstance → load .NET assembly → EDR ALERT

// ✅ STEALTHY: Ejecución en proceso .NET nativo
dotnet.exe (native .NET) → inject BOF → inline-execute-assembly → 
ejecutar ensamblado .NET en contexto CLR ya cargado → comportamiento normal

Este enfoque aprovecha el hecho de que ejecutar .NET dentro de un proceso .NET es indistinguible del comportamiento normal de la aplicación.

4. Integración con Crystal Palace

  • Ejecución de código independiente de la posición.
  • Resolución dinámica de API mediante búsquedas de funciones basadas en hash.
  • Sin dependencias de tabla de direcciones de importación.
  • Adecuado para escenarios de inyección profunda.

Modos de ejecución

Ejecución local

root@kitploit:~
remote-bof-runner whoami
remote-bof-runner ipconfig
remote-bof-runner cacls C:\Windows\System32

Ejecución en host remoto

root@kitploit:~
remote-bof-runner reg-query DC01 HKLM SYSTEM\CurrentControlSet

Consultas de registro

root@kitploit:~
remote-bof-runner reg-query HKLM SYSTEM\CurrentControlSet\Control\Lsa
remote-bof-runner reg-query HKLM SYSTEM\CurrentControlSet\Control\Lsa RunAsPPL

Ejecución de ensamblado .NET

root@kitploit:~
remote-bof-runner execute-assembly --dotnetassembly "/Payloads/Rubeus.exe" --assemblyargs "triage"

Ejemplo de salida:

execute-assembly

BOFs disponibles

  • whoami - Muestra información del usuario y grupos actuales (CS-Situational-Awareness-BOF).
  • ipconfig - Muestra la configuración del adaptador de red (CS-Situational-Awareness-BOF).
  • cacls - Lista los permisos de archivos (CS-Situational-Awareness-BOF).
  • reg-query - Consulta el Registro de Windows (CS-Situational-Awareness-BOF).
  • execute-assembly - Carga un ensamblado .NET en el proceso real (https://github.com/VoldeSec/PatchlessInlineExecute-Assembly).
  • bof - Ejecuta binarios BOF personalizados.

Consideraciones de seguridad operativa

⚠️ Importante: Este proyecto es una Prueba de Concepto y NO prioriza OPSEC por defecto.

Modificaciones recomendadas

Tanto el Inyector de BOF como el Cargador PIC requieren un endurecimiento significativo para simulaciones de adversarios:

Endurecimiento del Inyector de BOF

  • Implementar métodos personalizados de creación de procesos (no CreateProcessW).
  • Usar técnicas de inyección alternativas más allá de la WriteProcessMemory estándar.
  • Ofuscar el nombre de la tubería IPC (aleatorizar identificadores).

Endurecimiento del Cargador PIC

  • Cifrar el protocolo de comunicación (mensajes de tubería).
  • Implementar evasión de reglas YARA para firmas conocidas.
  • Agregar un método para evadir hooks de proceso (syscalls indirectas, métodos de unhooking, etc.).
  • Agregar un método de cifrado para almacenar el BOF objetivo + Argumentos.

Referencias

  • Crystal Palace
  • LibIPC - Biblioteca compartida de Crystal Palace para comunicación entre procesos, basada en tuberías con nombre.
  • PatchlessInlineExecute-Assembly - BOF InlineExecute-Assembly para cargar un ensamblado .NET en proceso pero con bypass sin parches de AMSI y ETW utilizando punto de interrupción de hardware.
  • CS-Situational-Awareness-BOF - Comandos de conciencia situacional implementados mediante Beacon Object Files.

Descargo de responsabilidad

Esta herramienta se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas. El acceso no autorizado a sistemas informáticos es ilegal. Los usuarios son responsables de garantizar el cumplimiento de todas las leyes y regulaciones aplicables.

Descargar herramienta