Exploit, PoC, CVE, cosa sono?

In questo articolo vorrei fare un pò di chiarezza su alcuni termini che spesso o non vengono capiti o vengono utilizzati a sproposito: exploit, PoC e CVE.

La definizione di exploit è la seguente.

Un exploit è un programma o pezzo di codice che sfrutta una vulnerabilità locale o remota per accedere al sistema.

Piuttosto vaga come definizione, quindi specifichiamo l’esistenza degli exploit remoti e di quelli locali.

Gli exploit remoti (Remote Exploit) vanno utilizzati da remoto appunto, quindi non dovete avere l’accesso fisico alla macchina, invece gli exploit locali (Local Exploit) dovete avere l’accesso alla shell della macchina, generalmente dopo l’utilizzo di un Remote Exploit, per sfruttare la vulnerabilità. Un esempio di Local Exploit è il famosissimo Shell Shock, che permetteva di eseguire comandi con i privilegi di root dalla Bash, e quindi bisognava avere già l’accesso alla macchina in questione,

Adesso vediamo i PoC.

PoC sta per Proof of Concept, quindi una teoria da verificare. Mi spiego meglio. Sono delle vulnerabilità che vengono trovate, ma non vengono ancora catalogate perchè o non si sa bene la tipologia di vulnerabilità, oppure si conosce si la tipologia ma non si sa ancora come sfruttare tale vulnerabilità. In rete ne girano tantissimi, ogni giorno vengono scoperte dozzine e dozzine di vulnerabilità nuove, non ancora catalogate. Il PoC non va comunque preso sotto gamba, anche perchè per catalogare certe vulnerabilità e capire come si sfruttano è solo questione di tempo, ed in genere non ne passa tanto, specialmente quando si tratta di applicazioni mainstream, e quindi il tasso di pericolosità si alza notevolmente.

Andiamo invece a vedere cosa è il CVE.

CVE sta per Common Vulnerabilities and Exposure, ed è un documento dove viene descritta la vulnerabilità trovata nei minimi dettagli, sembrano quasi dei trattati scientifici, generalmente senza exploit, e con il fix (la patch o come la vogliamo chiamare la chiamiamo) allegata. I CVE vengono verificati, pubblicati ed approvati su un sito internazionale che è questo qui: https://cve.mitre.org/

In genere un exploit nasce da un CVE e viene indicato all’interno dell’exploit stesso.

Una volta il più grande sito di exploit al mondo era milw0rm, realizzato da un tipo americano che si faceva chiamare str0ke, che successivamente si è venduto alla CIA ed ha chiuso il sito. Vi parlo di una decina di anni fa.

Adesso il più grande sito di exploit sembra essere exploit-db: https://www.exploit-db.com/

Tutti i vecchi exploit che stavano su milw0rm li possiamo trovare su altri siti, come Packet Storm Security e Security Reason, che attualmente ha cambiato nome in CXSECURITY. Questi due siti erano dell’epoca di milw0rm, e chi scriveva exploit generalmente li pubblicava non solo su milw0rm, ma anche su questi due siti.

Ecco il sito di Packet Storm Security: https://packetstormsecurity.com/

Qui il sito di CXSECURITY, ex Security Reason: http://cxsecurity.com/


Author: davenull

Ho 28 anni (ad aprile 29) e vengo da Taranto (Puglia, Italia) e sono:

Sistemista/Programmatore Unix (Debian, OpenMediaVault, OpenWrt, FreeBSD, NetBSD, Lineage OS);

Prototipatore con Raspberry Pi.

Esperto di Sicurezza Informatica, scrivo exploit da poco piì di dieci anni, circa quindici;

Esperto di microarchitetture embedded, specialmente bcm63, ar7 ed armhf (6 e 7);

Fondamentalista del Free Software (Free as in Freedom)

Relatore ed organizzatore di svariati Linux Day a Taranto e a Francavilla Fontana (Brindisi);

Sistemista di svariate sale server che ora non vi sto ad elencare;

Co-Founder di JonixLUG: https://www.jonixlug.altervista.org

Founder di FreeNIX Security Labs: https://www.freenixsecurity.net

Collaboratore esterno dell’Associazione Fare Zero Makers: http://www.farezero.org