
Esegue shellcode indipendente dalla posizione da un archivio zip crittografato
Esegue shellcode indipendente dalla posizione da un archivio zip crittografato. Ottieni il codice PIC dal tuo assembly usando donut, metasploit o il formato RAW di CobaltStrike.
Comprimi il file .bin in zip e crittografalo con una password; questo assembly decifra l'entry dello zip in memoria e la esegue utilizzando l'API di injection D/Invokes.
In grado di effettuare injection in un processo in esecuzione, oppure creando prima un nuovo processo e iniettando nel processo appena creato. L'injection in sé stesso dovrebbe teoricamente essere possibile, ma causa crash. Poiché iniettare in sé stessi non è proprio ciò che volevo ottenere qui, non ho realmente cercato di risolvere quel problema.
Testato posizionando lo zip crittografato su disco, ma potrebbe probabilmente funzionare anche interamente in memoria con alcune modifiche. Supporta solo payload PIC; ho provato a creare una variante runPE ma ho fallito miseramente :)
___ _ ____ _ ___
/ __>| |_ ___ _ _ ___ |_ /<_> ___ | . \ _ _ ._ _ ._ _ ___ _ _
\__ \| . |<_> || '_>| . \ / / | || . \| /| | || ' || ' |/ ._>| '_>
<___/|_|_|<___||_| | _//___||_|| _/|_\_\`___||_|_||_|_|\___.|_|
|_| |_|
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