Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
execute-assembly-pico — Un PICO pour Crystal Palace qui implémente l'hébergement CLR pour exécuter un assembly .NET en mémoire. | Kitploit
Outils/GitHubGitHub/ofasgard/execute-assembly-pico
ShellcodePost-ExploitationTests d'IntrusionRed TeamingDéveloppement de Charges Utiles
GitHubofasgard/execute-assembly-pico

execute-assembly-pico

Un PICO pour Crystal Palace qui implémente l'hébergement CLR pour exécuter un assembly .NET en mémoire.

Voir le dépôt
142184il y a 7 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

PICO d'exécution d'assembly

Un PICO pour Crystal Palace qui implémente l'hébergement CLR natif pour exécuter en mémoire un assembly .NET ajouté, en utilisant la même technique que le générateur de shellcode donut. Cela vous permet de charger des outils .NET comme Rubeus ou Seatbelt à partir de code indépendant de la position sans les déposer sur le disque.

Capture d'écran du PICO en action, exécutant un assembly Seatbelt ajouté

Compilation

Vous aurez besoin de MinGW GCC, de l'utilitaire zip et des exécutables CPL nécessaires pour lier le projet. Modifiez config.spec pour spécifier l'assembly .NET que vous voulez lier au projet et les arguments de ligne de commande que vous souhaitez passer. Modifiez Makefile pour spécifier l'emplacement de crystalpalace.jar.

Pour compiler le PICO seul (en tant que COFF), exécutez make pico. Pour compiler l'exécuteur d'exemple et le lier au PICO, exécutez make runner.

L'exécuteur d'exemple est écrit dans out/runner.bin. La configuration par défaut invoque un assembly Rubeus ajouté pour exécuter "asktgt" avec des identifiants factices génériques lorsque vous l'exécutez :

Capture d'écran du PICO en action, exécutant un assembly Rubeus ajouté

Utilisation du PICO

La signature du point d'entrée du PICO est :

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

Les deux premiers arguments doivent contenir un pointeur vers un assembly .NET brut et sa taille. Les deux seconds arguments servent à passer des paramètres de chaîne à l'assembly lors de son invocation.

Capture de la sortie

Ce PICO se contente d'invoquer l'assembly avec les arguments que vous avez fournis. Il ne tente pas de capturer la sortie.

Si vous devez fournir une entrée via STDIN ou capturer la sortie de STDOUT, vous devez modifier votre chargeur pour utiliser des appels d'API WIN32 comme CreatePipe() et SetStdHandle() et connecter les périphériques d'E/S standard de votre processus à un tube anonyme. Ensuite, vous pouvez lire et écrire comme d'habitude.

Crédits

  • Raphael Mudge pour Crystal Palace et LibTCG.
  • XPNSec pour ce gist qui m'a aidé à comprendre le processus de base de l'hébergement CLR.
  • TheWover pour le générateur/chargeur Donut. Je me suis largement référé à son exécution d'assembly en mémoire et j'ai utilisé clr.h directement dans le PICO.
Télécharger l’outil