
Un implant C2 de premier stade léger écrit en Nim (et Rust).
Par Cas van Cooten (@chvancooten), avec un grand merci à des personnes formidables :
Kadir Yamamoto (@yamakadi), Furkan Göksel (@frkngksl) , Fabian Mosch (@S3cur3Th1sSh1t), Rafael Félix (@b1scoito), Guillaume Caillé (@OffenseTeacher), et bien d'autres !
Si NimPlant vous a été utile et/ou que vous appréciez mon travail en général, votre soutien est le bienvenu :
inline-execute, shinject (en utilisant l'invocation dynamique), powershell dans un runspace personnalisé, ou execute-assembly dans un threadUne version moderne de Python3 est nécessaire pour exécuter Nimplant.
requirements.txt à partir du dossier serveur (pip3 install -r server/requirements.txt).choosenim est recommandée, car apt n'a pas toujours la dernière version).cd client; nimble install -d).mingw pour votre plateforme (brew install mingw-w64 ou apt install mingw-w64).rustup est recommandée).rustup target add x86_64-pc-windows-gnu.~/.cargo/config.toml comme indiqué dans Cargo.toml et utilisez la chaîne de compilation nightly (rustup default nightly).Remarque : Même si vous compilez sous Windows, la cible
x86_64-pc-windows-gnuest recommandée. Elle produit des binaires légèrement plus volumineux, mais semble plus stable lorsque le shellcode est généré à partir de la DLL résultante. Vous pouvez modifierrust-toolchain.tomlpour changer la cible enx86_64-pc-windows-msvc, mais le shellcode généré peut ne pas fonctionner correctement dans tous les cas.
Avant d'utiliser NimPlant, créez le fichier de configuration config.toml. Il est recommandé de copier config.toml.example et de travailler à partir de celui-ci.
Un aperçu des paramètres est fourni ci-dessous.