
Executa shellcode independente de posição de um zip criptografado
Executa shellcode independente de posição a partir de um zip criptografado Obtenha código PIC da sua montagem usando donut ou metasploit ou formato RAW do cobaltstrike.
Compacte o arquivo .bin e criptografe-o com uma senha; este assembly descriptografa a entrada zip na memória e a executa usando a API de injeção D/Invokes.
Capaz de injetar em um processo em execução, ou criando um novo processo primeiro e injetando no processo recém-criado. A injeção em si mesma deveria ser teoricamente possível, mas causa travamentos. Como injetar em si mesmo não é realmente o que eu queria alcançar aqui, não tentei consertar esse problema.
Testado ao colocar o zip criptografado no disco, mas provavelmente também poderia funcionar inteiramente em memória com algumas modificações. Suporta apenas payloads PIC, tentei criar uma variante runPE, mas falhei miseravelmente :)
___ _ ____ _ ___
/ __>| |_ ___ _ _ ___ |_ /<_> ___ | . \ _ _ ._ _ ._ _ ___ _ _
\__ \| . |<_> || '_>| . \ / / | || . \| /| | || ' || ' |/ ._>| '_>
<___/|_|_|<___||_| | _//___||_|| _/|_\_\`___||_|_||_|_|\___.|_|
|_| |_|
An Encrypted zip on your computer? what could possibly go wrong?
Usage:
-z, --zip-file=VALUE The path on disk to the encrypted zip
-e, --entry=VALUE The specific zip entry to put in mem (optional),
if not provided assumes only one zip entry is
present
-p, --password=VALUE The password of the encrypted zip
-i, --process=VALUE The process to inject into (if not used will
inject into self (not recommended)
-c, --create Create a new process, and injects into that
process (requires the process argument)
-h, --help shows this menu