Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/cblabresearch/clematis
Генерация полезной нагрузкиЭксплуатацияШелл-кодRed TeamingГенерация ШеллкодаРазработка Полезной Нагрузки
GitHubcblabresearch/clematis

Clematis

PE в shellcode

Репозиторий
2835361 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Clematis

clematis

[ 中文 | English ]

🛠️ Мощный инструмент для преобразования PE-файлов (EXE/DLL) в позиционно-независимый шеллкод.

✨ Ключевые возможности

  • Поддержка преобразования PE-файлов (EXE/DLL) в шеллкод
  • Совместимость с архитектурами x86 и x64
  • Поддержка аргументов командной строки
  • Встроенный алгоритм сжатия LZNT1 для значительного уменьшения размера выходного файла
  • Необязательная обфускация для повышения скрытности

📦 Установка

Зависимости

root@kitploit:~
pip install pefile lznt1

🚀 Использование

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

Параметры

Примеры

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"

💪 Наши преимущества

  • 🎯 Поддержка DOT NET
  • 🗜️ Поддержка сжатия
  • 🎭 Поддержка обфускации
  • 🔄 Поддержка передачи параметров
  • 🚀 Полная поддержка golang
  • 💪 Генерируемый шеллкод мощен и стабилен

💡 Философия проектирования

В некоторых особых средах мы можем столкнуться со следующими проблемами:
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!
Чтобы решить эти проблемы, мы разработали 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

📝 Примечания

  • Убедитесь, что у вас достаточно прав для чтения исходных PE-файлов и записи целевых файлов
  • При преобразовании больших файлов рекомендуется сжатие
  • Обфускация может добавить некоторые накладные расходы на производительность, но обеспечивает лучшую скрытность

⚠️ Известные проблемы

  • Некоторые части приложения (exe), собранного с помощью mingw | gcc, могут не загружаться; возможно, это вызвано релокацией? (не реализовано)
  • Недопустимый доступ к памяти DOT NET (исправлено)

🗓️ Планируемые возможности

  • Расширенные параметры шифрования для лучшей безопасности
  • Графический интерфейс для более удобной работы
  • Мониторинг процесса преобразования в реальном времени
  • Обработка ресурсов в PE
  • Расширенные возможности обхода, такие как [ProxyDll, Syscall, ...]

🔄 Последние обновления

  • 2024-12-27

    • Поддержка DOT NET (x64 | x86)
  • 2024-12-28

    • Исправлены потенциальные сбои программ DOT NET (могут не возникать)

    • Добавлена обработка IMAGE_DIRECTORY_ENTRY_EXCEPTION (x64)

    • Обновлены API для использования NTAPI


⚠️ Предупреждение

  • Мы не планируем выпускать это обновление бесплатно; мы разместим его в нашем платном сообществе.
  • Этот проект остаётся доступным и бесплатным, но в будущем может не обновляться. Спасибо!

clematis


🔍 Как это работает

Clematis преобразует PE-файлы в шеллкод с помощью следующих шагов:

  1. Чтение и анализ целевого PE-файла
  2. Обработка аргументов командной строки (при наличии)
  3. Необязательное сжатие LZNT1
  4. Необязательная обфускация
  5. Генерация итогового позиционно-независимого шеллкода
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]

🤝 Вклад в проект

Приветствуются Issues и Pull Requests!

Скачать инструмент
описаниепо умолчаниюобязателен
-f--fileПуть к PE-файлу для преобразованияtrue
-o--outputИмя выходного файлаtrue
-g--garbleВключить обфускациюtruefalse
-c--compressВключить сжатиеtruefalse
-p--parameterПараметры выполнения, передаваемые PE-файлуfalse
былостало
VirtualAllocNtAllocateVirtualMemory
VirtualProtectNtProtectVirtualMemory
VirtualFreeNtFreeVirtualMemory
LoadLibraryLdrLoadDll
GetProcAddressLdrGetProcedureAddress
WaitForMultipleObjectsNtWaitForMultipleObjects
CreateEventNtCreateEvent
CloseHandleNtClose
SignalObjectAndWaitNtSignalAndWaitForSingleObject
TerminateThreadNtTerminateThread
SuspendThreadNtSuspendThread
OpenThreadNtOpenThread
ResumeThreadNtResumeThread
GetContextThreadNtGetContextThread
SetContextThreadNtSetContextThread
...
  • 2025-1-1

    • Добавлена потокобезопасность для управления списками потоков и списками памяти
    • Исправлены некоторые функциональные проблемы
    • Удалена обработка параметров в полезной нагрузке и заменена на патч
    • Поддержка upx
    • Добавлена проверка архитектуры в полезной нагрузке, чтобы убедиться в её соответствии
    • Некоторые реализации изменены для обеспечения лучшей совместимости