Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ Shellcode loader with evasion capabilities written in Nim

This loader makes use of the AES encryption algorithm so in order to make it work, you need to encrypt your own shellcode. To do so you may use either `aes_encrypt.py` or `aes_encrypt.nim`. Both scripts will generate a random PSK and IV and it will take care of encrypting your shellcode so that you only have to modify the variables at the very top of the file.

Before you run your code, you need to make sure that you have nim and libraries installed on your machine. you can set up you enviroment by simply first running the requirements.sh to check or install nim on your linux machine then install libraries necessary for Nimbus to run perfectly.

```
bash requirements.sh
```

Encrypt your raw shellcode:

```sh
Expand Down
19 changes: 19 additions & 0 deletions requirements.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash
clear
echo -e '\033[0;32m' "++++++++++ INSTALLING NIM ++++++++++" '\033[0m'
echo " "
if [ ! -f /home/$USER/.nimble/bin/nim ]; then
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
sudo echo "export PATH="/home/$USER/.nimble/bin:$PATH"" >> ~/.zshrc
echo " "
echo -e '\033[0;32m' "++++ done +++++"'\033[0m'
else
echo -e '\033[0;32m' "+++++ you already have nim installed in /home/$USER/.nimble/bin/nim PATH ++++" '\033[0m'
fi

echo " "
echo -e '\033[0;32m' "+++++++++++ downloading the program requirements ++++++++++" '\033[0m'
tools=( winim ptr_math nimcrypto times random net psutil strformat GetSyscallStub)
#echo ${tools[*]}
for tools in ${tools[*]}; do nimble install $tools ; done