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
DetectPacket-CVE-2017-8464 — Sfrutta le vulnerabilità e implementazione della prevenzione delle vulnerabilità | Kitploit
Strumenti/GitHubGitHub/trg-1999/detectpacket-cve-2017-8464
Sniffing e Analisi dei PacchettiAnalisi StaticaAnalisi delle VulnerabilitàExploitInformatica ForenseSicurezza di ReteAnalisi MalwareRilevamento IntrusioniApprendimento e Formazione
GitHubtrg-1999/detectpacket-cve-2017-8464

DetectPacket-CVE-2017-8464

Sfrutta le vulnerabilità e implementazione della prevenzione delle vulnerabilità

Vedi Repository
2154 anni 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

Costruire un'applicazione per rilevare la vulnerabilità CVE-2017-8464

Source (click here)

CONTENUTO:

PARTE 1: PANORAMICA SU CVE-2017-8464

  1. CONCETTO DI FILE LNK
  2. CREAZIONE DI UN SISTEMA VULNERABILE A CVE-2017-8464
  3. STRUMENTO DI ATTACCO PER LA VULNERABILITÀ CVE-2017-8464

PARTE 2: UTILIZZO DI METASPLOIT PER LO SFRUTTAMENTO DI CVE-2017-8464

2.1. MODELLO DI SFRUTTAMENTO DI CVE-2017-8464

2.2. ESECUZIONE DELLO SFRUTTAMENTO DI CVE-2017-8464

PARTE 3: COSTRUZIONE DI UNO STRUMENTO DI RILEVAMENTO DI CVE-2017-8464 BASATO SU PYTHON

3.1. ANALISI DELLA FIRMA DI CVE-2017-8464 BASATA SUI PACCHETTI DI RETE CATTURATI

3.2. FUNZIONE DI ELABORAZIONE PER RILEVARE LO SFRUTTAMENTO DI CVE-2017-8464 BASATA SULL'ANALISI DELLA FIRMA DEI PACCHETTI DI RETE

CONCLUSIONE

**

PARTE 1: PANORAMICA SU CVE-2017-8464

  1. CONCETTO DI FILE LNK

LNK è un file di sistema – Collegamento di Windows, in formato binario sviluppato da Microsoft.

Figura 1: Icona di collegamento in Windows

Un file LNK è un collegamento o "link" utilizzato da Windows come riferimento a un file originale, una cartella o un'applicazione, simile a un alias sulla piattaforma Macintosh. Contiene il tipo di destinazione del collegamento, la posizione e il nome del file, nonché i programmi che aprono i file di destinazione e un collegamento opzionale. I file possono essere creati in Windows facendo clic con il pulsante destro del mouse su un file, una cartella o un eseguibile e quindi selezionando "Crea collegamento".

Sfruttando questa vulnerabilità presente in Microsoft Windows, un utente malintenzionato può eseguire codice in remoto se l'icona di un collegamento (creato in modo apposito) viene visualizzata.

Figura 2: Creazione manuale di un collegamento che esegue il download e l'esecuzione di codice dannoso tramite un file .LNK

Il componente vulnerabile è collegato allo stack di rete. Una tale vulnerabilità è spesso chiamata "remotely exploitable" e può essere considerata un attacco sfruttabile a livello di protocollo o attraverso più hop di rete (ad es. attraverso uno o più router).

  1. CREAZIONE DI UN SISTEMA VULNERABILE A CVE-2017-8464

I sistemi interessati dalla vulnerabilità CVE-2017-8464 sono Windows Shell in Microsoft Windows Server 2008 SP2 e R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2012 Gold e R2, Windows RT 8.1, Windows 10 Gold, 1511, 1607, 1703 e Windows Server 2016, che consentono a utenti locali o attaccanti remoti di eseguire codice arbitrario tramite un file .LNK creato manualmente, non gestito correttamente durante la visualizzazione dell'icona in Esplora risorse o in qualsiasi altra applicazione che analizzi l'icona del collegamento. Nota anche come "LNK Remote Code Execution Vulnerability".

L'aggiornamento di sicurezza corregge la vulnerabilità convalidando correttamente il riferimento dell'icona del collegamento. Microsoft Windows ha rilasciato un aggiornamento per questa vulnerabilità nel giugno 2017. Questa vulnerabilità non interessa le versioni di Windows XP e precedenti.

  1. STRUMENTO DI ATTACCO PER LA VULNERABILITÀ CVE-2017-8464

Metasploit

Metasploit Framework è un ambiente per testare, attaccare e sfruttare vulnerabilità dei servizi tramite interfaccia a riga di comando; questo strumento è disponibile su Kali Linux versione VMware.

Figura 3: Tool Metasploit

Armitage

Strumento con interfaccia grafica basato sul progetto Metasploit.

Figura 4: Tool Armitage.

PARTE 2: UTILIZZO DI METASPLOIT PER LO SFRUTTAMENTO DI CVE-2017-8464

2.1. MODELLO DI SFRUTTAMENTO DI CVE-2017-8464

Macchina vittima – Windows 7 Pro

Figura 5: Versione del sistema operativo della vittima

Figura 6: Indirizzo IP della macchina vittima

Macchina attaccante – Kali linux – Utilizzo dello strumento Metasploit.

Figura 7: Indirizzo IP della macchina attaccante

La rete in uso è VMnet8 Subnet 192.168.169.0

2.2. ESECUZIONE DELLO SFRUTTAMENTO DI CVE-2017-8464

  • Creare payload reverse_tcp e mettersi in ascolto di connessioni TCP sulla macchina Kali.
  • Con LHOST come indirizzo di ascolto dalla macchina attaccante.

Figura 8: Creazione di payload e ascolto di connessioni TCP verso la macchina attaccante

  • Creare un file di collegamento contenente la vulnerabilità CVE-2017-8464 per avviare automaticamente il payload reverse_tcp iniettato.

Figura 9: Creazione di un file .lnk che esegue automaticamente il malware

Figura 10: Informazioni di configurazione del Payload

  • Eseguire il comando exploit per inizializzare i collegamenti contenenti la vulnerabilità che puntano al file payload.
  • Nello specifico, come descritto, verranno creati un file payload chiamato FlashPlayerCPApp.cpl e un file di collegamento che sfrutta la vulnerabilità per eseguire automaticamente il file payload.
  • Dopo aver inizializzato tutti i file necessari, verranno salvati nella cartella /root/.msf4/local/ sulla macchina attaccante. L'attaccante copierà quindi tutti i file di quella cartella su una qualsiasi USB.

Figura 11: Creazione del file .lnk con malware allegato

Figura 12: Copia di tutto il malware su USB

  • Dopo aver indotto la vittima a inserire l'USB nel proprio computer, la vittima non deve fare clic su nulla all'interno dell'USB; l'errore del file .lnk (file di collegamento) avvierà automaticamente il payload malware per sfruttare la vulnerabilità ed eseguire codice in remoto.

Figura 13: La vittima inserisce l'USB contenente il file .lnk difettoso con malware

  • Osservando la macchina attaccante, si nota che la macchina vittima si è connessa alla macchina attaccante; a questo punto l'attaccante ha sfruttato con successo la vulnerabilità CVE-2017-8464 ed eseguito il malware da remoto sulla macchina vittima.

Figura 14: L'attaccante ha sfruttato con successo la vulnerabilità e ha accesso alla macchina vittima

**

PARTE 3: COSTRUZIONE DI UNO STRUMENTO DI RILEVAMENTO DI CVE-2017-8464 BASATO SU PYTHON

3.1. ANALISI DELLA FIRMA DI CVE-2017-8464 BASATA SUI PACCHETTI DI RETE CATTURATI

  • Durante l'attacco, con la cattura dei pacchetti, si nota che quando il file .lnk viene eseguito automaticamente, la macchina vittima avvia una connessione TCP verso l'indirizzo della macchina attaccante impostato nel payload.

Figura 15: Pacchetto di attacco sulla vulnerabilità CVE-2017-8464 catturato

  • Il pacchetto con il flag PSH consente l'invio diretto alla macchina vittima invece di essere inserito nel buffer temporaneo.

Figura 16: Pacchetto con flag PSH dopo la connessione TCP riuscita all'attaccante

  • Successivamente, un pacchetto con il segno sospetto "MZ" indica che probabilmente si tratta di un file PE contenente malware inviato alla macchina vittima.

Figura 17: Segno sospetto nel pacchetto catturato inviato dall'attaccante alla vittima.

Formato file PE (Portable Executable File Format): è il formato file nativo di Win32. Tutti i file eseguibili su Win32 come *.EXE, *.DLL (32 bit), *.COM, *.NET, *.CPL, ecc. sono in formato PE; ad eccezione dei file VxDs e *.DLL (16 bit).

PE_File_Struct.png

Figura 18: Struttura di un file PE.

Intestazione DOS MZ

Tutti i file PE iniziano con una semplice intestazione DOS MZ. Occupa i primi 64 byte. Questa area viene utilizzata nel caso in cui il programma venga eseguito su DOS.

e_magic: Firma del file PE, valore: 4Dh, 5Ah (caratteri "MZ", dal nome del fondatore di MS-DOS: Mark Zbikowsky). Questo valore contrassegna un'intestazione DOS valida e ne consente l'esecuzione.

Figura 19: Firma del file PE nel pacchetto catturato

e_lfanew: è un DWORD alla fine dell'intestazione DOS, contiene l'offset dell'intestazione PE rispetto all'inizio del file.

STUB DOS

Lo STUB DOS è solo un piccolo programma DOS EXE che visualizza un messaggio di errore; serve per la compatibilità con Windows 16 bit.

Figura 20: Informazioni nel pacchetto STUB DOS catturato inviato dall'attaccante alla vittima

Intestazione PE

L'intestazione PE è in realtà la struttura IMAGE_NT_HEADERS che contiene le informazioni necessarie per il caricamento del file in memoria da parte del loader.

Signature: è un DWORD all'inizio dell'intestazione PE che contiene la firma PE: 50h, 45h, 00h, 00

Figura 21: Informazioni da e_lfanew che indicano la firma dell'intestazione PE.

SECTION TABLE

La Section Table viene subito dopo l'intestazione PE e consiste in un array di strutture IMAGE_SECTION_HEADER.

Figura 22: Contenuto della Section table nel pacchetto catturato

  • I pacchetti successivi conterranno i dati delle SECTION del file PE.
  • Da ciò, prendiamo solo la parte HEADER della struttura del file PE di questo malware, la sottoponiamo a hash con la funzione MD5 per creare la firma per rilevare il malware di questo file. Nello specifico, prenderemo 1024 byte di dati dal pacchetto rilevato, che includono la parte HEADER. Le informazioni correlate che conosciamo sul malware verranno salvate in un file CSV come dataset per rilevare altri malware.

Figura 23: Salvataggio della firma e delle informazioni correlate al malware in un file CSV

3.2. FUNZIONE DI ELABORAZIONE PER RILEVARE LO SFRUTTAMENTO DI CVE-2017-8464 BASATA SULL'ANALISI DELLA FIRMA DEI PACCHETTI DI RETE

  • La funzione recupera le informazioni dei protocolli correlati in frame_info; se è presente un campo data, recupera il protocollo più vicino al campo data.

Figura 24: Funzione per ottenere le informazioni del protocollo del pacchetto

  • Get_info recupera le informazioni importanti simili al campo info di Wireshark.

Figura 25: Funzione per ottenere le informazioni del campo info del pacchetto

  • Per la funzione di conversione da file pcap a csv: prima utilizza pyshark per caricare il file temporaneo di cattura dei pacchetti (temp.pcap). Quindi recupera le informazioni simili al campo info di Wireshark e le scrive in un file CSV temporaneo. In questa funzione, vengono presi solo i pacchetti dal livello IP/IPv6 in su.
  • Dopo la conversione in file CSV temporaneo, viene creata una copia nella cartella packet, se necessario come documentazione futura.

Figura 26: Funzione per convertire i pacchetti da Pcap a file CSV

  • Innanzitutto, la funzione detectRemoteCode esamina le informazioni nel file campione contenente le firme (md5) già raccolte e analizzate in precedenza; le firme vengono aggregate in questo file campione. Successivamente apre il file CSV che contiene i dati temporanei catturati dal traffico di rete, quindi estrae i dati del protocollo TCP (1024 byte, equivalenti a 2048 caratteri hex), li decodifica e verifica se iniziano con il carattere "MZ". In tal caso, li sottopone a hash e confronta con la firma già definita. Se corrisponde, genera un avviso e registra l'evento in un log, simile all'analisi statica (Static Analysis) utilizzata dagli strumenti antivirus.

Figura 27: Funzione per verificare la presenza di malware nel traffico di rete

  • Dopo aver definito le funzioni principali, il codice esegue il monitoraggio del traffico dalle righe 88 a 109 fino alla fine del programma.
  • La prima riga controlla la presenza della cartella; se non esiste, la crea.
  • Successivamente, un ciclo infinito fino a quando l'utente non interrompe il programma con Ctrl+C.
  • Nel ciclo, la prima istruzione utilizza pyshark per catturare i pacchetti, con l'interfaccia di rete desiderata e il file di output temp.pcap.
  • Cattura i pacchetti per 6 secondi, poi esegue la funzione di conversione da pcap a CSV.
  • Dopo aver ottenuto il file CSV, esegue la funzione di verifica della vulnerabilità CVE-2017-8464. Ripete queste operazioni finché l'utente non interrompe il programma.

Figura 28: Ciclo per catturare il traffico e verificare la presenza di malware

*Test del funzionamento del programma tramite sfruttamento.

  • Eseguire il programma di monitoraggio su una macchina Windows 10 (macchina reale) che monitora la rete in cui verrà eseguito nuovamente l'attacco descritto nella Parte 2.

Figura 29: Avvio del programma di monitoraggio sulla macchina reale

  • Tornare alle due macchine virtuali e ripetere le operazioni di attacco come nella Parte 2. Si nota che il traffico di rete catturato viene analizzato e viene rilevato l'attaccante che sta eseguendo LNK Remote Code, come mostrato nella figura seguente.
  • Per terminare la scansione sulla porta di rete, basta premere Ctrl+C per interrompere il programma.

Figura 30: Rilevamento e avviso durante l'ascolto del traffico di rete

  • Dopo la scansione di ogni minaccia, nella cartella del programma di monitoraggio viene creata una cartella packet contenente i file convertiti in csv durante la cattura dei pacchetti con pyshark, e un file log.txt che registra tutte le attività rilevate durante l'esecuzione del programma di monitoraggio.
  • Inoltre, vengono generati due file temporanei utilizzati dal programma per la lettura e l'analisi della conversione; questi due file cambiano frequentemente, mentre i pacchetti convertiti vengono salvati nella cartella packet.
  • Il file sample-detect.csv, come descritto in precedenza, memorizza le firme analizzate per consentire al programma di rilevare le minacce tramite l'analisi statica (Static Analysis) comunemente utilizzata dagli strumenti antivirus.

Figura 31: Cartella del programma di monitoraggio CVE-2017-8464

Figura 32: Cartella packet con i file che registrano i pacchetti dopo ogni conversione durante la cattura

  • Successivamente, controllare il file log.txt per verificare le attività e se ci sono rilevamenti. I rilevamenti di attacchi basati su CVE-2017-8464 vengono registrati nel log con data/ora e IP specifici, come negli avvisi mostrati durante l'esecuzione del programma.

Figura 33: Tutti gli avvisi salvati nel log

CONCLUSIONE

Attraverso il processo di sfruttamento e costruzione del programma di rilevamento della vulnerabilità CVE-2017-8464, gli studenti comprendono come sfruttare una vulnerabilità, analizzare la firma e i comportamenti del malware associato alla vulnerabilità. Questa analisi del comportamento e della firma consente agli studenti di sviluppare programmi per la raccolta automatica, l'analisi e l'elaborazione delle informazioni di monitoraggio della sicurezza di rete, al fine di generare avvisi di rilevamento malware.

Scarica lo strumento