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
Jormungandr — Jormungandr is a kernel implementation of a COFF loader, allowing kernel developers to load and execute their COFFs in the kernel. | Kitploit
Strumenti/GitHubGitHub/idov31/jormungandr
Post-ExploitationRed TeamingPayload DevelopmentAdversarial Attack
GitHubidov31/jormungandr

Jormungandr

Jormungandr is a kernel implementation of a COFF loader, allowing kernel developers to load and execute their COFFs in the kernel.

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

Jormungandr

image image

Jormungandr è un'implementazione kernel di un loader COFF, che consente agli sviluppatori di kernel di caricare ed eseguire i propri COFF nel kernel. L'unico tipo di COFF supportato è un COFF kernel x64 (ovvero un COFF che utilizza funzioni provenienti da NTOSKRNL o SSDT). Questo progetto non è supportato per l'esecuzione con VBS abilitato perché utilizza pool con permessi di esecuzione, ma dovrebbe funzionare su qualsiasi versione di Windows a partire da Windows 7.

Se non hai familiarità con COFF e il caricamento dei COFF, fai riferimento al post del blog di TrustedSec sui loader COFF.

Utilizzo di base

Per comunicare con il driver, puoi utilizzare e compilare il file example con CMake. Questo è un esempio dell'utilizzo più basilare:

root@kitploit:~
int main() {
    HANDLE hDrv = CreateFile(DRIVER_NAME, GENERIC_WRITE | GENERIC_READ, 0, nullptr, OPEN_EXISTING, 0, nullptr);

    // ...

    BOOL result = WriteFile(hDrv, &data, sizeof(data), &bytesWritten, NULL);

    // ...
}

Per eseguire l'esempio esistente, tutto ciò che devi fare è creare il tuo COFF oppure usare l'esempio:

root@kitploit:~
JormungandrExample.exe example.out

example

Scrivere COFF per il kernel

Per scrivere un COFF kernel, crea un nuovo file C e importa le funzioni che desideri come segue:

root@kitploit:~
DECLSPEC_IMPORT <FUNCTION_RETURN_TYPE> __cdecl <LIBRARY>$<FUNCTION_NAME>(<PARAMETERS>);

Sostituisci <FUNCTION_RETURN_TYPE> con il tipo di ritorno della funzione che desideri; <LIBRARY> può essere ntoskrnl o ntdll; il resto è la firma della funzione. Dopo aver importato la funzione, puoi usarla come sei abituato a fare quando scrivi codice.

Per compilare il COFF, usa mingw con il seguente comando:

root@kitploit:~
x86_64-w64-mingw32-gcc -c example.c -o example.out

Configurazione

Compilazione del client

Per compilare il client, devi installare CMake e Visual Studio 2022 e poi eseguire:

root@kitploit:~
cd <JORMUNGANDR PROJECT DIRECTORY>/Example
mkdir build
cd build
cmake ..
cmake --build .

Compilazione del driver

Per compilare il progetto, avrai bisogno dei seguenti strumenti:

  • Visual Studio 2022
  • Windows Driver Kit

Clona il repository e compila il driver.

Test

Per testarlo nel tuo ambiente di test, esegui questi comandi con cmd elevato:

root@kitploit:~
bcdedit /set testsigning on

Dopo il riavvio, crea un servizio ed esegui il driver:

root@kitploit:~
sc create nidhogg type= kernel binPath= C:\Path\To\Driver\Nidhogg.sys
sc start nidhogg

Debug

Per eseguire il debug del driver nel tuo ambiente di test, esegui questo comando con cmd elevato e riavvia il computer:

root@kitploit:~
bcdedit /debug on

Dopo il riavvio, puoi vedere i messaggi di debug in strumenti come DebugView.

Risorse

  • TrustedSec's COFFLoader

Contributi

Un grande ringraziamento a tutte le persone che hanno contribuito a questo progetto:

  • BlackOfWorld
Scarica lo strumento