Hier mal ein Powershell Script das ein PS Script erstellt das eine angegebene Exe in die Registry schreibt und im Autostart einträgt. Der Autostart-Eintrag lädt die Exe dann aus der Registry und somit wird das Filesystem komplett umgangen.
Aufruf ist simpel:
powershell -File builder.ps1 x86.exe [x64.exe]
Es werden sowohl 32-bit als auch 64-bit unterstützt und je nach System zugehörige ausgeführt. 64-bit ist optional.
Danach kommt ein "script.ps1" raus, das der Installer für die Exe ist (trägt nur paar Registry Einträge ein).
Funktionsweise ist simpel:
Zuerst wird ein Powershell Script erstellt, das einen neuen Powershell-Prozess startet und dann mit der Exe ersetzt. Hierzu wird eine leicht modifizierte Version von
verwendet (in data/runpe.ps1 zu finden). Das wird Base64-kodiert und in das Script data/run.js eingebunden. run.js beinhaltet JS-Code der ein Shell-Objekt basierend auf der Powershell lädt welches dann zugehörigen PS-Code ausführt.In den Autostart wird dann nur noch ein Aufruf der rundl32.exe der JS ausführt (das das JS aus dem vorherigen Registry Eintrag ausliest und ausführt) geschrieben. Damit wird dann alles gestartet.
Dieser Aufruf der rundll32.exe ist allerdings detected und wird daher bei aktivem AV (auch Windows Defender AV) blockiert.
Bearbeitet von IRET, 11 December 2019 - 18:50 Uhr.