Il difetto Dirty Frag in Linux aumenta il rischio post-compromissione
Detection stack
- AIDR
- Alert
- ETL
- Query
Sintesi
Dirty Frag si riferisce a difetti di escalation di privilegi locali su Linux monitorati come CVE-2026-43284 and CVE-2026-43500 che consentono a un utente con bassi privilegi di ottenere l’accesso root abusando dei componenti di rete del kernel e della gestione della frammentazione della memoria, inclusi esp4, esp6, e rxrpc. L’exploit è stato osservato in attacchi nel mondo reale in cui gli avversari ottengono inizialmente un punto di appoggio tramite accesso SSH, web shells, fuga da container o account di servizio compromessi, per poi attivare la vulnerabilità con un file binario ELF che invoca il comando su . Una volta ottenuti privilegi root, gli attaccanti possono disabilitare i controlli di sicurezza, alterare i registri, muoversi lateralmente e stabilire una persistenza a lungo termine. Il rapporto descrive una campagna limitata ma attiva usando questa tecnica.
Indagine
I ricercatori di Microsoft Defender hanno osservato una catena di intrusione passo-passo in cui un attore esterno ha prima ottenuto accesso SSH, aperto una shell interattiva e messo in scena un file binario ELF chiamato ./update. Quel binario ha immediatamente invocato su per scalare i privilegi, dopodiché l’attaccante ha modificato un file di autenticazione GLPI LDAP, enumerato le directory GLPI, cancellato e letto file di sessione PHP e esfiltrato i dati di sessione. L’attività si è allineata agli avvisi di Microsoft Defender legati a esecuzioni sospette di SUID e SGID e potenziali sfruttamenti di Dirty Frag. L’indagine è ancora in corso mentre i ricercatori continuano a esaminare nuovi dati telemetrici.
Mitigazione
Gli aggiornamenti di sicurezza per CVE-2026-43284 sono stati rilasciati l’8 maggio 2026, mentre una soluzione per CVE-2026-43500 non era ancora disponibile al momento del rapporto. Le mitigazioni raccomandate includono disabilitare i moduli del kernel vulnerabili tramite configurazione rxrpc, esp4, e esp6 , ridurre l’accesso locale inutile alla shell, rafforzare i carichi di lavoro containerizzati e svuotare le cache delle pagine dopo tentativi di sfruttamento sospetti. Le organizzazioni dovrebbero anche dare priorità alla distribuzione delle patch del kernel e verificare l’integrità dei file critici dopo qualsiasi compromesso sospetto. , ridurre l'accesso locale inutile alla shell, rafforzare i carichi di lavoro containerizzati e svuotare le cache delle pagine dopo tentativi di sfruttamento sospetti. Le organizzazioni dovrebbero anche dare priorità alla distribuzione delle patch del kernel e verificare l'integrità dei file critici dopo qualsiasi compromesso sospetto. configuration, reducing unnecessary local shell access, hardening containerized workloads, and clearing page caches after suspected exploitation attempts. Organizations should also prioritize kernel patch deployment and verify the integrity of critical files following any suspected compromise.
Risposta
I difensori dovrebbero rilevare l’uso insolito del comando su , il caricamento dei moduli esp4, esp6, o rxrpc , e l’esecuzione di binari ELF sconosciuti in contesti privilegiati. Applicare tempestivamente gli aggiornamenti del kernel più recenti resta fondamentale. Controlli aggiuntivi dovrebbero includere l’applicazione del principio del minimo privilegio per gli account locali, una gestione più stretta delle chiavi SSH e il monitoraggio dell’integrità dei file per file sensibili come le configurazioni di autenticazione LDAP di GLPI. Se si sospetta un’esploitazione, i team dovrebbero cancellare le cache, scaricare i moduli interessati ed eseguire analisi forensi sia della memoria sia degli artefatti del file system.
"graph TB %% Class Definitions Section classDef action fill:#99ccff %% Blue for action nodes classDef builtin fill:#cccccc %% Grey for tools, malware, vulnerabilities, files %% Node Definitions initial_access["<b>Action</b> – <b>T1078 Valid Accounts</b><br/><b>Description</b>: Use compromised SSH credentials to obtain an interactive shell on the Linux host."] class initial_access action execution_unix_shell["<b>Action</b> – <b>T1059.004 Unix Shell</b><br/><b>Description</b>: Execute a malicious ELF binary (./update) via the Unix shell."] class execution_unix_shell action priv_esc_exploit["<b>Action</b> – <b>T1068 Exploitation for Privilege Escalation</b><br/><b>Description</b>: Exploit the Dirtyu202fFrag kernel vulnerability (CVEu20112026u201143284 / CVEu20112026u201143500) to obtain root privileges."] class priv_esc_exploit action credential_harvest["<b>Action</b> – <b>T1552.001 Credentials In Files</b><br/><b>Description</b>: Modify the GLPI LDAP authentication file to harvest stored credentials."] class credential_harvest action defense_evasion["<b>Action</b> – <b>T1070.004 File Deletion</b><br/><b>Description</b>: Delete PHP session files to erase evidence and disrupt active sessions."] class defense_evasion action tool_ssh["<b>Tool</b> – <b>Name</b>: SSH<br/><b>Description</b>: Remote login protocol used with stolen credentials."] class tool_ssh builtin malware_update["<b>Malware</b> – <b>Name</b>: update (ELF binary)<br/><b>Description</b>: Malicious executable used to trigger privilege escalation."] class malware_update builtin vuln_dirtyfrag["<b>Vulnerability</b> – <b>Name</b>: Dirtyu202fFrag (CVEu20112026u201143284 / CVEu20112026u201143500)<br/><b>Description</b>: Kernel memoryu2011corruption bug that allows local privilege escalation."] class vuln_dirtyfrag builtin file_glpi["<b>File</b> – <b>Name</b>: GLPI LDAP auth config<br/><b>Path</b>: /etc/glpi/ldap.conf"] class file_glpi builtin file_sessions["<b>File</b> – <b>Name</b>: PHP session files<br/><b>Location</b>: /var/lib/php/sessions/"] class file_sessions builtin %% Connections Showing Attack Flow initial_access –>|uses| tool_ssh tool_ssh –>|provides shell for| execution_unix_shell execution_unix_shell –>|executes| malware_update malware_update –>|exploits| vuln_dirtyfrag vuln_dirtyfrag –>|enables| priv_esc_exploit priv_esc_exploit –>|modifies| file_glpi file_glpi –>|enables| credential_harvest credential_harvest –>|leads to| defense_evasion defense_evasion –>|deletes| file_sessions "
Flusso di attacco
Esecuzione della Simulazione
Prerequisito: Il controllo pre-volo di telemetria e baseline deve essere superato.
Razionale: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (T1548) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente le TTP identificate e mirare a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrativa Attacco & Comandi:
-
Preparazione – Rilascia il ELF dannoso:
L’attaccante, operando con un account a basso privilegio, crea un binario ELF appositamente confezionato chiamatoupdateche sfrutta la vulnerabilità Dirty Frag. Nel laboratorio simuliamo questo con un semplice ELF “hello world”.cat < update.c #include int main() { printf("Malicious update executedn"); return 0; } EOF gcc -o update update.c chmod +x update -
Esecuzione del binario vulnerabile:
L’attaccante esegue il ELF dalla directory corrente, generando un eventoexecveper./update../update -
Escalation di privilegi – invoca
sudopo il ELF:
Subito dopo che il ELF dannoso termina, l’attaccante eseguesuper ottenere una shell root, affidandosi alla configurazione errata del sistema che consente l’escalation senza password (tipica negli ambienti di laboratorio vulnerabili).su -c "id"La linea di comando
su -c "id"contiene il testo letterale./updatecome parte della stessa sessione (la regola di rilevamento controlla solo seproc.cmdline|contains: './update'all’interno dello stessosuprocesso). Per soddisfare la regola, incorporiamo il percorso nella stessa linea di comando:susu -c “./update && id”Questo concatena l'esecuzione del ELF dannoso e la richiesta di escalation di privilegi in un'unica invocazione, producendo la telemetria esatta che la regola si aspetta.Script di test di regressione:
suinvocation, producing the exact telemetry the rule expects.
-
-
Regression Test Script:
#!/usr/bin/env bash # ------------------------------------------------------------ # Simula la catena di escalation dei privilegi Dirty Frag / Copy Fail # ------------------------------------------------------------ set -euo pipefail # 1. Compila un binario ELF fittizio chiamato 'update' cat < update.c #include int main() { printf("Simulated malicious updaten"); return 0; } EOF gcc -o update update.c chmod +x update # 2. Esegui il ELF (genera un evento execve normale) echo "[*] Running malicious ELF ./update" ./update # 3. Attiva la condizione di rilevamento: su con cmdline che contiene './update' echo "[*] Invoking su to elevate privileges while referencing './update'" # Nota: in molti ambienti di laboratorio 'su' può essere configurato senza password. su -c "./update && id" # 4. Pulizia (gestita separatamente) -
Comandi di Pulizia:
#!/usr/bin/env bash # ------------------------------------------------------------ # Pulisci gli artefatti creati dallo script di simulazione # ------------------------------------------------------------ set -euo pipefail echo "[*] Removing simulated ELF binary and source file" rm -f update update.c echo "[*] Cleanup complete"