alphasec
PowerShell protip 0084
in 𝕏

Eksfiltracja w stylu R2-D2

tty1 · powershell
PS> filter Out-R2D2 { $_.ToCharArray()|% {[console]::beep(1000+([int][char]$_*20), 100)}}; ipconfig | Out-R2D2
#Powershell#Windows#Exfil

Powyższy oneliner spowoduje wyskfiltrowanie wyniku polecenia

ipconfig

za pomocą głośnika, gdzie każdy znak będzie tonem o różnej częstotliwości.

Rozbijmy to na części pierwsze:

Skąd nazwa Out-R2D2?

Myślę, że każdy z Was, kto oglądał Gwiezdne Wojny i uruchomi ten skrypt u siebie, zrozumie nawiązanie do sympatycznego droida.

Ale po co?

Tak, nie jest to szybki i praktyczny sposób eksfiltracji danych. Pokazuje on jednak bardzo wyraźnie, że wyjście karty dźwiękowej może być jednym ze sposobów kradzieży danych i prawdopodobnie sposobem ominięcia rozwiązań klasy DLP ( Data Loss Prevention). Wystarczy wykorzystać choćby dość łatwe do zaimplementowania kluczowanie FSK, które pozwoli na akceptowalny do eksfiltracji dokumentów transfer i zamiast puszczać to na głośnik, podłączyć telefon i nagrać tak przechwycone audio.

Jak to działa — krok po kroku

Rozłóżmy onelinera na czynniki pierwsze:

filter Out-R2D2 { ... }

definicja filtra o nazwie Out-R2d2. Filtr w PowerShellu to prosta funkcja, która przetwarza obiekty pochodzące z potoku,

$_.ToCharArray()

wejściowy obiekt (reprezentowany przez zmienną automatyczną $_ lub alternatywnie $PSItem) przekonwertuj na tablicę znaków,

[console]::beep(1000+([int][char]$_*20), 100)

odegraj ton o długości 100 milisekund i częstotliwości o sumie 1000 i wartości dziesiętnej danego znaku pomnożonej przez 20,

ipconfig | Out-R2D2

wykonaj polecenie ipconfig i wynik jego działania wyślij do filtra Out-R2D2

Przydatne linki

https://learn.microsoft.com/pl-pl/dotnet/api/system.console.beep definicja metody Console.Beep() web ↗
← poprzedni protip 0083 ••• Wszystkie protipy następny → protip 0085
// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: