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
Clematis — PE to shellcode | Kitploit
Outils/GitHubGitHub/cblabresearch/clematis
Payload GenerationExploitationShellcodeRed TeamingShellcode GenerationPayload Development
GitHubcblabresearch/clematis

Clematis

PE to shellcode

Voir le dépôt
28353il y a 1 anVé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

Clematis

clematis

[ 中文 | English ]

🛠️ Un outil puissant pour convertir des fichiers PE (EXE/DLL) en shellcode indépendant de la position.

✨ Fonctionnalités clés

  • Prise en charge de la conversion de fichiers PE (EXE/DLL) en shellcode
  • Compatible avec les architectures x86 et x64
  • Prise en charge des arguments de ligne de commande
  • Algorithme de compression LZNT1 intégré pour réduire considérablement la taille du fichier de sortie
  • Obfuscation facultative pour une discrétion renforcée

📦 Installation

Dépendances

root@kitploit:~
pip install pefile lznt1

🚀 Utilisation

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

Paramètres

Exemples

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"

💪 Nos avantages

  • 🎯 Prise en charge de DOT NET
  • 🗜️ Prise en charge de la compression
  • 🎭 Prise en charge de l'obfuscation
  • 🔄 Prise en charge du passage de paramètres
  • 🚀 Prise en charge complète de golang
  • 💪 Le shellcode généré est puissant et stable

💡 Philosophie de conception

Dans certains environnements particuliers, nous pouvons rencontrer les défis suivants :
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!
Pour résoudre ces problèmes, nous avons développé 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

📝 Remarques

  • Assurez-vous de disposer des autorisations suffisantes pour lire les fichiers PE sources et écrire les fichiers cibles
  • La compression est recommandée lors de la conversion de fichiers volumineux
  • L'obfuscation peut ajouter une certaine surcharge de performance, mais offre une meilleure discrétion

⚠️ Problèmes connus

  • Certaines parties d'une application (exe) compilée avec mingw | gcc peuvent ne pas se charger, cela peut être causé par la relocation ? ( Non implémenté )
  • Accès mémoire illégal de DOT NET ( Corrigé )

🗓️ Fonctionnalités prévues

  • Options de chiffrement avancées pour une meilleure sécurité
  • Interface graphique pour une utilisation plus facile
  • Suivi en temps réel de la progression de la conversion
  • Traitement des ressources dans les PE
  • Capacités d'évasion améliorées, telles que [ProxyDll, Syscall, ...]

🔄 Mises à jour récentes

  • 2024-12-27

    • Prise en charge de DOT NET (x64 | x86)
  • 2024-12-28

    • Correction des crashs potentiels des programmes DOT NET (peut ne pas se produire)

    • Ajout de la gestion de IMAGE_DIRECTORY_ENTRY_EXCEPTION ( x64 )

    • API mises à jour pour utiliser NTAPI


⚠️ Avertissement

  • Nous ne prévoyons pas de publier cette mise à jour gratuitement, nous la mettrons dans notre cercle payant.
  • Ce projet reste disponible et gratuit, mais il pourrait ne plus être mis à jour à l'avenir, merci !

clematis


🔍 Comment ça fonctionne

Clematis convertit les fichiers PE en shellcode suivant les étapes ci-dessous :

  1. Lire et analyser le fichier PE cible
  2. Traiter les arguments de ligne de commande (le cas échéant)
  3. Compression LZNT1 facultative
  4. Traitement d'obfuscation facultatif
  5. Générer le shellcode final indépendant de la position
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]

🤝 Contribution

Les issues et les pull requests sont les bienvenues !

Télécharger l’outil
descriptiondéfautrequis
-f--fileChemin du fichier PE à convertirtrue
-o--outputNom du fichier de sortietrue
-g--garbleActiver l'obfuscationtruefalse
-c--compressActiver la compressiontruefalse
-p--parameterParamètres d'exécution à transmettre au fichier PEfalse
avantmaintenant
VirtualAllocNtAllocateVirtualMemory
VirtualProtectNtProtectVirtualMemory
VirtualFreeNtFreeVirtualMemory
LoadLibraryLdrLoadDll
GetProcAddressLdrGetProcedureAddress
WaitForMultipleObjectsNtWaitForMultipleObjects
CreateEventNtCreateEvent
CloseHandleNtClose
SignalObjectAndWaitNtSignalAndWaitForSingleObject
TerminateThreadNtTerminateThread
SuspendThreadNtSuspendThread
OpenThreadNtOpenThread
ResumeThreadNtResumeThread
GetContextThreadNtGetContextThread
SetContextThreadNtSetContextThread
...
  • 2025-1-1

    • Ajout de la sécurité des threads pour la gestion des listes de threads et des listes mémoire
    • Correction de certains problèmes fonctionnels
    • Suppression du traitement des paramètres dans le payload et remplacement par un patch
    • Prise en charge de upx
    • Ajout d'une vérification de l'architecture dans le payload pour vérifier si l'architecture correspond
    • Certaines implémentations ont été modifiées pour offrir une meilleure compatibilité