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.
graph TB %% Definizioni delle Classi classDef action fill:#99ccff classDef technique fill:#ffcc99 %% Nodi di Azione action_create_symlink[“<b>Azione</b> – Creare una cartella di collegamento simbolico nella piattaforma Defender<br/><b>Dettagli</b>: Il link punta a C:\TMP\AV con un numero di versione più alto”] class action_create_symlink action action_copy_binaries[“<b>Azione</b> – Copiare i binari originali di Defender in una directory controllata dall’attaccante”] class action_copy_binaries action action_place_malicious_dll[“<b>Azione</b> – Inserire DLL dannose nella cartella compromessa”] class action_place_malicious_dll action action_cleanup[“<b>Azione</b> – Eliminare la cartella di collegamento simbolico per rimuovere le prove”] class action_cleanup action %% Nodi Tecnici tech_T1574_009[“<b>Tecnica</b> – T1574.009 Hijacking del Component Object Model<br/><b>Descrizione</b>: Abusare della registrazione COM per far caricare codice malevolo a un servizio legittimo”] class tech_T1574_009 technique tech_T1218[“<b>Tecnica</b> – T1218 Esecuzione Proxy di Binari Firmati<br/><b>Descrizione</b>: Utilizzare binari firmati affidabili per eseguire payload dannosi”] class tech_T1218 technique tech_T1055_001[“<b>Tecnica</b> – T1055.001 Iniezione di Processo (DLL)<br/><b>Descrizione</b>: Caricare una DLL dannosa nello spazio di memoria di un processo legittimo”] class tech_T1055_001 technique tech_T1546_009[“<b>Tecnica</b> – T1546.009 Esecuzione DLL AppCert<br/><b>Descrizione</b>: Forzare il caricamento di una DLL dannosa tramite i meccanismi AppCert”] class tech_T1546_009 technique tech_T1070_004[“<b>Tecnica</b> – T1070.004 Eliminazione File<br/><b>Descrizione</b>: Rimuovere file o directory per nascondere attività dannose”] class tech_T1070_004 technique tech_T1562[“<b>Tecnica</b> – T1562 Compromissione delle Difese<br/><b>Descrizione</b>: Disabilitare o interferire con strumenti di sicurezza”] class tech_T1562 technique %% Connessioni action_create_symlink –>|usa| tech_T1574_009 tech_T1574_009 –>|abilita| action_copy_binaries action_copy_binaries –>|usa| tech_T1218 action_copy_binaries –>|prepara| action_place_malicious_dll action_place_malicious_dll –>|utilizza| tech_T1055_001 action_place_malicious_dll –>|utilizza| tech_T1546_009 action_place_malicious_dll –>|porta a| action_cleanup action_cleanup –>|usa| tech_T1070_004 tech_T1070_004 –>|risulta in| tech_T1562
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)