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
POC-CVE-2017-8464-OpenCalculator — Sfruttare la vulnerabilità .lnk e i meccanismi di gestione del sistema operativo riguardanti explorer.exe e le unità USB. | Kitploit
Strumenti/GitHubGitHub/playboisk8/poc-cve-2017-8464-opencalculator
Analisi delle VulnerabilitàExploitAnalisi di BinariSviluppo PayloadBinary Exploitation
GitHubplayboisk8/poc-cve-2017-8464-opencalculator

POC-CVE-2017-8464-OpenCalculator

Sfruttare la vulnerabilità .lnk e i meccanismi di gestione del sistema operativo riguardanti explorer.exe e le unità USB.

Vedi Repository
21 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-2017-8464 / ricerca + PoC

Crea 1 Shortcut + 1 .DLL contenente payload dannoso => Mettilo in una USB e invialo alla vittima => la vittima apre la USB => il Payload si attiva automaticamente !

CVE-2017-8464.gif

Causa principale

  1. Prima di tutto dobbiamo sapere esattamente da dove nasce questo bug! È dovuto alla funzionalità chiamata Plug-and-Play (Collega e gioca) in cui il sistema operativo rileva automaticamente il dispositivo, alloca le risorse e carica il driver appropriato per farlo funzionare subito senza riavviare il computer. Quando inserisci una USB e apri la cartella con Esplora file di Windows explorer.exe, il sistema operativo scansiona i file per mostrare all'utente l'icona corrispondente!

  2. Nelle vecchie versioni di Windows, Microsoft voleva che i collegamenti (shortcut .lnk) che puntano alle funzionalità del Pannello di controllo (in sostanza file .cpl o .dll) potessero mostrare le icone in modo dinamico e flessibile. Per questo, la libreria principale di gestione dell'interfaccia di Windows, shell32.dll, è stata progettata con una funzione chiamata

CPL_LoadCPLModule
  • Usare LoadLibrary alla cieca: Per ottenere l'icona dal file applet del Pannello di controllo, il sistema operativo non legge un semplice file immagine statico, ma usa la funzione LoadLibraryW per caricare direttamente l'intera libreria a collegamento dinamico nello spazio di memoria del processo explorer.exe. Dopo averla caricata, chiama una funzione di esportazione standard, CPlApplet, per ottenere l'icona da visualizzare sullo schermo

  • LoadLibraryW.png

    Per dimostrare che LoadLibraryW è realmente coinvolta nella catena di exploit di cui sopra:

    1/ Avvia x64dbg với quyền admin

    2/ Collegati a explorer.exe

    3/ Digita il comando bp LoadLibraryW

    4/ Premi F9 per far continuare explorer.exe

    5/ Inserisci la USB e si attiverà subito hit breakpoint !

    Problema PoC & Soluzione

    Ho avuto un problema: la catena di exploit era completamente silenziosa; anche cercando di controllare e fare debug di tutto, non riuscivo a trovare un modo per sistemarla! Poi ho provato a cercare il PoC di altri e a eseguirlo, ma falliva anch'esso!

    Esempio: https://github.com/3gstudent/CVE-2017-8464-EXP

    Tuttavia, quando sono andato a pranzo e sono tornato, ho riacquistato concentrazione e calma. Ho iniziato a chiedermi: perché il PoC di quel tipo funzionava e sul mio computer no? Ok, ho iniziato a fare un po' di reverse engineering del suo .lnk e .dll e ho scoperto due cose!

    1 / Il mio .dll era più lungo del suo! Ma non importa, non è quello il problema!

    2 / Quando ho messo il .lnk in HxD per leggere le stringhe, ho scoperto che quel tipo non usa un percorso relativo, ma assoluto!

    Relativo : ../example.dll

    Assoluto : O:/example.dll

    him.png

    Ok, ora il modo per sistemare è: dobbiamo sapere quale lettera di unità verrà assegnata automaticamente alla USB quando viene inserita nel computer della vittima. A quel punto possiamo impostare il percorso assoluto e avremo successo. Sul mio Win7, quando inserisco una USB esce sempre la lettera F, quindi il mio comando di build era:

    root@kitploit:~
    python Make_PoC.py FakeGoogleChrome F:\Pwned.dll
    

    Come ha corretto Microsoft questa architettura?

    Poiché è un difetto di progettazione dell'architettura di sistema (Logic/Architecture Flaw) e non un errore di buffer overflow, Microsoft ha dovuto cambiare completamente il modo di gestire il Pannello di controllo:

    • Firma digitale (Code Signing): I sistemi operativi moderni impongono che i file .cpl o .dll caricati da un processo di sistema abbiano una firma digitale valida di Microsoft oppure si trovino in directory di sistema rigorosamente protette (come System32) per evitare il problema del "Binary Planting" dalla USB.
    • Isolamento dei processi (Process Isolation): Invece di caricare direttamente nel processo critico explorer.exe [cite: 1058], le nuove versioni di Windows eseguono gli applet del Pannello di controllo tramite un processo intermedio isolato (come dllhost.exe o rundll32.exe). Se la DLL va in crash o contiene malware, farà crollare solo quel processo intermedio e non potrà controllare l'intero sistema dell'interfaccia utente.

    Riferimenti

    Ricerca VN

    • https://github.com/TrG-1999/DetectPacket-CVE-2017-8464

    PoC

    • https://github.com/3gstudent/CVE-2017-8464-EXP

    Tool per creare il .lnk vulnerabile

    • https://github.com/nixawk/labs/blob/master/CVE-2017-8464/exploit_CVE-2017-8464.py
    Scarica lo strumento