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

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

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

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

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

Категории

Все категории
Loading categories
NimSyscallPacker — Упаковывает сборки C#, PE-файлы или shellcode в зашифрованные Nim-бинарные файлы с расширенными функциями обхода, включая обход AMSI/ETW, обнаружение песочницы и множественные техники внедрения для операций red team. | Kitploit
Инструменты/GitHubGitHub/s3cur3th1ssh1t/nimsyscallpacker
Повышение привилегийГенерация полезной нагрузкиМеханизмы персистентностиЭксплуатацияЛатеральное перемещениеШелл-кодПост-эксплуатацияТестирование на ПроникновениеRed Teaming

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Эксплуатация Бинарных Файлов
GitHubs3cur3th1ssh1t/nimsyscallpacker

NimSyscallPacker

Упаковывает сборки C#, PE-файлы или shellcode в зашифрованные Nim-бинарные файлы с расширенными функциями обхода, включая обход AMSI/ETW, обнаружение песочницы и множественные техники внедрения для операций red team.

Репозиторий
20733791 месяц назадПроверено Kitploit

NimSyscallPacker / Loader

Этот инструмент был опубликован после выступления на x33fcon. Он был моим основным личным проектом по программированию с 2021 по 2024 год и теперь считается устаревшим и больше не поддерживается. Не ждите исправлений ошибок или обновлений функций с моей стороны. Вместо этого сейчас поддерживается RustPack — коммерческая и контролируемая версия для проверенных команд Red Team и пентестеров, которая обладает ещё большим функционалом, но при этом гораздо безопаснее с точки зрения OPSec.

Этот упаковщик можно использовать для упаковки любой C# сборки, PE-файла или shellcode в бинарный файл Nim. Он зашифрует целевой пэйлоад, сформирует соответствующий исходный код Nim в соответствии с заданными аргументами и скомпилирует его в бинарный файл Nim.

Настройка

Видео — если вы предпочитаете такой формат — можно найти здесь: https://youtu.be/0PwIn3Nxmgo

Windows

Для корректной работы Nim/Nimble требуется установленный Git.

Протестировано с Nim 2.2.10 и набором MinGW-w64 GCC 11.1.0, ссылка на который есть на странице загрузки Nim для Windows. Новые версии Nim по умолчанию устанавливают высокий базовый адрес PE-образа в Windows, что ломает статические сборки с ошибкой relocation truncated to fit: R_X86_64_32S against .bss; теперь упаковщик принудительно использует -Wl,--image-base=0x10000, чтобы статические сборки работали, поэтому подойдёт любая сборка MinGW-w64 11.x. Поддерживается только x64 — x86/--x86/--wow64 не поддерживаются.

  1. Скачайте Nim и MinGW (x86_64):
    • nim-2.2.10_x64.zip
    • mingw64.7z (ссылка со страницы установки Nim для Windows)
  2. Распакуйте Nim с помощью 7-Zip (не используйте встроенный Expand-Archive Windows — он молча пропускает файл lib\system.nim из-за конфликта регистра в имени с папкой lib\system\). В архиве Nim есть bin\7zG.exe, с помощью которого можно распаковать MinGW.
  3. Добавьте <nim>\bin и <mingw64>\bin в %PATH%. Выйдите из системы и войдите снова (или перезапустите оболочку), чтобы изменения вступили в силу.
  4. Установите зависимости nimble: ```batch nimble install [email protected] docopt ptr_math winim https://github.com/S3cur3Th1sSh1t/nim-strenc/

Версии, заведомо работающие (по состоянию на Nim 2.2.10): nimcrypto 0.6.0, docopt 0.7.1, ptr_math 0.3.0, winim 3.9.4, nim-strenc (HEAD — у репозитория нет тегированных релизов).

  1. Отключите отправку образцов в Защитник Windows (иначе Packer откажется работать): ```powershell Set-MpPreference -SubmitSamplesConsent 2
  2. Скомпилируйте Packer: ```batch nim c NimSyscallLoader.nim

Если вы хотите использовать LLVM-обфускатор в Windows, используйте встроенную модифицированную версию denim из denim. Установите её через denim\denim.exe setup.

Linux

Например, в Kali / Debian. Пакер исторически требовал nim 1.6.8 + mingw-64 8.0.0-1; с включённым теперь обходным путём статической компоновки --image-base=0x10000 должны работать и более новые цепочки инструментов. Сборка для Windows активно тестируется — Linux поддерживается по мере возможностей.```bash apt-get install nim mingw-w64 nimble install [email protected] docopt ptr_math winim https://github.com/S3cur3Th1sSh1t/nim-strenc/

Если `--hellsgate` не собирается на более новой mingw-w64, откатитесь до `mingw-64=8.0.0-1`.

Установите donut через `pip3 install donut-shellcode`. `denim` нельзя использовать из Unix, поэтому обфускация через LLVM здесь невозможна. То же самое для Callobfuscator.

Скомпилируйте Packer через `nim c -d:noRES NimSyscallLoader.nim`. Готово к использованию. Если не использовать -d:noRES, может возникнуть следующая ошибка:```
/username/.nimble/pkgs/winim-3.7.1/winim/lib/winim64.res:(.rsrc+0x48): dangerous relocation: collect2: fatal error: ld terminated with signal 11 [Speicherzugriffsfehler]
compilation terminated.

Настройка Docker

Требуется собрать один раз (первый раз занимает некоторое время, последующие сборки будут кэшироваться).

sudo docker build . -t nimsyscallloader

Затем запустите упаковщик с помощью:

sudo docker run -v $(pwd):/shared nimsyscallloader <АРГУМЕНТЫ> --output=/shared/packed.exe где $(pwd) — это каталог на хост-системе, который предоставляется контейнеру, т.е. каталог, где должны находиться файлы для шифрования и куда будет сохранён результат.

Сторонние зависимости

Если вы хотите использовать сертификаты подписи кода через LimeLighter, вам также потребуется установить следующие компоненты и добавить их в %PATH%: openssl - (для Windows), например, отсюда osslsigncode - например, отсюда

Поддержка сторонних инструментов

Я не буду оказывать поддержку по проблемам в сторонних инструментах, которые здесь используются. Пожалуйста, открывайте issue в соответствующих репозиториях, если у вас возникли проблемы с ними. Используемые сторонние инструменты:

  • Donut
  • Denim
  • LimeLighter
  • Callobfuscator
  • NimlineWhispers3
  • Koppeling

Вы можете использовать мои предварительно скомпилированные бинарники или, конечно, скомпилировать их самостоятельно по ссылкам выше.

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

Видео — если вы предпочитаете его — можно найти здесь: https://youtu.be/UHaIgdzqHDA

Я также добавил короткие видео для некоторых функций, так как это было запрошено:

Caro-Kann:

https://youtu.be/etAFZrIyb44

Функция ThreadlessInject:

https://youtu.be/eRS-4AywrHI

Функция Module Stomping:

https://youtu.be/l-TmqqQ49UI

Функция shellcodeURL:

https://youtu.be/OYxcL4D7K0c

Функция stegoFile:

https://youtu.be/Vr58_R4rYDA

Функция shellcodeFile:

https://youtu.be/Oj55uilxEF4

Ruy Lopez для локальных процессов

https://youtu.be/8fBkRo1zlIM

Формат вывода shellcode

https://youtu.be/ZTiZA2fg3WM

Функция вывода на ассемблере

https://youtu.be/TDEJ-U18UIk

И я сделал публичное видео, демонстрирующее, как настроить технику ThreadlessInject для других процессов, отличных от стандартного:

https://youtu.be/BYuAUYQcI-E``` NimSyscall_Loader v 2.2

Скачать инструмент