Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/gogooma125732/cve-2016-5195
Escalation di PrivilegiAnalisi delle VulnerabilitàAnalisi del CodiceExploitPaper e RicercaApprendimento e Formazione
GitHubgogooma125732/cve-2016-5195

CVE-2016-5195

Harness di analisi e validazione non armato per CVE-2016-5195 (Dirty COW) con ricerca sulle cause profonde, revisione della patch upstream e PoC sicuro esclusivamente per laboratorio per kernel confermati.

Vedi Repository
1131 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2016-5195: Dirty COW - Condizione di gara nel kernel Linux

Ricerca difensiva, validazione non weaponizzata e analisi della patch per CVE-2016-5195 (Dirty COW), una condizione di gara copy-on-write nel kernel Linux che può consentire a un utente locale di modificare dati associati a un mapping di sola lettura e ottenere privilegi elevati.

CampoValore
ComponenteGestione della memoria del kernel Linux / get_user_pages()
DebolezzaCWE-362: Esecuzione concorrente mediante risorsa condivisa con sincronizzazione impropria
GravitàAlta, CVSS 3.1: 7.0
VettoreCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Prerequisito dell'attaccoAccesso locale con privilegi limitati
Fix upstream19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619
Prima release upstream correttaLinux 4.8.3; i backport delle distribuzioni variano

Panoramica

Dirty COW è una gara nella gestione da parte del kernel Linux delle scritture forzate e dei mapping copy-on-write (COW). Un utente locale può mettere in gara l'invalidazione delle pagine contro una scrittura tramite /proc/self/mem. Su un kernel affetto, la gara può far sì che i dati associati a un mapping privato nominalmente di sola lettura vengano riscritti nel file sottostante.

L'impatto pubblico è l'elevazione locale dei privilegi quando un attaccante può applicare la primitiva a un file sensibile per la sicurezza. La vulnerabilità è stata sfruttata in natura nell'ottobre 2016. Questo repository non automatizza tale percorso di elevazione.

Struttura del Repository

PercorsoScopo
poc.cValidazione non weaponizzata che usa solo un inode temporaneo non collegato
exploit.cPrimitiva di scrittura su file arbitrario per un laboratorio usa e getta autorizzato
ROOT_CAUSE.mdAnalisi dettagliata della transizione di stato vulnerabile e della gara
VULNERABILITY_REPORT.mdPrecondizioni, causa principale, impatto e rimedio
PATCH_ANALYSIS.mdAnalisi riga per riga del fix upstream FOLL_COW
evidence/Output di validazione strutturato e note di interpretazione

Harness di Validazione Sicuro

L'harness predefinito è volutamente vincolato:

  • non accetta alcun percorso di destinazione né payload controllato dall'attaccante;
  • crea un file temporaneo con modalità 0600 e lo scollega immediatamente;
  • mette in gara solo l'inode usa e getta ancora aperto;
  • non effettua alcuna connessione di rete ed esegue alcun comando; e
  • riporta un marcatore benigno fisso.

Compilazione

cc -std=c11 -Wall -Wextra -Wpedantic -Werror -O2 \
  poc.c -o dirtycow-safe -pthread

La primitiva exploit solo per laboratorio può essere compilata separatamente:

cc -std=c11 -Wall -Wextra -Wpedantic -Werror -O2 \
  exploit.c -o dirtycow-exploit -pthread

Esecuzione su un sistema di test Linux isolato

./dirtycow-safe

Conteggio di iterazioni limitato opzionale:

./dirtycow-safe --iterations 5000000

Risultati possibili:

  • marker-observed: il comportamento vulnerabile è stato osservato sull'inode usa e getta.
  • marker-not-observed: non conclusivo. Una gara che non si innesca non prova che il kernel sia corretto.
  • exit 77: l'interfaccia Linux richiesta /proc/self/mem non è disponibile.

Non usare il risultato del PoC come controllo primario dello stato della patch. Consulta l'avviso del pacchetto kernel per la distribuzione in esecuzione e verifica che il kernel patchato sia attivo dopo il riavvio.

Primitiva Exploit

exploit.c accetta un file esplicito e un prefisso di sostituzione e dimostra la primitiva di scrittura su file arbitrario su un kernel affetto. Richiede la conferma letterale --i-understand, applica limiti limitati di payload e di iterazioni e non costruisce un payload di elevazione dei privilegi.

Il file selezionato può essere modificato in modo permanente. Usalo solo in un laboratorio isolato e usa e getta di tua proprietà o esplicitamente autorizzato al test. L'analisi completa della gara e delle transizioni di stato è in ROOT_CAUSE.md.

Evidenze

evidence/evidence.json registra le firme sorgente osservate nelle revisioni Linux ufficiali pre-fix e fixed, il risultato della compilazione del PoC senza warning e le proprietà di sicurezza della validazione. evidence/validation.log fornisce un riepilogo conciso. La validazione catturata non ha eseguito la gara.

Rimedio

Installa l'aggiornamento del kernel fornito dal vendor e riavvia nel kernel patchato. Non determinare l'esposizione solo dalla stringa di versione upstream: i kernel enterprise e delle distribuzioni in genere backportano il fix senza adottare il numero di versione upstream. I container usano il kernel dell'host, quindi il rimedio deve coprire l'host.

Vedi PATCH_ANALYSIS.md per la modifica upstream esatta e VULNERABILITY_REPORT.md per le linee guida di validazione.

Riferimenti

  • NVD: CVE-2016-5195
  • Fix upstream Linux
  • Changelog Linux 4.8.3
  • Catalogo delle vulnerabilità note sfruttate di CISA
  • Record CVE Red Hat

Usa questo materiale solo su sistemi di tua proprietà o esplicitamente autorizzati al test.

Scarica lo strumento