alphasec academy

Eksfiltracja danych głośnikiem w stylu R2-D2: filter Out-R2D2 { $_.ToCharArray()|% {[console]::beep(1000+([int][char]$_*20), 100)}}; ipconfig | Out-R2D2

Dodatkowe informacje

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:
  • 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

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.

Przydatne linki


Subskrybuj

Jeśli chcesz otrzymywać nowe, mięsiste protipy na maila, a także zostać czasem powiadomiony o wartościowych wydarzeniach - dołącz do subskrybentów.