Wifiphisher czyli ostrzeżenie przed fake wifi!

Dzisiejszy wpis będzie o niebezpiecznych sieciach bezprzewodowych. Nie każdy użytkownik Internetu zdaje sobie sprawy jak w bardzo prosty sposób można zrobić fałszywy punkt dostępowy Wi-Fi. Potocznie jest to tzn. fake wifi. Cyberprzestępca po utworzeniu takiej fałszywej sieci może nakłonić użytkowników do próby zalogowania się do niej. Od tej chwili ofiara może być podsłuchiwana. Można łatwo sobie wyobrazić, że w otwartych publicznych sieciach bezprzewodowych w dużych miastach taka osoba może w prosty sposób za pomocą sniffera przechwytywać masowo loginy i hasła do przeróżnych usług sieciowych. Dzisiaj konkretniej mówiąc nie przedstawimy tworzenie standardowej fałszywej sieci tylko bardzo ciekawy skrypt o nazwie wifiphisher. Jest to narzędzie napisane w języku Python służące do wyłudzania klucza sieciowego (hasła wifi) lub hasła do routera od użytkowników. Zamiast się rozpisywać po prostu zacytuje opis tej aplikacji ze strony autorów na GitHubie:

Wifiphisher is a security tool that mounts automated phishing attacks against WiFi networks in order to obtain secret passphrases or other credentials. It is a social engineering attack that unlike other methods it does not include any brute forcing. It is an easy way for obtaining credentials from captive portals and third party login pages or WPA/WPA2 secret passphrases.

Wifiphisher works on Kali Linux and is licensed under the MIT license.

Niebezpieczne fake wifi – wideo

Niestandardowo zaczniemy od bardzo krótkiej demonstracji problemu na naszym kanale na YouTube. Film zawiera również rezultat działania wifiphishera w systemie Kali Linux 2.0 uruchomionym w trybie Live CD. Warto zwrócić uwagę w tym filmie szczególnie na ciekawe szablony dostępne na starcie w tym skrypcie. Zapraszamy do subskrypcji!

Wifiphisher – przykładowy atak na AP WiFi w Kali Linux

Do przeprowadzenia takiego testu penetracyjnego skierowanego na użytkowników sieci niestety niezbędne jest posiadanie dwóch bezprzewodowych kart sieciowych. My wykorzystaliśmy do demonstracji dwa adaptery Wi-Fi podpinane pod złącze USB i system Kali Linux 2.0 nagrany z obrazu iso i uruchomiony z pendrive. Taką operacje możesz wykonać bardzo szybko za pomocą darmowej aplikacji Win32DiskImager.




Więc jak wykonać taki test penetracyjny?

  1. Uruchom system Kali Linux
  2. Upewnij się za pomocą polecenia iwconfig, że obie karty sieciowe są dostępne w systemie
  3. Podłączając się do Internetu za pomocą karty bezprzewodowej lub standardowej sieci ethernetowej wtyczką RJ-45, pobierz skrypt wifiphisher z GitHuba (Download ZIP)
  4. Wypakuj skrypt i za pomocą terminala nadaj mu prawa do wykonania się za pomocą polecenia chmod +x wifiphisher.py
  5. Uruchom skrypt wpisując ./wifiphisher.py
  6. Jeśli w systemie nie posiadasz zainstalowanego serwera do rozdawania IP DHCP to wifiphisher poprosi Cię o jego instalacje. Wciśnij wtedy klawisz Y i enter
  7. W kolejnym kroku powinny zostać wyświetlone sieci bezprzewodowe odnalezione w pobliżu. Jeśli sieć na której wykonujesz test bezpieczeństwa jest już widoczna to wciśnij klawisz CTRL+C a następnie wpisz cyfrę odpowiadającej sieci zatwierdzając enterem

    any time to copy an access point from below num ESSID
    Jeśli pojawi się sieć Wi-Fi którą zamierzysz sklonować wciśnij klawisz CTRL-C a następnie podaj programowi jej numer
  8. Wybierz szablon (patrz opis w dalszej części wpisu)
  9. Po chwili fałszywa sieć zostanie utworzona i wielu klientów oryginalnej sieci może mieć problemy z korzystaniem z Internetu. Wielu nowych i starych klientów Wi-Fi zostanie podłączonych do naszej otwartej fałszywej sieci i zostanie im wyświetlony odpowiedni szablon phishingowy do wpisania hasła do routera lub oryginalnej sieci WiFi. Jeśli zaatakowana ofiara to zrobi to wtedy zostanie przechwycona i wyświetlona wpisana wartość (np: hasło)
  10. Gotowe. Cyberprzestępca czeka aż jakiś klient skorzysta z fikcyjnego punktu AP np. z powodu problemów ze swoją siecią WiFI
Wifiphisher przechwycona wartość TEST metody POST formularza HTML. Jest to atak typu fake wifi
Przechwycona wartość fikcyjnego formularza resetowania hasła routera

Dostępne wbudowane szablony wifiphisher

Wifiphisher fake app templates
Dostępne trzy gotowe wbudowane szablony ataków w skrypcie wifiphisher.py

W obecnej wersji programu wifiphisher domyślnie są dostępne trzy następujące scenariusze ataków:

1 – Browser Connection Reset

Browser message asking for WPA/WPA2 password due to a connection reset. Style changes according the user-agent header. Mobile-friendly.

2 –  Office 365 Login Portal

Replica of Office 365 Login Portal. Template was taken from Phishing Frenzy Templates project. Mobile-friendly.

3 – Firmware Upgrade Page

A router configuration page without logos or brands asking for WPA/WPA2 password due to a firmware upgrade. Mobile-friendly.

  1. Pierwsza metoda tworzy fikcyjną witrynę imitującą prośbę o zresetowanie routera. Prosi użytkownika o hasło do router.
  2. Kolejna metoda jest to typowa strona phishingowa portalu Office 365. Próbuje wyłudzić od klienta poświadczenia do konta Microsoftu.
  3. Ostatnią metodą jest to strona imitująca aktualizacje oprogramowania routera. Próbuje wyłudzić od użytkownika hasło do sieci WiFi argumentując to przymusem zaktualizowania firmware.

Wszystkie przykładowe strony zostały zaprojektowane w sposób responsywny i zademonstrowane w wideo dołączonym na początku tego wpisu. Sam kod źródłowy można w prosty sposób zmodyfikować. Znajduje on się w folderze wifiphisher-master\phishing-pages. Warto również przestudiować dokumentacje znajdującą się na oficjalnej stronie projektu na githubie ponieważ  to posiada narzędzie dodatkowe parametry opcjonalne.

Jak działa wifiphisher?

Ogólnie zasada działania tego fake wifi przypomina opisaną przez nas metodę w wpisie o dns i arp spoofing. Wifiphisher tworzy za pomocą bezprzewodowej karty sieciowej fałszywą sieć bezprzewodową o identycznej nazwie jak ta oryginalna (tzn. ESSID). Następie w tej kopii sieci uruchamia serwer DHCP, który odpowiedzialny jest za wysłanie konfiguracji sieciowej (adres IP, maska sieciowa, brama sieciowa itd) nowym klientom. Dzięki temu nowi użytkownicy sieci po skorzystaniu ze swojej przeglądarki są przekierowany pod zdefiniowany z góry adres serwera stron internetowych. Wifiphisher sam uruchamia ten serwer HTTP i udostępnia fałszywe strony phishingowe  (dostępne w folderze phishing-pages). Ostatecznie nasłuchuje informacje wysłane za pomocą metody GET i POST protokołu HTTP. Jak widzicie cały atak można by przeprowadzić w sposób na około, wykonując całą konfiguracje i uruchomienie wymaganych usług ręcznie.

Podsumowanie czyli jak bezpiecznie korzystać z Wi-Fi?

Na temat wyżej zadanego pytania można napisać by całe książki, więc nie zamierzamy się tutaj za bardzo rozwodzić. Istnieją jednak pewne zalecenia które warto sobie zapamiętać:

  • staraj się nie korzystać z ważnych dla Ciebie kont internetowych w publicznych sieciach Wi-Fi,
  • korzystaj w publicznych access pointów tylko w ostateczności i w miarę możliwośći wykorzystaj VPN,
  • nie wpisuj danych dostępowych do routera i sieci na podejrzanych stronach wyświetlanych na starcie,
  • sprawdź czy czasami nieświadomie nie udostępniasz innym swoich prywatnych plików i folderów,
  • bardziej zaawansowani użytkownicy mogą wyłączyć korzystanie z DHCP i ustawiać adresy IP statycznie.

Do tematu tworzenia fake wifi na pewno jeszcze powrócimy bo temat nie został jak najbardziej w pełni wyczerpany. Jest to ciekawy sposób na przeprowadzenie testów penetracyjnych w firmie na użytkowników końcowych. Warto uświadamiać pracowników z zagrożeń wynikających z korzystania z Internetu, ponieważ to często nie system informatyczny jest słabym ogniwem a sam człowiek. Ataki socjotechniczne nie są niczym nowym.

Jeśli czytasz ten wpis być może spodoba Ci się jeszcze ten o łamaniu hasła wifi w standardzie WPA2 lub metodach ataków na konta facebook. Zapraszamy również na naszego fanpage HakerEduPL na fejsie jeśli chcesz być na bieżąco. Pozdrawiamy! ;-)




11 myśli na temat “Wifiphisher czyli ostrzeżenie przed fake wifi!

  1. Ciekawy artykuł, jednak nie uważam żeby w dzisiejszych czasach było to jakiekolwiek zagrożenie. 99% ważnych portali posiada szyfrowany protokuł przesyłu danych i nawet jeśli nasze fake WiFi to podsłucha, nie będzie w stanie tych danych bez klucza odszyfrować. Niemniej jednak warto zwracać uwagę, na to z kim się łączymy a nie robić to w ciemno…

    1. Nie prawda. Istnieje SSLStrip+ (sslstrip2) działający z dns2proxy, który obchodzi nawet HSTS więc HTTPS nie jest problemem. W sumie będąc wewnątrz już sieci nawet zdalnie się łącząc z zarażonym komputerem zombi z końca świata nie ma rzeczy do nie obejścia.

      Ewentualnie DNS spoofing. Do dobrze przygotowanej witryny w tym przypadku cyberprzestępca może kupić nawet certyfikat SSL więc ofiara może się całkowicie nie zorientować.

    2. Czy ten sslstrip2 jest w kali linux 2.0 czy trzeba go dodatkowo instalować ?

    3. Napisał byś może dlaczego sslstrip+ potrzebuje dns2proxy i jak to działa ? Nie musi być dokładnie ( chyba że zrobisz o tym kolejny wpis ).

    4. Na razie troszkę mało czasu, być może pojawi się wpis o sslstripie i podobnych metodach bo rzeczywiście takowego brakuje. Jednak żeby nie pozostawić Cię bez odpowiedzi to być może wyjaśni Ci trochę to wpis o dns spoofing: https://haker.edu.pl/2015/12/14/dns-spoofing-i-arp-poisoning/. W uproszczeniu działa to tak że ofiara jest oszukiwana że dana strona jest pod IP Twojego komputera (dns spoofing/arp poisoning itd). Następnie wchodząc na daną stronę z HTTPS osoba wysyła cyberprzestępcy (skryptowi/programowi/narzędziu automatyzującemu atak) adres WWW tej stronki którą chce odwiedzić. Jest to typowy atak MITM w tym momencie. Cyberprzestępca (skrypt) łączy się z Ta strona WWW i odsyła ją po zwykłym HTTP ofiarze. Cała komunikacja (np: login+hasło) płynie przez komputer napastnika więc może zostać podsłuchana. Od kompa osoby zaatakowanej idzie po HTTP a komputer napastnika w naszym imieniu otwiera stronę po HTTPS i odsyła nam wyniki po HTTP.Ta metoda umożliwia obejście szyfrowania HTTPS (które de facto pojawia się ale na poziomie napastnik i strony www). Podejrzliwa osoba może jedynie zauważyć brak HTTPS na stronie na której normalnie on występował.

      Podsumowując:
      STRONA_WWW ===HTTPS=== NAPASTINK ===HTTP=== OFIARA

    5. Dzięki wielkie :) Jeszcze jedno pytanie, chciałbym się nauczyć języka nie za trudnego polecił byś mi jakiś na początek ?

    6. Do webowych spraw PHP, do nauki programowania Linux/Windows podstawy C++ potem Python.

  2. Czy mogę nadać własną nazwę dla sieci a nie koniecznie żeby ustawiała się ona automatycznie ? Jeżeli tak to jak ?

Dodaj komentarz

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