Przewiń do zawartości

Arpspoof czyli MiTM krok po kroku

Man in The Middle Attack czyli, najprostszy sposób na przechwytywanie danych. O tym na czym polega owy atak pisałem już raz na blogu. Nie pokazywałem jednak w jak łatwy sposób można go wykonać! Metodą arpspoof, nawet początkujący haker może wykraść wartościowe dane! Właśnie cały ten proces chciałbym Wam dzisiaj przedstawić.

Na wstępie dodam tylko, że omówienie ataku Man In The Middle i wykonanie go w praktyce było tematem pierwszego spotkania koła naukowego White-Hats. Nie jest to jednak krok po kroku to co przeprowadzaliśmy. To uzupełnienie i w pełni zrobiona przez nas dokumentacja o pozycjonowaniu tablicy ARP (arpspoof).

Czemu właściwie jest możliwy taki atak (ARP Spoofing)?

Ponieważ zapytania ARP w sieci są w żaden sposób niezabezpieczone. Każdy komputer w sieci ufa każdemu co jest podpięty do tej samej sieci.

Jednak czym jest adresacja ARP? Już tłumaczę. W sieci musimy jakoś rozpoznawać konkretne komputery, tak aby wiedzieć z kim dokładnie się komunikujemy. Identyfikujemy dany komputer za pomocą przypisanego adresu IP oraz stałego MAC adresu, który jest przypisany do naszej karty sieciowej. Można powiedzieć, że permanentny, jednak istnieją sposoby na jego podmianę.

Istnieje jeszcze tablica ARP, czyli tablica, w której dany komputer robi „mapę” danej sieci. Ten komputer znajduje się pod tym adresem, a router pod tym. Można podejrzeć jej aktualny stan wpisując w terminal/wiersz poleceń:

> arp -a

Cały szkopuł w ataku MITM polega na tym, że będąc podpiętym do tej samej sieci co nasz cel, wysyłamy do ofiary informacje, że my jesteśmy routerem. Do routera zaś informacje to my jesteśmy komputerem ofiary.

W ten sposób cała komunikacja między tą osobą, a routerem sieci przechodzi przez nas, czyli jesteśmy tzw. „Man in The Middle”.

Jak to wykonać w praktyce?

Pierwsze czym musimy się zająć to być podpiętym pod tą samą sieć (o tym jak włamać się do sieci nie znając hasła jeszcze przed nami). Na ten moment zasymulujmy, że znajdujemy się w tym samym środowisku co nasza ofiara.

Następnie musimy namierzyć ofiarę, tutaj bardzo pomocna może się okazać aplikacja NMap bądź jej graficzny odpowiednik ZenMap. Skanujemy sieć i wyszukujemy pod jakim adresem znajduje się nasz cel. Oczywiście, czasami ciężko jest ocenić który komputer to ten, który nas interesuje. W tym właśnie wypadu aplikacja może nam podpowiedzieć na przykład wyświetlając jakim systemem operacyjnym się posługuje.

Po zlokalizowaniu ofiary zapisujemy sobie adres jej adres IP. Po czym możemy przejść stricte do samego ataku.

Zenmap w praktyce
Wyszukiwanie urządzeń w danej sieci – ZenMap

Arpspoof

Jedno z narzędzi, które umożliwia nam przeprowadzenie owego ataku. Wysyła do jednej ze stron ciągłe informacje, że to my jesteśmy zarówno routerem dla ofiary, jak i ofiarą dla routera.

> arpspoof -i [interfejs] -t [IP ofiary] [IP router-a]Na przykład: arpspoof -i eth0 -t 192.168.0.22 192.168.0.1

Wykonując to polecenie, będziemy na komputerze ofiary widoczni jako router. Można to w łatwy sposób zobaczyć wyświetlając tablice ARP. Zauważ, że dwa adresy IP mają ten sam MAC adres. Twój komputer, który przeprowadza atak, jak i router.

Jednak to nie wszystko, w tym momencie przechytrzyliśmy tylko komputer. Router dalej będzie przesyłał informacje bezpośrednio do ofiary. Czyli tylko połączenie wychodzące od ofiary przechodzi przez nas. Czas to zmienić.

> arpspoof -i [interfejs] -t [IP routera] [IP ofiary]

Stosujemy takie samo polecenie, zamieniając tylko miejscami adresy IP routera z IP ofiary. Oczywiście nie zatrzymując polecenia z poprzedniego akapitu!

Aprspoof w praktyce

Wyniki ataku
Wynik na komputerze ofiary, przed atakiem i w trakcie ataku

Pewien problem

No i jesteśmy wewnątrz połączenia! Teraz wszystko przechodzi przez nasz komputer. Wejdź na komputer ofiary i spróbuj połączyć się z jakąkolwiek stroną. Trochę poczekasz, a następnie dostaniesz informacje, że „witryna nie jest osiągalna”. To nie jest przecież celem naszego ataku. Ktoś musi wejść na jakąś stronę abyśmy mogli pobrać od niego dane.

Dzieje się tak gdyż cały ruch dochodzi do nas jednak nie przepuszczamy go dalej. W skrócie, to co do nas wychodzi nie może wyjść. Aby temu zapobiec musimy otworzyć tą furtkę stosując IP Forwarding

Wykonujemy w terminalu następujące polecenie:

> echo 1 > /proc/sys/net/ipv4/ip_forward

Polecenie ustawia wartość jeden (czyli aktywną), w powyższym pliku. Od tego momentu ofiara powinna móc połączyć się z Internetem. Uwaga jest jednak taka, że połączenie może być wolniejsze.

Cały ruch jest widoczny m.in. w programie WireShakr.

MITM Framework

Drugim, łatwiejszym  przyjemniejszym sposobem na arpspoof-ing jest użycie narzędzia Man In The Middle Framework. Czyli cały potężny Framework do przeprowadzenia tytułowego ataku. My się na ten moment zajmiemy samym najprostszym połączeniem, bez (na tą chwilę) zbędnych dodatków.

> mitmf –-arp –-spoof –-gateway [IP routera] –-target [IP ofirary] –i [interfejs]

Wprowadzamy do polecenia adres IP routera oraz IP ofiary, oraz interfejs sieciowy, z którego korzystamy. I to wszystko. Jedno polecenie załatwia dwie sprawy.

Jednak to nie tylko jedno uproszczenie. Zauważ, że teraz cały nieszyfrowany ruch jest widoczny już pod komendą. Czyli jeżeli wejdziemy na jakąkolwiek nieszyfrowaną stronę
i spróbujemy się na niej zalogować, dane od razu będą widoczne w terminalu. Wystarczy dobrze poszukać.

Należy również pamiętać o tym, aby przekierować ruch poprzez IP Forwarding, o ile wcześniej tego nie zrobiliśmy.

Arpspoof za pomocą Man In The Middle Framework
MITMF w praktyce

Ruch szyfrowany

Poprzednia komenda zajmuje się również ruchem szyfrowanym, jednakże działa ona nie zawsze skutecznie. Używa ona narzędzia SSL Strip, które obniża standard z HTTPS do zwykłego HTTP.

Czyli w skrócie, ofiara wchodzi na szyfrowaną stronę, zapytanie przechodzi do nas, a my wysyłamy to do routera. Router wysyła nam gotową stronę, nasz SSL Strip, podmienia ją i wysyła ofierze tą samą stronę jednak bez szyfrowania! W tym momencie wszystkie hasła jakie wyślemy ujrzą światło dzienne na komputerze haker.

Łatwo wykryć takie połączenie poprzez brak zielonej kłódki, czasami też w zależności od przeglądarki, pojawi nam się ostrzeżenie o nieszyfrowanym ruchu. Metoda jest, jednak jak widać, nie jest doskonała.

> sslstrip.py -l [nasłuchujący port]> iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port [nasłuchujący port]

Pierwsze polecenie uruchamia SSL Strip-a.
Aktualna wersja jest do pobrania ze strony: https://github.com/moxie0/sslstrip

Drugie polecenie zaś przekierowuje porty, tak aby wszystko działało. Pełną instrukcje działania znajdziecie w powyższym linku.

Do wyświetlenia przechwyconych haseł przez SSL Stip służy komenda:

> cat sslstrip.log
SMail w HTTP
Poczta studencka tyle, że w protokole nieszyfrowanym
SSL Strip - log
Hasło z strony HTTPS

Jak się zabezpieczyć?

O tym pisałem w poniższym wpisie!
Man In The Middle Attack – i nie możesz czuć się bezpiecznie
Atak Man in the middle

A Ty? Próbowałeś się kiedyś wcielić w rolę hakera i przeprowadzić podobny atak?

Oczywiście w warunkach eksperymentalnych/domowych 😉 Daj znać w komentarzu jak Ci poszło i co sprawiło Ci największe trudności!

Podziel się artykułem !
  •  
  • 1
  •  
  •  

4 komentarze

  1. Jan Jan

    Jak Wpisuje Echo 1 > /proc/sys/net/ipv4/ip_forward
    to konsola oddaje bash: Echo: nie znaleziono polecenia
    Pomozecie ?

  2. Marcin Marcin

    Traceback (most recent call last):
    File “./mitmf.py”, line 36 in
    from plugins import *
    File “/usr/share/mtmf/plugins/ifilepwn.py”, line 72, in
    from bdfactory import pebin
    ImportError: No module named bdfactory

    Ktoś poratuje ? :((

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *