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
EDRPrison — Aproveche un controlador callout WFP legítimo para evitar que los agentes EDR envíen telemetría. | Kitploit
Herramientas/GitHubGitHub/senzee1984/edrprison
Evasión de IDS/IPSPost-ExplotaciónSeguridad de RedesRed TeamingAtaque Adversario
GitHubsenzee1984/edrprison

EDRPrison

Aproveche un controlador callout WFP legítimo para evitar que los agentes EDR envíen telemetría.

Ver Repositorio
479463hace 2 añosRevisado 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

EDRPrison

Coautor: @oops4git(https://github.com/oops4git)

EDRPrison aprovecha un controlador WFP callout legítimo, WinDivert, para silenciar eficazmente los sistemas EDR. Inspirándose en herramientas como Shutter, FireBlock y EDRSilencer, este proyecto se centra en técnicas de evasión basadas en red. A diferencia de sus predecesores, EDRPrison instala y carga un controlador WFP callout externo y legítimo en lugar de depender únicamente del WFP integrado. Además, bloquea el tráfico saliente de los procesos EDR añadiendo dinámicamente filtros en tiempo de ejecución sin interactuar directamente con los procesos EDR ni con sus ejecutables.

En resumen, EDRPrison tiene las siguientes características y capacidades clave:

  • Controlador WFP Callout Legítimo: Utiliza un controlador WFP callout legítimo para mejorar las capacidades manteniendo un perfil benigno.
  • Detección de Procesos EDR: Busca procesos EDR en ejecución basándose en nombres de procesos predefinidos.
  • Identificación de Paquetes: Identifica paquetes originados por procesos EDR.
  • Adición Dinámica de Filtros: Añade dinámicamente filtros WFP basados en el proceso de origen de los paquetes.
  • Enfoque No Intrusivo: Evita la interacción directa con los procesos EDR y sus ejecutables, garantizando el sigilo y reduciendo el riesgo de detección.

Consulte el artículo para obtener más detalles técnicos: https://winslow1984.com/books/malware/page/edrprison-borrow-a-legitimate-driver-to-mute-edr-agent

Componentes

Se requieren privilegios elevados para ejecutar EDRPrison correctamente. EDRPrison consta de los siguientes tres componentes:

  • EDRPrison: Es el programa principal y sus dependencias. Su primera ejecución instala el controlador WinDivert.
  • WinDivert64.sys: Este es el controlador WFP callout firmado.
  • WinDivert.dll: Un componente del proyecto WinDivert.

Beneficios y mejoras

EDRPrison ofrece varias mejoras y perfeccionamientos respecto a sus predecesores, convirtiéndolo en una herramienta más robusta y sigilosa para la evasión de EDR basada en red:

  1. En lugar de añadir filtros WFP estáticos a los ejecutables de los procesos EDR, EDRPrison añade dinámicamente filtros WFP en tiempo de ejecución basados en el proceso de origen de los paquetes.
  2. Evita obtener un identificador (handle) de los procesos EDR o de los ejecutables EDR, reduciendo el riesgo de detección e interferencia con los sistemas EDR.
  3. Al cargar un controlador WFP callout legítimo, EDRPrison amplía sus capacidades manteniendo un perfil benigno.

Problemas conocidos

  1. Actualmente, EDRPrison está escrito en C#, lo que requiere que varios archivos estén presentes en el disco, lo que compromete el sigilo. Planeo reimplementarlo en C++ para permitir que el programa principal se ejecute completamente en memoria, mejorando sus capacidades de sigilo.
  2. Existe un retraso entre la ejecución del programa y el bloqueo inicial de las conexiones de red de algunos procesos EDR. Este retraso podría permitir que se envíe telemetría a los servidores en la nube durante los primeros segundos. Estoy trabajando en resolver este problema para garantizar la interceptación y el bloqueo inmediatos.

Ejemplo de prueba

Debido a los recursos disponibles, hasta ahora he probado EDRPrison contra Elastic Endpoint y Microsoft Defender for Endpoint (MDE) en mi servidor físico.

Los procesos relevantes para Elastic Endpoint y MDE están codificados (hardcoded) en el código fuente. Durante las pruebas, ni el programa principal ni WinDivert fueron detectados por los sistemas de seguridad.

Probé algunas muestras de malware comunes, como Mimikatz. Estas muestras aún pueden ser detectadas porque, incluso sin conectividad a internet, los sistemas EDR conservan capacidades básicas de detección, como las firmas basadas en hash. Después de ejecutar el malware, el número de paquetes aumentó, lo que indica que contenían datos de alerta.

image

Aunque algunas detecciones ocurren localmente, no aparecen en el panel del EDR. Sin conectividad a internet, los sistemas EDR no pueden aprovechar capacidades avanzadas como el aprendizaje automático y la computación en la nube para prevenir ataques de malware más sofisticados.

image

image

Prueba contra más EDR

Modifique el siguiente fragmento de código para codificar (hardcode) más procesos EDR.

root@kitploit:~
        static void initData()
        {
            processDictionary.TryAdd("MsMpEng.exe", 1);
            processDictionary.TryAdd("MsSense.exe", 1);
            processDictionary.TryAdd("SenseIR.exe", 1);
            processDictionary.TryAdd("SenseNdr.exe", 1);
            processDictionary.TryAdd("SenseCncProxy.exe", 1);
            processDictionary.TryAdd("SenseSampleUploader.exe", 1);
            processDictionary.TryAdd("elastic-endpoint.exe", 1);
            processDictionary.TryAdd("elastic-agent.exe", 1);
        }

Detecciones y mitigaciones

Los siguientes enfoques se pueden utilizar para detectar o mitigar el uso de EDRPrison. Sin embargo, dependiendo del entorno, algunas de estas detecciones podrían dar lugar a falsos positivos (FP).

Evento de carga del controlador

Si el controlador WinDivert no está ya instalado en el sistema, EDRPrison instalará el controlador callout en la primera ejecución. Tanto el sistema operativo como los datos de telemetría registrarán este evento.

Existencia de archivos WinDivert

EDRPrison y otros programas dependientes de WinDivert requieren la presencia de WinDivert64.sys y WinDivert.dll en el disco. El monitoreo de estos archivos puede ayudar a detectar dichos programas.

Herramientas de detección de uso de WinDivert

Herramientas como WinDivertTool pueden detectar procesos que están utilizando actualmente la Plataforma de Filtrado de Windows (WFP).

image

Acciones de descarte/bloqueo de paquetes contra procesos EDR

Elastic tiene una regla de detección que puede identificar acciones de descarte o bloqueo de paquetes contra procesos de software de seguridad, lo que puede indicar la presencia de EDRPrison.

Revisar proveedores, filtros y callouts WFP registrados

La herramienta WFPExplorer ayuda a los administradores a revisar las sesiones WFP activas, los callouts registrados y los filtros.

image

image

image

image

Sin administrador

Una posible característica futura podría añadir protecciones adicionales para la instalación de controladores, mejorando aún más la seguridad contra el uso no autorizado de controladores como WinDivert.

Estrategias de red team para subvertir las detecciones

Desde la perspectiva de un red team, se pueden emplear varias estrategias para subvertir las detecciones mencionadas, dependiendo de las configuraciones de seguridad del entorno.

Buscar una alternativa a WinDivert

Si WinDivert se considera malicioso en el entorno, se pueden usar controladores alternativos firmados y de código abierto. Estas alternativas deberían tener menos registros de uso malicioso y seguir admitiendo la interceptación de paquetes, la reinyección y otras técnicas de manipulación.

Reutilizar un controlador WFP callout instalado o integrado

En entornos donde los controladores externos no están autorizados a menos que sean aprobados, es un desafío, pero factible, realizar ingeniería inversa de un controlador WFP callout instalado o integrado. Al reutilizar sus funciones callout, los red teamers pueden aprovechar los controladores existentes. Muchas soluciones de software de seguridad incluyen sus propios controladores WFP callout que pueden reutilizarse.

Cambiar la acción aplicada a los paquetes interceptados

En lugar de bloquear o descartar los paquetes interceptados, los red teamers pueden redirigirlos o enviarlos a través de un proxy. Este método puede evitar las reglas de detección centradas en acciones de descarte o bloqueo de paquetes, logrando al mismo tiempo la interferencia deseada con los procesos EDR.

Créditos

Los siguientes recursos me inspiraron y ayudaron mucho durante mi investigación. Agradezco a todos los autores:

https://github.com/netero1010/EDRSilencer

https://github.com/dsnezhkov/shutter

https://www.mdsec.co.uk/2023/09/nighthawk-0-2-6-three-wise-monkeys/

https://github.com/amjcyber/EDRNoiseMaker

https://www.securityartwork.es/2024/06/17/edr-silencer-2/

https://windowsir.blogspot.com/2024/01/edrsilencer.html

https://github.com/TechnikEmpire/HttpFilteringEngine

https://reqrypt.org/windivert.html

https://learn.microsoft.com/en-us/defender-cloud-apps/network-requirements

https://learn.microsoft.com/en-us/defender-endpoint/configure-network-connections-microsoft-defender-antivirus

https://github.com/microsoft/windows-driver-samples/tree/main/network/trans/WFPSampler

https://github.com/TechnikEmpire/CitadelCore

https://github.com/TechnikEmpire/HttpFilteringEngine

Descargar herramienta