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
Clematis — PE to shellcode | Kitploit
Strumenti/GitHubGitHub/cblabresearch/clematis
Generazione di PayloadExploitShellcodeRed TeamingGenerazione di ShellcodeSviluppo Payload
GitHubcblabresearch/clematis

Clematis

PE to shellcode

Vedi Repository
2835361 anno 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

Clematis

clematis

[ 中文 | English ]

🛠️ Un potente strumento per convertire file PE (EXE/DLL) in shellcode indipendente dalla posizione.

✨ Caratteristiche principali

  • Supporto per la conversione di file PE (EXE/DLL) in shellcode
  • Compatibile con le architetture x86 e x64
  • Supporto degli argomenti da riga di comando
  • Algoritmo di compressione LZNT1 integrato per ridurre significativamente la dimensione del file di output
  • Offuscamento opzionale per una maggiore furtività

📦 Installazione

Dipendenze

root@kitploit:~
pip install pefile lznt1

🚀 Utilizzo

root@kitploit:~
python clematis.py -f <PE_file> -o <output_file> [-g <true/false>] [-c <true/false>] [-p <parameters>]

Parametri

Esempi

root@kitploit:~
# Show help information
python clematis.py -h

# Basic usage
python clematis.py -f target.exe -o output.bin

# Disable obfuscation and compression
python clematis.py -f target.exe -o output.bin -g false -c false

# Pass arguments to target program
python clematis.py -f target.exe -o output.bin -p arg1 arg2

python clematis.py -f target.exe -o output.bin -p "arg1 arg2"

💪 I nostri vantaggi

  • 🎯 Supporto per DOT NET
  • 🗜️ Supporto della compressione
  • 🎭 Supporto dell'offuscamento
  • 🔄 Supporto del passaggio di parametri
  • 🚀 Supporto completo per golang
  • 💪 Lo shellcode generato è potente e stabile

💡 Filosofia di progettazione

In alcuni ambienti particolari, potremmo incontrare le seguenti sfide:
root@kitploit:~
- 🛡️ Unable to perform process injection (AV/EDR/XDR blocking)
- 🔄 Executing golang programs in current process may cause blocking
- 💾 Memory leaks may occur after golang program execution
- ⚠️ Threads created by golang cannot be released!
Per risolvere questi problemi, abbiamo sviluppato clematis:
root@kitploit:~
- ✨ Convert golang programs to shellcode
- 🎯 Direct execution in current process
- ♻️ Automatic memory release after execution
- 🚀 Completely avoid golang-related memory issues
- 🔄 Reclaim all threads created by golang

📝 Note

  • Assicurati di avere i permessi necessari per leggere i file PE sorgente e scrivere i file di destinazione
  • La compressione è consigliata quando si convertono file di grandi dimensioni
  • L'offuscamento può aggiungere un certo overhead prestazionale, ma offre una maggiore furtività

⚠️ Problemi noti

  • Alcune parti di un'applicazione (exe) compilata con mingw | gcc potrebbero non essere caricate, potrebbe essere causato dalla rilocazione? ( Non implementato )
  • Accesso illegale alla memoria DOT NET ( Risolto )

🗓️ Funzionalità previste

  • Opzioni di crittografia avanzate per una migliore sicurezza
  • Interfaccia GUI per un utilizzo più semplice
  • Monitoraggio in tempo reale dell'avanzamento della conversione
  • Gestione delle risorse nel PE
  • Capacità di evasione potenziate, come [ProxyDll, Syscall, ...]

🔄 Aggiornamenti recenti

  • 2024-12-27

    • Supporto per DOT NET (x64 | x86)
  • 2024-12-28

    • Corretto potenziale crash dei programmi DOT NET (Potrebbe non verificarsi)

    • Aggiunta la gestione per IMAGE_DIRECTORY_ENTRY_EXCEPTION ( x64 )

    • API aggiornate per utilizzare NTAPI


⚠️ Avviso

  • Non abbiamo intenzione di rilasciare questo aggiornamento gratuitamente, lo inseriremo nel nostro circolo a pagamento.
  • Questo progetto continua a essere disponibile e gratuito, ma potrebbe non essere aggiornato in futuro, grazie!

clematis


🔍 Come funziona

Clematis converte i file PE in shellcode attraverso i seguenti passaggi:

  1. Legge e analizza il file PE di destinazione
  2. Elabora gli argomenti della riga di comando (se presenti)
  3. Compressione LZNT1 opzionale
  4. Elaborazione dell'offuscamento opzionale
  5. Genera lo shellcode finale indipendente dalla posizione
root@kitploit:~
flowchart TD
    A[START] --> B[Read PE file]
    B --> C[Parse PE structure]
    C --> D{Is there a command line argument?}
    D -- TRUE --> E[Process command line arguments]
    D -- FALSE --> F{Enable compression?}
    E --> F
    F -- TRUE --> G[LZNT1 compression]
    F -- FALSE --> H{Enable obfuscation?}
    G --> H
    H -- TRUE --> I[Execute obfuscation processing]
    H -- FALSE --> J[Generate shellcode]
    I --> J
    J --> K[Output result]
    K --> L[END]

🤝 Contributi

Issues e Pull Request sono benvenuti!

Scarica lo strumento
DescrizionePredefinitoObbligatorio
-f--filePercorso del file PE da convertiretrue
-o--outputNome del file di outputtrue
-g--garbleAbilita l'offuscamentotruefalse
-c--compressAbilita la compressionetruefalse
-p--parameterParametri di esecuzione da passare al file PEfalse
primaora
VirtualAllocNtAllocateVirtualMemory
VirtualProtectNtProtectVirtualMemory
VirtualFreeNtFreeVirtualMemory
LoadLibraryLdrLoadDll
GetProcAddressLdrGetProcedureAddress
WaitForMultipleObjectsNtWaitForMultipleObjects
CreateEventNtCreateEvent
CloseHandleNtClose
SignalObjectAndWaitNtSignalAndWaitForSingleObject
TerminateThreadNtTerminateThread
SuspendThreadNtSuspendThread
OpenThreadNtOpenThread
ResumeThreadNtResumeThread
GetContextThreadNtGetContextThread
SetContextThreadNtSetContextThread
...
  • 2025-1-1

    • Aggiunta la thread safety per la gestione delle liste di thread e di memoria
    • Corretti alcuni problemi funzionali
    • Rimossa l'elaborazione dei parametri nel payload e passaggio alla patch
    • Supporto per upx
    • Aggiunto il controllo dell'architettura nel payload per verificare che l'architettura corrisponda
    • Alcune implementazioni sono state modificate per offrire una migliore compatibilità