
Evade EDR de la manera simple, al no tocar ninguna de las APIs que interceptan.
Evade los EDR de la manera simple, sin tocar ninguna de las API que interceptan.
He notado que la mayoría de los EDR no escanean los archivos de scripting, tratándolos simplemente como archivos de texto. Si bien esto puede ser desafortunado para ellos, es una oportunidad para que nosotros nos beneficiemos.
Métodos llamativos como residir en memoria o la inyección de hilos son fuertemente monitoreados. Sin un binario firmado por una Autoridad de Certificación válida, la ejecución es casi imposible.
Presentamos BYOSI (Bring Your Own Scripting Interpreter - Traiga su Propio Intérprete de Scripting). Cada intérprete de scripting está firmado por su creador, con cada certificado siendo válido. Las pruebas en un entorno real revelaron resultados sorprendentes: un script PHP altamente firmado de este repositorio no solo se ejecutó en sistemas monitoreados por CrowdStrike y Trellix, sino que también estableció una conexión externa sin activar ninguna detección de EDR. Los EDR típicamente pasan por alto los archivos de script, centrándose en binarios para la entrega de implantes. Están configurados para detectar alta entropía o secciones sospechosas en binarios, no scripts simples.
Este método de ataque capitaliza ese descuido para obtener un beneficio significativo. Los pasos del script de PowerShell reflejan lo que un desarrollador podría hacer al ingresar por primera vez a un entorno. Sorprendentemente, solo cuatro líneas de código PowerShell evaden por completo la detección del EDR, con Defender/AMSI también ciegos a ello. Aumentando la efectividad, GitHub sirve como un implementador de confianza.
El script de PowerShell logra la evasión de EDR/AV a través de cuatro simples pasos (técnicamente 3):
1.) Obtiene el archivo PHP para Windows y lo extrae en un nuevo directorio llamado 'php' dentro de 'C:\Temp'.
2.) Luego, el script procede a adquirir el script o shell PHP del implante, guardándolo en el mismo directorio 'C:\Temp\php'.
3.) Después de esto, ejecuta el implante o shell, utilizando el binario PHP en lista blanca (lo que exime al binario de la mayoría de las restricciones existentes que impedirían que el binario se ejecutara en primer lugar).
Con estas acciones completadas, felicidades: ahora tiene un shell activo en un sistema monitoreado por Crowdstrike. Lo que es particularmente divertido es que, si mi memoria no me falla, Sentinel One no puede escanear tipos de archivos PHP. Así que, siéntase libre de dejar volar su imaginación.
No soy responsable de ninguna manera por el mal uso de esto. Este problema es un gran punto ciego en la protección de EDR, solo lo estoy trayendo a la atención de todos.
Un gran agradecimiento a @im4x5yn74x por darle cariñosamente el nombre BYOSI, y ayudar con el entorno para probar dando vida a este método de ataque.
Parece que MS Defender ahora está marcando el script PHP como malicioso, pero aún permite la ejecución completa del script de PowerShell. Así que, modifica el script PHP. El problema ahora es que el sitio web de PHP ha eliminado el archivo zip inicial, por lo que tendrás que modificar esa línea de código, es la línea 1. Encuentra una versión que quieras usar, y boom. Shell obtenido, Defender no marca el script PHP, ningún proveedor de AV identifica correctamente el script, esto sigue funcionando con una tasa de éxito del 100%.
hola sentinel one :) quizás quieran asegurarse de que están haciendo que los enlaces no se incrusten.
hola equipo de claude.