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
IconJector — Inietta DLL nel processo explorer usando le icone | Kitploit
Strumenti/GitHubGitHub/d419h/iconjector
ExploitPost-ExploitIngegneria SocialeRed TeamingSviluppo PayloadAttacco Avversario
GitHubd419h/iconjector

IconJector

Inietta DLL nel processo explorer usando le icone

Vedi Repository
415491 anno faRevisionato da Kitploit

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

IconJector

Questa è una tecnica di iniezione DLL in Esplora file di Windows che utilizza la finestra di dialogo per cambiare icona su Windows.

Può indurre gli utenti a caricare una DLL dannosa nel processo di Esplora file:

https://github.com/0xda568/IconJector/assets/61665703/06428402-764c-4279-b762-1d01082552c8

Inoltre, può essere utilizzato per iniettare una DLL da un altro processo in Esplora file:

https://github.com/0xda568/IconJector/assets/61665703/bbf53775-ad8d-422b-b186-663ff5074976

Come funziona?

Oltre a contenere codice, le DLL vengono utilizzate anche per archiviare risorse come le icone. Nella dimostrazione puoi vedere che le icone predefinite sono memorizzate in shell32.dll:

image

In realtà, nelle versioni moderne di Windows, sono memorizzate in shell32.dll.mui, ma vengono comunque visualizzate come shell32.dll

Affinché il processo di Esplora file possa visualizzare tutte le icone memorizzate nella DLL nella finestra di dialogo, deve caricare la DLL in memoria così che possa essere analizzata.

Inoltre, le DLL in Windows hanno la capacità di definire una funzione opzionale DllMain, che viene chiamata quando la DLL viene caricata o scaricata tramite le funzioni LoadLibrary e FreeLibrary.

root@kitploit:~
BOOL WINAPI DllMain(
    HINSTANCE hinstDLL,  // handle to DLL module
    DWORD fdwReason,     // reason for calling function
    LPVOID lpvReserved )  // reserved
{
    // Perform actions based on the reason for calling.
    switch( fdwReason ) 
    { 
        case DLL_PROCESS_ATTACH:
         // Initialize once for each new process.
         // Return FALSE to fail DLL load.
            break;

        case DLL_THREAD_ATTACH:
         // Do thread-specific initialization.
            break;

        case DLL_THREAD_DETACH:
         // Do thread-specific cleanup.
            break;

        case DLL_PROCESS_DETACH:
        
            if (lpvReserved != nullptr)
            {
                break; // do not do cleanup if process termination scenario
            }
            
         // Perform any necessary cleanup.
            break;
    }
    return TRUE;  // Successful DLL_PROCESS_ATTACH.
}

Ciò significa che se una DLL con una funzione DllMain viene caricata da Esplora file, il codice definito nella funzione DllMain verrà eseguito nella memoria di Esplora file.

Ed è esattamente ciò che viene fatto qui. In aggiunta, la DLL viene mascherata da icona:

L'icona

L'"icona" è in realtà un semplice file DLL con estensione .ico che apre l'app calcolatrice con una risorsa icona aggiunta utilizzando Resource Hacker. (L'icona può essere aggiunta anche in Visual Studio)

Ci sono alcune anomalie per quanto riguarda l'aspetto dell'icona nella visualizzazione delle cartelle. Ho testato questo su due diverse versioni di Windows 10 (la più recente e una più vecchia) e su Windows 11.

Windows 10

In entrambe le versioni di Windows 10, l'icona memorizzata all'interno della DLL non veniva visualizzata quando l'estensione veniva cambiata in .ico

dll win10

Nella versione più recente di Windows 10, tuttavia, ha funzionato finché non ho provato ad aprire l'"icona" nell'app Foto. Da allora, non sono più riuscito a riprodurlo.

icona applicata

Windows 11

Su Windows 11, la DLL mascherata veniva visualizzata come un'icona normale nella vista di Esplora file. Tuttavia, quando viene aperta nell'app Foto, viene visualizzato un errore.

https://github.com/0xda568/IconJector/assets/61665703/748c1012-1d2c-47dd-915f-860ffc6d1b05

Iniettare una DLL programmaticamente

Oltre a indurre un utente a caricare manualmente la DLL, un attaccante ha anche la possibilità di utilizzare questa tecnica per iniettare un file DLL nel processo di Esplora file programmaticamente:

Innanzitutto, viene creata una cartella nella directory temporanea e le proprietà della cartella vengono aperte utilizzando SHObjectProperties. Per recuperare l'handle della finestra indipendentemente dalla lingua di sistema, viene utilizzata EnumWindows con una funzione di callback che controlla il nome distinto della cartella in ogni finestra aperta.

funzione di callback

Tramite la pagina delle proprietà, viene richiamata la finestra di dialogo per cambiare icona, il cui handle viene anch'esso recuperato con EnumWindows. Infine, il percorso dell'icona viene cambiato in una DLL (che in questo caso ha estensione .ico), il che fa sì che Esplora file carichi la DLL dopo che viene premuto il pulsante OK.

Perché?

Questo è un modo molto furtivo per iniettare una DLL nel processo di Esplora file perché non usa la solita API di iniezione DLL. Produce due brevi popup, che comunque non sono troppo fastidiosi. Quindi può essere usato come tecnica di evasione AV da un attaccante per eseguire codice tramite il legittimo processo di Esplora file o per caricare un rootkit UMD.

Inoltre, diffondere DLL mascherate da file .ico può essere un vettore di attacco interessante.

Strumenti utilizzati

Per ottenere gli handle delle finestre giusti, ho usato Spy++, uno strumento che viene installato con Visual Studio.

spy++

Riconoscimenti

Molte grazie a Bill G. di Microsoft per la bellissima icona della cartella!

Grazie, tizio a caso su Internet, per la bellissima icona di iniezione!

Scarica lo strumento