Weaponization
Hinder analysis
Stage either the shellcode, the decryption key or both
Lets you prevent execution
Can be used to "kill" a stager effectively
Maybe manual approval for staging and execution
Environmental keying where possible
Control where your payload can land - not sandboxes
Set kill dates - end of engagement or whenever you will no longer need them. Might prevent it from executing in automated sandboxes if discovered in the future, also good practice to not leave live malware on client networks
Hinder detection and response
Make each disk artifact unique - polymorphic encoders e.g. SGN and randomize certain elements between binaries e.g. decryption key, filename, shellcode padding etc.
Consider automating this process
Can be linked to staging and phishing infra
Prevents IR from just searching for the hash/filename of an artifact across the entire organization
If you can, sign your binaries. If not, try to sideload into a well known but unsigned process
Sideloading unsigned DLLs into signed processes might trigger an alert on unsigned DLL load
Querying for unsigned binaries is a common practice
Don't sideload into System32 built-ins
These are well known
Their intended DLL load location is usually C:\Windows\System32 - yours will stick out
MDE/ATP has built-in detections to catch these
Instead consider sideloading into less common apps you mind find on the box, or bringing your own sideload target
Last updated