Phishing bez wątpienia stał się najpopularniejszą formą czy wektorem ataku.
Wielu atakujących wykorzystuje technikę man-in-the-middle. Oznacza to, że atakujący pośredniczy w komunikacji pomiędzy użytkownikiem i serwerem. Taka taktyka, pozwala na ominięcie uwierzytelniania 2FA z użyciem aplikacji, SMSa czy kodu jednorazowego.
Na rynku jest dostępne oprogramowanie, które pozwala zasymulować taki atak. Jednym z takich produktów jest EvilGinx, którego twórcą jest Kuba Grecki z Trójmiasta.
EvilGinx zachowuje się jak proxy, które umożliwia wykonanie ataku MITM i umożliwia atakującemu przejęcie zarówno danych logowania ale również ciasteczek sesyjnych. Kiedy użytkownik kliknie w złośliwy link np. www.microsoft-nieprawdziwadomena.pl to Evilginx terminuje połączenie SSL i otwiera nowe z już docelowym – prawdziwym serwerem np. microsoft.pl. A zatem, użytkownik nie widzi różnicy bo dalej może się zalogować.
No dobra, przejdźmy do praktyki. Jak przygotować serwer z działającym Evilginx?
Przede wszystkim będziemy potrzebować serwer – może być wykupiony VPS lub wirtualka na VirtualBox na naszym komputerze.
Dokumentacja instalacji znajduje się tutaj, więc nie będę powielał:
https://help.evilginx.com/docs/getting-started/deployment/remote
Głównym komponentem są tzw. phishlety, czyli niewielkie pliki z rozszerzeniem .yaml, które określają parametry strony, do której link wysyłamy do ofiary. Można tworzyć swoje phishlety ale można również pobrać gotowe np. stąd:
https://github.com/ArchonLabs/evilginx2-phishlets/tree/master/phishlets
https://github.com/charlesbel/Evilginx2-Phishlets
Pobrane pliki kopiujemy do odpowiedniego katalogu na serwerze EvilGinx. Aby go użyć musimy skonfigurować tzw. hostname, czyli adres strony używany do ataku. Następnie musimy włączyć phishlet.
1 2 |
phishlets hostname microsoft365 microsoft-nieprawdziwadomena.pl phishlets enable <phishlet name> |
Kolejnym komponentem są przynęty czyli lures. Przynęta to pełny link jaki podsyłamy do ofiary. U mnie wyglądają one tak jak poniżej.
Żeby pobrać cały adres URL używamy komendy:
1 |
lures get-url <ID> |
Kiedy mamy już wygenerowany pełny link, należałoby go otworzyć. Po każdym wejściu na link, w konsoli Evilginx pojawią się szczegóły klienta (przeglądarka, IP, czas)
Kiedy jako ofiara, zalogujemy się swoimi danymi logowania to Evilginx przechwytuje sesję logowania.
Kiedy wejdziemy w szczegóły sesji, oprócz danych klienta widzimy zawartość ciasteczka sesyjnego, które możemy wykorzystać do zalogowania się na konto ofiary na swoim komputerze.
Aby wykorzystać przechwycone ciasteczko wystarczy skopiować treść ciastka z Evilginx i wkleić jego treść do wtyczki w przeglądarce. Wtyczek jest wiele, ja używam Cookie-Editor. Wklejamy treść i importujemy do przeglądarki zawartość. Następnie odświeżamy stronę np. Office i już jesteśmy zalogowani na konto ofiary.
Jak widzicie, przeprowadzenie takiego ataku nie jest trudne. Zwykłe MFA nie jest w stanie zabezpieczyć nas przed takimi atakami. Jeśli używamy kluczy sprzętowych – klucz weryfikuje adres domeny i jeśli jesteśmy na stronie phishingowej to do logowania nie dojdzie. Zachęcam Was do skonfigurowania 2FA gdziekolwiek się da – najlepiej w postaci klucza sprzętowego np. YubiKey,