Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
mora-hwbp — Motor de instrumentación de telemetría y hooking en modo usuario sin parches basado en puntos de interrupción de hardware (DR0-DR7) (PoC de AMSI, WLDP y ETW). | Kitploit
Herramientas/GitHubGitHub/dovughs/mora-hwbp
Herramientas DefensivasEvasión de IDS/IPSDepuradoresAprendizaje y EducaciónRed TeamingAtaque Adversario
GitHubdovughs/mora-hwbp

mora-hwbp

Motor de instrumentación de telemetría y hooking en modo usuario sin parches basado en puntos de interrupción de hardware (DR0-DR7) (PoC de AMSI, WLDP y ETW).

Ver Repositorio
191100hace 1 díaAún no revisado

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

Mora-HWBP — Interceptación de telemetría AMSI / WLDP / ETW mediante breakpoints de hardware

Una Prueba de Concepto (POC) de investigación de seguridad que demuestra la interceptación de funciones basada en breakpoints de hardware (registros de depuración de la CPU) como alternativa al parcheo tradicional de código en memoria.

Propósito y alcance

Este repositorio se publica estrictamente para la investigación en seguridad defensiva, la formación de equipos rojos/púrpura, la ingeniería de detección y el estudio académico de las interioridades de Windows. Demuestra cómo un atacante podría abusar de los registros de depuración del procesador para neutralizar la telemetría de seguridad en modo usuario y, de igual importancia, qué deberían monitorizar los defensores para detectar dichas técnicas. El autor no se hace responsable de ningún uso indebido de este código. El uso de esta técnica contra sistemas sin autorización explícita es ilegal y vulnera las leyes pertinentes de fraude y abuso informático en la mayoría de las jurisdicciones. No despliegue esto en ningún entorno que no sea de su propiedad o para el que no cuente con permiso escrito explícito para realizar pruebas.


Tabla de contenidos

  1. Descripción general
  2. Antecedentes — ¿Por qué breakpoints de hardware?
  3. Componentes de seguridad objetivo
  4. Arquitectura
  5. Análisis técnico en profundidad
    • 5.1 Breakpoints de hardware en x64
    • 5.2 Distribución de los registros de depuración (DR0–DR7)
    • 5.3 El controlador de excepciones vectorizado (VEH)
    • 5.4 Lógica de intercepción por componente
    • 5.5 Gestión de hilos y persistencia de los hooks
  6. API exportada
  7. Instrucciones de compilación
  8. Ejemplo de inyección y uso
  9. Detección y mitigación (equipo azul)
  10. Limitaciones conocidas
  11. Referencias

Descripción general

mora_hwbp.c implementa una DLL que, una vez cargada/inyectada en un proceso objetivo (por ejemplo, un host de PowerShell), intercepta cuatro funciones en modo usuario exclusivamente mediante breakpoints de hardware de la CPU almacenados en los registros de depuración arquitectónicos (DR0–DR7) de cada hilo del proceso:

RegistroFunción interceptadaMóduloPropósito
DR0AmsiScanBufferamsi.dllNeutralizar el escaneo de contenido de AMSI
DR1WldpQueryDynamicCodeTrustwldp.dllForzar la confianza en código dinámico de WLDP (Device Guard / WDAC)
DR2WldpIsClassInApprovedListwldp.dllForzar la aprobación de clases de WLDP (Device Guard / WDAC)
DR3NtTraceEventntdll.dllCortar todo el flujo de ETW en modo usuario

Un controlador de excepciones vectorizado (VEH) por proceso recibe los fallos EXCEPTION_SINGLE_STEP (0x80000004) generados por los registros de depuración, simula la ruta de retorno exitosa de la función original reescribiendo el contexto de la excepción y reanuda la ejecución, todo ello sin modificar un solo byte de memoria ejecutable.

Esto hace que la técnica resulte especialmente interesante tanto desde la perspectiva ofensiva como defensiva:

  • En el plano ofensivo, elude las comprobaciones de integridad de EDR/HIPS que buscan secciones .text modificadas (interceptación en línea clásica, parcheo de EAT/IAT o stubbing de Etwp*).
  • En el plano defensivo, los breakpoints de hardware dejan artefactos forenses muy distintivos (contenido de los registros de depuración, densidad de excepciones de paso único, registro de VEH, patrones de llamadas al sistema GetThreadContext/SetThreadContext) que pueden utilizarse para la detección.

Antecedentes — ¿Por qué breakpoints de hardware?

Los enfoques tradicionales de interceptación en modo usuario —los detours en línea (sobrescrituras de 5–14 bytes), la interceptación de la tabla de direcciones de importación (IAT) y la interceptación de la tabla de direcciones de exportación (EAT)— comparten una debilidad común: modifican memoria que los escáneres de integridad y ETW pueden observar.

Los productos AV/EDR modernos implementan:

  • Escaneo de memoria / escaneos AMSI de búferes de PowerShell y .NET CLR;
  • Telemetría basada en ETW (Microsoft-Windows-PowerShell, .NET ETW, proveedores de inteligencia de amenazas);
  • Callbacks del kernel y comprobaciones de integridad en modo usuario que detectan trucos de pageguard/guard-page, transiciones de VirtualProtect a PAGE_EXECUTE_READWRITE y discrepancias de hash de secciones.

Los puntos de interrupción por hardware eluden todo esto:

  1. Son registros de la CPU, no memoria — no hay nada que escanear en .text.
  2. Se establecen de forma por hilo mediante la API de Windows SetThreadContext, que no activa las señales clásicas de "memoria modificada" utilizadas por los escáneres de integridad.
  3. El punto de intercepción es gestionado enteramente por el despacho de excepciones del procesador, que se enruta a través de la cadena VEH del proceso antes de que se ejecute cualquier función objetivo en modo usuario.

Este POC explora la eficacia y detectabilidad de esta técnica contra AMSI (Antimalware Scan Interface), WLDP (Windows Lockdown Policy) y ETW (Event Tracing for Windows) — las tres primitivas de seguridad en modo usuario más ampliamente utilizadas en la pila de seguridad moderna de Windows.


Componentes de seguridad objetivo

AMSI — Antimalware Scan Interface

AMSI es el punto de integración de la plataforma Windows que permite a las aplicaciones (PowerShell, Office, VBScript, hosts .NET, etc.) solicitar el escaneo de contenido a proveedores antimalware registrados. El punto de entrada principal de interés es:

  • AmsiScanBuffer(HANDLE hamsiContext, PVOID buffer, ULONG length, LPCWSTR contentName, HANDLE hamsiSession, AMSI_RESULT *pResult)

Al forzar el AMSI_RESULT devuelto a AMSI_RESULT_CLEAN (0), el motor de scripts cree que el contenido fue inspeccionado y considerado benigno, por lo que la ejecución continúa sin interrupciones.

WLDP — Windows Lockdown Policy

WLDP implementa la evaluación de políticas para Windows Defender Application Control (WDAC / Device Guard). Este POC engancha dos puntos de entrada de WLDP:

  • WldpIsClassInApprovedList responde si una clase COM dada (identificada por GUID) está permitida bajo la política actual. AMSI consulta internamente a WLDP para decidir si ciertas clases de scripts/contenido son "de confianza" (están en la lista aprobada). Si la función informa que la clase está aprobada, AMSI puede omitir el escrutinio adicional para ese tipo de contenido.
  • WldpQueryDynamicCodeTrust responde si un fragmento dado de código generado dinámicamente (por ejemplo, salida JIT de .NET u otra memoria ejecutable generada) es de confianza bajo la política de bloqueo actual.

La DLL establece el parámetro de salida isApproved (RDX) de WldpIsClassInApprovedList a TRUE y devuelve S_OK, y fuerza a WldpQueryDynamicCodeTrust a devolver S_OK (0) — haciendo que tanto la clase de contenido evaluada como el código dinámico consultado parezcan de confianza.

ETW — Event Tracing for Windows

Descargar herramienta