Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
eden — Un PoC UDRL per Cobalt Strike realizzato con Crystal Palace che combina la tecnica di streaming delle pagine di Raphael Mudge con un gate di chiamata modulare (Draugr) | Kitploit
Strumenti/GitHubGitHub/cobalt-strike/eden
Frameworks per Penetration TestingFramework di ExploitShellcodePost-ExploitApprendimento e FormazioneRed TeamingSviluppo Payload
GitHubcobalt-strike/eden

eden

Un PoC UDRL per Cobalt Strike realizzato con Crystal Palace che combina la tecnica di streaming delle pagine di Raphael Mudge con un gate di chiamata modulare (Draugr)

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

Eden

disegno

Eden loader è un PoC UDRL per Cobalt Strike costruito con Crystal Palace che combina la tecnica di page streaming di Raphael Mudge con un call gate modulare (attualmente una versione PIC del callgate BOF Sleepmask-VS Draugr).

L'obiettivo di Eden loader è:

  • Dimostrare la potenza di usare Crystal Palace per combinare (e riutilizzare) 'capabilities' per sviluppare rapidamente loader/tooling personalizzati
  • Servire come risorsa di esempio su cui altri possano costruire
  • Aiutare i professionisti della sicurezza a capire come funzionano gli UDRL (è completamente debuggabile)
  • Informare/stimolare la conversazione sulla sicurezza

Per maggiori informazioni su Eden loader, consulta il blog di accompagnamento per ulteriori dettagli.

Nota: Lo scopo di Eden è dimostrare l'idea di usare Crystal Palace per combinare diverse 'unità di esecuzione' (cioè capabilities) per creare loader personalizzati. Non è inteso come un loader 'evasivo' completo e quindi manca di alcune caratteristiche OPSEC di base per progettazione. Ad esempio, usa memoria RWX e non traccia/maschera la memoria heap di Beacon (e quindi è vulnerabile a firme YARA come questa).

Guida Rapida

Nota: Questa guida rapida presuppone che tu abbia scaricato/compilato Crystal Palace e completato i seguenti passaggi per configurare il tuo ambiente di sviluppo.

  1. Prima dovrai impostare la seguente configurazione Malleable C2:
stage {
    set sleep_mask "false";
}
  1. Apri un terminale WSL nella root del repository e compila Eden loader: make clean; make.
  2. Copia crystalpalace.jar nella directory del client Cobalt Strike.
  3. Carica eden.cna nel client Cobalt Strike.
  4. Alla prossima esportazione di un payload, Eden verrà applicato automaticamente. Puoi verificarlo controllando l'output nella console script:
[14:55:55] [*] Generating Payload: HTTP -- Type: HTTP -- Arch: x64 -- Exit Function: Thread -- System Call: None -- HTTP Library: wininet
[14:55:56] [EDEN] Parsing C:\Users\wb\Desktop\eden\eden.spec...
[14:55:56] [EDEN] Applying eden ldr spec...
[14:55:56] [EDEN] Payload Size: 387060 bytes
[14:55:56] [*] Using user modified reflective DLL! DLLName=resources/beacon.x64.rl0k.dll Arch=x64

Nota: Eden supporta Beacon HTTP(S), DNS e Pivot.

Guida al Debug

Una limitazione di Crystal Palace al momento del rilascio è che attualmente supporta solo file oggetto compilati con mingw. Se provi a usare un COFF compilato con MSVC o Clang, di solito otterrai errori di rilocazione. Questo può essere frustrante poiché mingw non supporta direttamente i file pdb e quindi può essere difficile eseguire il debug quando si scrivono tecniche Windows complesse. Tuttavia, puoi aggiungere l'opzione -g al tuo Makefile per incorporare informazioni di debug nelle build eseguibili. Ciò rende possibile scorrere il codice in WinDbg. Per maggiori informazioni su questo processo, si consiglia di leggere il seguente blog di Rastamouse.

Questo repository utilizza l'approccio sopra per costruire una build di debug di Draugr (draugr.x64.exe) e del codice di page streaming (guardexec.x64.exe) per impostazione predefinita. La build di debug di Draugr non ha dipendenze e quindi verrà compilata immediatamente, tuttavia se desideri scorrere/debuggare il codice di page streaming/hook IAT dovrai seguire i passaggi seguenti:

1. Esporta Beacon senza loader:

  • Carica debug/export_beacon_with_no_ldr.cna nel tuo client CS ed esporta un Beacon raw x64 (HTTP) senza stadi nella directory /eden/debug/. Questo esporterà una DLL Beacon senza un loader riflessivo che possiamo usare per mockare il punto di ingresso guardexec.
  • (In WSL) $ xxd -i ./beacon_x64.bin > debug_beacon.h

2. Esporta lo stub PIC di Draugr da Crystal Palace:

  • Per farlo, dovrai eseguire Crystal Palace da WSL tramite $ ./piclink /<path>/eden/debug/draugr.spec x64 /<path>/eden/debug/draugr.bin. Questo farà sì che Crystal Palace estragga solo lo stub PIC di Draugr che possiamo usare per mockare il punto di ingresso di guardexec.
  • (In WSL) $ xxd -i ./draugr.bin > debug_druagr.h

3. Inizia il debug in WinDbg

  • Ricostruisci Eden dopo aver eseguito i passaggi precedenti: make clean;make
  • Apri WinDbg e seleziona l'eseguibile da avviare (/eden/bin/draugr.exe o /eden/bin/guardexec.exe)
  • Seleziona Open source file e scegli il file .c pertinente (ad esempio guardexec.c se stai debuggando il codice di page streaming).
  • Ora puoi scorrere/impostare breakpoint sia per il binario Draugr autonomo di spoofing della call stack che per un Beacon live con hook IAT. Come avvertimento, il mascheramento non funzionerà correttamente in modalità debug poiché richiede che Crystal Palace inserisca una chiave durante la generazione del payload.

Nota: Non esiste un eseguibile di debug per il loader poiché non c'è un modo ovvio per far esportare a Crystal Palace payload di debug per cose come DLL crittografate e le loro chiavi. Quindi, diventa non banale passare buffer PIC 'crittografati' mockati.

Considerazioni sul Design

  1. Eden loader è principalmente inteso per dimostrare la potenza di Crystal Palace combinando diverse 'capabilities' per creare un loader innovativo. Questa idea potrebbe essere portata molto oltre quanto fatto in questo repo (ad esempio un loader PIC 'statico' completamente personalizzabile tramite moduli COFF (guardrail, callgate, offuscamento del sonno, ecc.)).

  2. Eden loader usa una versione PIC di Draugr esplicitamente in modo da poter spoofare ogni chiamata del ciclo di vita di Beacon (ad esempio le chiamate VirtualAlloc / LoadLibrary usate durante il processo di caricamento riflessivo). In alcuni casi, questo potrebbe essere eccessivo (ad esempio un EDR non si preoccupa di chiamate non supportate a LoadLibrary ecc.) nel qual caso potrebbe essere modificato per usare un equivalente PICO (=='BOF') di Draugr che è molto più semplice.

  3. Eden loader tenta deliberatamente di mantenere il 'Callgate' disaccoppiato dal loader. Questo è di proposito per la modularità, poiché l'idea è che si possano scambiare BeaconGate/callgate BOF. Quindi, il codice del callgate Draugr è tutto contenuto nel suo file oggetto. Sostituendolo con un'altra 'capability' si potrebbero cambiare drasticamente le TTP di Eden.

  4. Eden loader non utilizza le funzionalità più recenti di Crystal Palace per scelta. Ad esempio, mergelib può essere usato con la libreria condivisa di Crystal Palace, LibTCG. Tuttavia, nota che questo significa perdere la capacità di debuggare il codice.

Risoluzione dei Problemi

Scarica lo strumento