
Легковесный имплант первого этапа C2, написанный на Nim (и Rust).
Автор: Кас ван Кутен (@chvancooten), с особыми благодарностями некоторым замечательным людям:
Кадир Ямамото (@yamakadi), Фуркан Гёксель (@frkngksl), Фабиан Мош (@S3cur3Th1sSh1t), Рафаэль Феликс (@b1scoito), Гийом Кайе (@OffenseTeacher) и многие другие!
Если NimPlant оказался вам полезен и/или вам нравится моя работа в целом, ваша поддержка приветствуется:
inline-execute, shinject (с использованием динамического вызова), powershell в кастомном ранспейсе или execute-assembly внутри потокаДля запуска Nimplant требуется современная версия Python3.
requirements.txt из папки сервера (pip3 install -r server/requirements.txt).choosenim, так как apt не всегда содержит последнюю версию).cd client; nimble install -d).mingw для вашей платформы (brew install mingw-w64 или apt install mingw-w64).rustup).rustup target add x86_64-pc-windows-gnu.~/.cargo/config.toml в соответствии с Cargo.toml и используйте ночную сборочную цепочку (rustup default nightly).Примечание: Даже при компиляции в Windows рекомендуется использовать target
x86_64-pc-windows-gnu. Это приводит к немного большим бинарникам, но кажется более стабильным, когда из результирующей DLL генерируется шелл-код. Вы можете изменитьrust-toolchain.toml, чтобы изменить target наx86_64-pc-windows-msvc, но сгенерированный шелл-код может работать некорректно во всех случаях.
Перед использованием NimPlant создайте файл конфигурации config.toml. Рекомендуется скопировать config.toml.example и работать от него.
Ниже приведён обзор настроек.