s0lst1c3 / dropengine

DropEngine provides a malleable framework for creating shellcode runners, allowing operators to choose from a selection of components and combine them to create highly sophisticated payloads within seconds.
GNU General Public License v3.0
206 stars 28 forks source link

Shellcode not getting selected #10

Closed chr0n1k closed 3 years ago

chr0n1k commented 3 years ago

I generated a raw shellcode using msfvenom and saved it as shell.bin. When I run python dropengine.py with the general configuration as per the Quick Start Guide I do not get an output file. Here is the command I ran:

python dropengine.py --interface csharp_runner_interface \ --crypter crypter_aes \ --decrypter decrypter_csharp_rijndael_aes \ --ekey ekey_static \ --runner msbuild_csharp_runner \ --dkey dkey_csharp_static \ --executor executor_csharp_virtual_alloc_thread \ --mutator mutator_random_string \ --shellcode shell.bin \ -o payload.csproj

I ran it with debug mode as well and noticed that shellcode shows as null:

python dropengine.py --interface csharp_runner_interface --crypter crypter_aes --decrypter decrypter_csharp_rijndael_aes --ekey ekey_static --runner msbuild_csharp_runner --dkey dkey_csharp_static --executor executor_csharp_virtual_alloc_thread --mutator mutator_random_string --shellcode /home/Tools/Active\ Directory/dropengine/shell.bin -o payload.csproj --debug { "crypter": {}, "decrypter": {}, "dkeys": [], "ekeys": [], "executor": {}, "interface": {}, "master": { "build": false, "compatible": false, "crypter": "crypter_aes", "debug": true, "decrypter": "decrypter_csharp_rijndael_aes", "dkeys": [ "dkey_csharp_static" ], "ekeys": [ "ekey_static" ], "executor": "executor_csharp_virtual_alloc_thread", "interface": "csharp_runner_interface", "list": null, "mutator": "mutator_random_string", "output_file": "payload.csproj", "postmodules": [], "premodules": [], "print_help": false, "runner": "msbuild_csharp_runner", "shellcode": null, "validate_modules": false }, "mutator": {}, "postmodules": [], "premodules": [], "runner": {} }

s0lst1c3 commented 3 years ago

Try adding the --build flag as well (docs were a couple of days out of date)

chr0n1k commented 3 years ago

Awesome..it worked. Also noted that the path to shellcode is now --input-file.

s0lst1c3 commented 3 years ago

Awesome, glad to hear it. For future reference, I added the --shellcode flag as an alias for --input-file so that people can continue to use it. Should make it a bit less confusing.