Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
IconJector — DLLs über Icons in den Explorer-Prozess injizieren | Kitploit
Tools/GitHubGitHub/d419h/iconjector
ExploitationPost-ExploitationSocial EngineeringRed TeamingPayload-EntwicklungAdversarial-Angriff
GitHubd419h/iconjector

IconJector

DLLs über Icons in den Explorer-Prozess injizieren

Repository anzeigen
41549vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

IconJector

Dies ist eine Windows-Explorer-DLL-Injection-Technik, die den Dialog „Symbol ändern“ unter Windows verwendet.

Sie kann Benutzer dazu verleiten, eine bösartige DLL in ihren Explorer-Prozess zu laden:

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

Zusätzlich kann sie verwendet werden, um eine DLL aus einem anderen Prozess in den Explorer zu injizieren:

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

Wie funktioniert es?

Neben Code enthalten DLLs auch Ressourcen wie Symbole. In der Demonstration kannst du sehen, dass die Standardsymbole in shell32.dll gespeichert sind:

image

Eigentlich werden sie in modernen Windows-Versionen in shell32.dll.mui gespeichert, aber es wird trotzdem als shell32.dll angezeigt

Damit der Explorer-Prozess alle in der DLL gespeicherten Symbole im Dialog anzeigen kann, muss er die DLL in den Speicher laden, damit sie analysiert werden kann.

Darüber hinaus haben DLLs in Windows die Möglichkeit, eine optionale DllMain-Funktion zu definieren, die aufgerufen wird, wenn die DLL mithilfe der Funktionen LoadLibrary und FreeLibrary geladen oder entladen wird.

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.
}

Das bedeutet, dass der im DllMain definierte Code im Speicher des Explorers ausgeführt wird, wenn eine DLL mit einer DllMain-Funktion vom Explorer geladen wird.

Und genau das wird hier gemacht. Zusätzlich wird die DLL als Symbol getarnt:

Das Symbol

Das „Symbol“ ist eigentlich eine einfache DLL-Datei mit der Erweiterung .ico, die die Taschenrechner-App mit einer Symbolressource öffnet, die mit dem Resource Hacker hinzugefügt wurde. (Das Symbol kann auch in Visual Studio hinzugefügt werden)

Es gibt einige Anomalien beim Erscheinungsbild des Symbols in der Ordneransicht. Ich habe dies auf zwei verschiedenen Windows-10-Versionen (der neuesten und einer älteren) und unter Windows 11 getestet.

Windows 10

Auf beiden Windows-10-Versionen wurde das in der DLL gespeicherte Symbol nicht angezeigt, wenn die Erweiterung in .ico geändert wurde.

win10 dll

Auf der neuesten Windows-10-Version funktionierte es jedoch, bis ich versuchte, das „Symbol“ in der Foto-App zu öffnen. Seitdem konnte ich es nicht mehr reproduzieren.

new win10 icon

Windows 11

Unter Windows 11 wurde die getarnte DLL in der Explorer-Ansicht wie ein normales Symbol angezeigt. Wenn sie jedoch in der Foto-App geöffnet wird, wird ein Fehler angezeigt.

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

Eine DLL programmatisch injizieren

Neben dem Trick, einen Benutzer dazu zu bringen, die DLL manuell zu laden, hat ein Angreifer auch die Möglichkeit, diese Technik zu verwenden, um eine DLL-Datei programmatisch in den Explorer-Prozess zu injizieren:

Zunächst wird ein Ordner im Temp-Verzeichnis erstellt und die Eigenschaften des Ordners werden mit SHObjectProperties geöffnet. Um das Handle des Fensters unabhängig von der Systemsprache zu erhalten, wird EnumWindows mit einer Callback-Funktion verwendet, die in jedem offenen Fenster nach dem eindeutigen Ordnernamen sucht.

callback function

Über die Eigenschaftenseite wird der Dialog „Symbol ändern“ aufgerufen, dessen Handle ebenfalls mit EnumWindows abgerufen wird. Schließlich wird der Symbolpfad zu einer DLL geändert (die in diesem Fall die Erweiterung .ico hat), wodurch der Explorer die DLL lädt, nachdem die OK-Taste gedrückt wurde.

Warum?

Dies ist eine sehr heimliche Methode, um eine DLL in den Explorer-Prozess zu injizieren, da sie nicht die übliche DLL-Injection-API verwendet. Es erzeugt zwar zwei kurze Popups, die aber nicht allzu störend sind. Es kann also als AV-Evasion-Technik von einem Bedrohungsakteur verwendet werden, um Code über den legitimen Explorer-Prozess auszuführen oder ein UMD-Rootkit zu laden.

Auch die Verbreitung von DLLs, die als .ico-Dateien getarnt sind, könnte ein interessanter Angriffsvektor sein.

Verwendete Tools

Um die richtigen Fenster-Handles zu erhalten, habe ich Spy++ verwendet, ein Tool, das mit Visual Studio installiert wird.

spy++

Danksagungen

Vielen Dank an Bill G. von Microsoft für das schöne Ordnersymbol!

Danke, unbekannter Typ aus dem Internet, für das schöne Injektionssymbol!

Tool herunterladen