
Um implante C2 de primeiro estágio leve escrito em Nim (e Rust).
Por Cas van Cooten (@chvancooten), com agradecimentos especiais a algumas pessoas incríveis:
Kadir Yamamoto (@yamakadi), Furkan Göksel (@frkngksl) , Fabian Mosch (@S3cur3Th1sSh1t), Rafael Félix (@b1scoito), Guillaume Caillé (@OffenseTeacher), e muitos outros!
Se o NimPlant foi útil para você e/ou você gosta do meu trabalho em geral, seu apoio é muito bem-vindo:
inline-execute, shinject (usando invocação dinâmica), powershell em um runspace personalizado ou execute-assembly em threadUma versão moderna do Python3 é necessária para executar o Nimplant.
requirements.txt da pasta do servidor (pip3 install -r server/requirements.txt).choosenim, pois apt nem sempre tem a versão mais recente).cd client; nimble install -d).mingw para sua plataforma (brew install mingw-w64 ou apt install mingw-w64).rustup).rustup target add x86_64-pc-windows-gnu.~/.cargo/config.toml conforme Cargo.toml e use a cadeia de build nightly (rustup default nightly).Nota: Mesmo compilando no Windows, o target
x86_64-pc-windows-gnué recomendado. Ele resulta em binários ligeiramente maiores, mas parece ser mais estável quando o shellcode é gerado a partir da DLL resultante. Você pode modificar orust-toolchain.tomlpara alterar o target parax86_64-pc-windows-msvc, mas o shellcode gerado pode não funcionar corretamente em todos os casos.
Antes de usar o NimPlant, crie o arquivo de configuração config.toml. Recomenda-se copiar o config.toml.example e trabalhar a partir dele.
Uma visão geral das configurações é fornecida abaixo.