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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/icyguider/nimcrypt2
Оборонительные ИнструментыИнструменты шифрования/дешифрованияГенерация полезной нагрузкиЭксплуатацияШелл-кодАнализ Бинарных ФайловRed TeamingГенерация ШеллкодаРазработка Полезной Нагрузки
GitHubicyguider/nimcrypt2

Nimcrypt2

.NET, PE и сырой шеллкод — упаковщик/загрузчик, написанный на Nim

8241294 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Nimcrypt2

Nimcrypt2 — это очередной PE-упаковщик/загрузчик, предназначенный для обхода AV/EDR. Это улучшение моего оригинального проекта Nimcrypt, основные улучшения включают использование прямых системных вызовов и возможность загружать обычные PE-файлы, а также сырой шелл-код.

Прежде чем продолжить, я должен отметить тех, кто проделал ОГРОМНУЮ часть работы и исследований, от которых зависит этот проект. Прежде всего, я благодарю @byt3bl33d3r за его репозиторий Offensive Nim и @ShitSecure за все фрагменты кода, которые он опубликовал. Именно из этого была создана оригинальная версия этого инструмента, и текущая версия не отличается. В частности, новая функциональность загрузки PE, используемая в этом инструменте, является просто реализацией недавно выпущенного кода ShitSecure Nim-RunPE. По состоянию на 14.03.22 этот код также использует его GetSyscallStub для динамического использования системных вызовов. Я настоятельно рекомендую спонсировать его для доступа к его собственному Nim PE Packer, который, несомненно, является гораздо лучшей и более функциональной версией этого.

Кроме того, я хотел бы поблагодарить @ajpc500 за его проект NimlineWhispers2, который этот инструмент использует для прямых системных вызовов. Не могу не подчеркнуть, что этот проект — просто объединение публичных работ вышеупомянутых авторов, поэтому вся заслуга принадлежит им.

root@kitploit:~
                      ___                                           
                   .-'   `'.                                        
                  /         \                                       
                  |         ;                                       
                  |         |           ___.--,                     
         _.._     |0) ~ (0) |    _.---'`__.-( (_.                   
  __.--'`_.. '.__.\    '--. \_.-' ,.--'`     `""`                   
 ( ,.--'`   ',__ /./;   ;, '.__.'`    __                            
 _`) )  .---.__.' / |   |\   \__..--""  ""'--.,_                    
`---' .'.''-._.-'`_./  /\ '.  \ _.-~~~````~~~-._`-.__.'             
      | |  .' _.-' |  |  \  \  '.               `~---`              
       \ \/ .'     \  \   '. '-._)                                  
        \/ /        \  \    `=.__`~-.   Nimcrypt v2               
   jgs  / /\         `) )    / / `"".`\                             
  , _.-'.'\ \        / /    ( (     / /  3-in-1 C#, PE, & Raw Shellcode Loader
   `--~`   ) )    .-'.'      '.'.  | (                              
          (/`    ( (`          ) )  '-;                              
           `      '-;         (-'                                   

Nimcrypt v 2.0

Usage:
  nimcrypt -f file_to_load -t csharp/raw/pe [-o <output>] [-p <process>] [-n] [-u] [-s] [-e] [-g] [-l] [-v] [--no-ppid-spoof]
  nimcrypt (-h | --help)

Options:
  -h --help     Показать этот экран.
  --version     Показать версию.
  -f --file filename     Файл для загрузки
  -t --type filetype     Тип файла (csharp, raw или pe)
  -p --process process   Имя процесса для внедрения шелл-кода
  -o --output filename   Имя файла для скомпилированного exe
  -u --unhook            Снять хуки с ntdll.dll
  -v --verbose           Включить подробные сообщения во время выполнения
  -e --encrypt-strings   Шифровать строки с помощью модуля strenc
  -g --get-syscallstub   Использовать GetSyscallStub вместо NimlineWhispers2
  -l --llvm-obfuscator   Использовать Obfuscator-LLVM для компиляции бинарного файла
  -n --no-randomization  Отключить рандомизацию имен системных вызовов
  -s --no-sandbox        Отключить проверки песочницы
  --no-ppid-spoof        Отключить подмену PPID

Возможности:

  • Выполнение шелл-кода через NtQueueApcThread с подменой PPID и блокировкой сторонних DLL
  • NimlineWhispers2 и GetSyscallStub для использования системных вызовов
  • Рандомизация имен системных вызовов
  • Возможность загрузки .NET и обычных PE-файлов
  • AES-шифрование с динамической генерацией ключа
  • Совместимость с LLVM-Obfuscator
  • Шифрование строк
  • Обход песочницы

Протестировано и подтверждено работающим на:

  • Windows 11 (10.0.22000)
  • Windows 10 21H2 (10.0.19044)
  • Windows 10 21H1 (10.0.19043)
  • Windows 10 20H2 (10.0.19042)
  • Windows 10 19H2 (10.0.18363)
  • Windows Server 2019 (10.0.17763)

Установка/Зависимости:

Nimcrypt2 предназначен для использования на Linux-системах с установленным Nim. Перед установкой Nim убедитесь, что у вас установлены следующие пакеты через ваш менеджер пакетов:

root@kitploit:~
sudo apt install gcc mingw-w64 xz-utils git

Для установки Nim я предпочитаю использовать choosenim следующим образом:

root@kitploit:~
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
echo "export PATH=$HOME/.nimble/bin:$PATH" >> ~/.bashrc
export PATH=$HOME/.nimble/bin:$PATH

Nimcrypt2 также зависит от нескольких пакетов, которые можно установить через Nimble. Это можно сделать так:

root@kitploit:~
nimble install winim nimcrypto docopt ptr_math strenc

После установки всех зависимостей Nimcrypt2 можно скомпилировать следующим образом:

root@kitploit:~
nim c -d=release --cc:gcc --embedsrc=on --hints=on --app=console --cpu=amd64 --out=nimcrypt nimcrypt.nim

ОПЦИОНАЛЬНО: Чтобы использовать флаг Obfuscator-LLVM, он должен быть установлен в вашей системе вместе с wclang. Это оказалось немного сложным, но с небольшим упорством вы сможете это сделать. Вот краткая пошаговая инструкция, которая сработала на моей системе Kali Linux:

  1. Клонируйте нужную версию Obfuscator-LLVM и соберите её
  2. После компиляции сделайте резервную копию существующей версии clang и переместите новую версию clang от Obfuscator-LLVM в /usr/bin/
  3. Установите wclang и добавьте его бинарные файлы в PATH
  4. Сделайте резервную копию существующих библиотечных файлов clang, скопируйте новые включенные библиотеки Obfuscator-LLVM в /usr/lib/clang/OLD_VERSION/

Кроме того, вы должны добавить следующие строки в ваш файл nim.cfg, чтобы указать nim на ваши бинарные файлы wclang:

root@kitploit:~
amd64.windows.clang.exe = "x86_64-w64-mingw32-clang"
amd64.windows.clang.linkerexe = "x86_64-w64-mingw32-clang"
amd64.windows.clang.cpp.exe = "x86_64-w64-mingw32-clang++"
amd64.windows.clang.cpp.linkerexe = "x86_64-w64-mingw32-clang++"

Вероятно, есть лучший способ сделать это, но это сработало у меня. Если возникнут проблемы, просто продолжайте попытки и убедитесь, что при запуске x86_64-w64-mingw32-clang -v в выводе отображается "Obfuscator-LLVM". Также убедитесь, что MinGW использует библиотечные файлы Obfuscator-LLVM: в противном случае Nim выдаст ошибку.

Известные ошибки:

  • Как описано ShitSecure, если релизная версия mimikatz загружается через PE-загрузчик, она по какой-то неизвестной причине не принимает команды. Использование версии mimikatz, скомпилированной из исходников, решает эту проблему.

Приветствия и благодарности:

  • @byt3bl33d3r за их проект Offensive Nim: https://github.com/byt3bl33d3r/OffensiveNim
  • @ShitSecure за их проект Nim-RunPE: https://github.com/S3cur3Th1sSh1t/Nim-RunPE
  • @ShitSecure снова за их проект GetSyscallStub: https://github.com/S3cur3Th1sSh1t/NimGetSyscallStub
  • @ajpc500 за их проект NimlineWhispers2: https://github.com/ajpc500/NimlineWhispers2
  • @Snovvcrash за их проект NimHollow: https://github.com/snovvcrash/NimHollow
Скачать инструмент