Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
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. | Kitploit
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
5 giorni 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

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

root@kitploit:~
cc -std=c11 -Wall -Wextra -Wpedantic -Werror -O2 \
  poc.c -o dirtycow-safe -pthread

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

root@kitploit:~
cc -std=c11 -Wall -Wextra -Wpedantic -Werror -O2 \
  exploit.c -o dirtycow-exploit -pthread

Esecuzione su un sistema di test Linux isolato

root@kitploit:~
./dirtycow-safe

Conteggio di iterazioni limitato opzionale:

root@kitploit:~
./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
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