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
execute-assembly-pico — Un PICO per Crystal Palace che implementa l'hosting di CLR per eseguire un assembly .NET in memoria. | Kitploit
Strumenti/GitHubGitHub/ofasgard/execute-assembly-pico
ShellcodePost-ExploitPenetration TestingRed TeamingSviluppo Payload
GitHubofasgard/execute-assembly-pico

execute-assembly-pico

Un PICO per Crystal Palace che implementa l'hosting di CLR per eseguire un assembly .NET in memoria.

Vedi Repository
1421847 mesi 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

Execute Assembly PICO

Un PICO per Crystal Palace che implementa l'hosting nativo del CLR per eseguire un assembly .NET aggiunto in memoria, usando la stessa tecnica del generatore di shellcode donut. Questo ti permette di caricare strumenti .NET come Rubeus o Seatbelt da codice indipendente dalla posizione senza scriverli su disco.

Screenshot del PICO in azione, mentre esegue un assembly Seatbelt aggiunto

Compilazione

Servono MinGW GCC, l'utility zip e gli eseguibili CPL necessari per linkare il progetto. Modifica config.spec per specificare l'assembly .NET da linkare al progetto e gli argomenti della riga di comando da passare. Modifica Makefile per indicare la posizione di crystalpalace.jar.

Per compilare il solo PICO (come COFF), esegui make pico. Per compilare il runner di esempio e linkarlo con il PICO, esegui make runner.

Il runner di esempio viene scritto in out/runner.bin. La configurazione predefinita richiama un assembly Rubeus aggiunto per eseguire "asktgt" con alcune credenziali fittizie generiche quando lo esegui:

Screenshot del PICO in azione, mentre esegue un assembly Rubeus aggiunto

Uso del PICO

La firma dell'entrypoint del PICO è:

root@kitploit:~
HRESULT (*EXECUTE_ASSEMBLY_PICO)(char *assembly, size_t assembly_len, WCHAR *argv[], int argc);

I primi due argomenti devono contenere un puntatore a un assembly .NET grezzo e la sua dimensione. Gli altri due argomenti servono per passare parametri stringa all'assembly quando viene richiamato.

Acquisizione dell'output

Questo PICO si limita a richiamare l'assembly con gli argomenti forniti. Non tenta in alcun modo di acquisire l'output.

Se devi fornire input tramite STDIN o acquisire l'output da STDOUT, devi modificare il tuo loader per usare chiamate API WIN32 come CreatePipe() e SetStdHandle() e collegare i dispositivi di I/O standard del tuo processo a una pipe anonima. Poi puoi leggere e scrivere da essa come al solito.

Crediti

  • Raphael Mudge per Crystal Palace e LibTCG.
  • XPNSec per questo gist che mi ha aiutato a capire il processo di base dell'hosting del CLR.
  • TheWover per il generatore/loader Donut. Ho fatto ampio riferimento alla sua esecuzione di assembly in memoria e ho usato clr.h direttamente nel PICO.
Scarica lo strumento