A BOF that runs unmanaged PEs inline
This is a Beacon Object File (BOF) that executes unmanaged PEs inline and retrieves their output without allocating a console (i.e. spawning conhost.exe).
…Binaries are automatically encrypted and stored in memory after they are ran the first time. This means that you do not need to constantly send the binary over the wire.
To execute a binary that has already been saved in memory, simply specify its name instead of its entire path. So, instead of running:
beacon> noconsolation --local C:\windows\system32\cmd.exe /c ipconfigYou would run:
beacon> noconsolation cmd.exe /c ipconfigTo list all binaries loaded in memory, run --list-pes.
If you are done with some binary and wish to unload it, run --unload-pe mimikatz.exe.
Finally, if you want to run a binary without it being automatically loaded in memory, run it with --dont-save.
You can avoid all image load events by custom loading all the PE's depdendencies:
beacon> noconsolation --load-dependencies --link-to-peb /tmp/malware.exeAfter execution is completed, the PE and its dependencies will be offloaded automatically.
DLLs that use Thread Local Storage are not supported.
No open issues yet, or sync has not completed.