Jak (nie?) zostać zhakowanym i dlaczego aktualizacja strony internetowej jest tak ważna

Chcę pokazać Wam dość skomplikowaną i przekonującą próbę phishingu, polegającą na przejęciu konta Google za pośrednictwem prawdziwej firmy, abyście mieli świadomość, że oszuści wciąż tam są, są sprytni i aktywni. Postaramy się wyciągnąć z tego lekcję – dla firm i właścicieli oprogramowania SaaS. Byłem o krok od bycia oszukanym i co powinniście zrobić.

Tło – ważna część oszustwa

Otrzymałem prośbę o przeprojektowanie strony internetowej i poprawę wydajności (buforowanie, szybkość i podobne elementy). Wiadomość była dobrze napisana i brzmiała wiarygodnie – nie była to oszałamiająca oferta, ale profesjonalna i wiarygodna. Przeszła przez filtry antyspamowe i trafiła do mojej skrzynki pocztowej. Zatem oszustwo było tematycznie ukierunkowane (konkretny temat pasujący do mojej firmy, a nie tylko ogólna próba) i przemyślane.

Dokładnie przeanalizowałem zakres prac, co zajęło trochę czasu, ale zakończyło się pozytywnie, chociaż dla lepszej oceny potrzebowałem dostępu do serwera. A kiedy poprosiłem o więcej szczegółów i dostęp, otrzymałem odpowiedź, że „oni” skonsultowali się ze swoim zespołem, są gotowi do współpracy i udostępnią mi dostęp do panelu administracyjnego. Otrzymałem link do logowania do WordPressa i instrukcje mniej więcej takie: po autoryzacji Google otrzymam nazwę użytkownika, którą powinienem im odesłać, aby mogli przyznać mi pełny dostęp. Wszystko brzmi dobrze, prawda…?

Sprawdziłem też konto firmy na Facebooku, które wyglądało całkiem wiarygodnie: starsza strona firmowa z wpisami sprzed jakiegoś czasu (chociaż ostatni wpis był sprzed około dwóch lat). Ogólnie rzecz biorąc, sugerowało to, że może chodzić o prawdziwą firmę, ale też, że coś jest nie tak.

Żółte flagi i niepewność

Aby zapewnić jak najwyższą wartość, zawsze sprawdzam, kto próbuje się ze mną skontaktować – dlatego zacząłem weryfikować firmę: gdzie się znajduje, jakie ma doświadczenie, jakie ma opinie itd. Nie mogłem znaleźć jednoznacznych informacji o lokalizacji (choć to częsty błąd w przypadku uczciwych firm), ale znalazłem w internecie wskazówkę, że mogą znajdować się w Arizonie, co miało znaczenie ze względu na porę wysłania e-maila – jeśli napisał go właściciel, prawdopodobnie był już na nogach około 5:00 czasu lokalnego. To nie jest niemożliwe, ale też nie jest typowe.

Zauważyłem również inne nieścisłości, na przykład numer telefonu w stopce e-maila, który nie zgadzał się z innym numerem podanym gdzie indziej. Zajrzałem na niego tylko dlatego, że powiedziano mi, że mogę zadzwonić w dowolnym momencie, aby doprecyzować szczegóły. Ponownie, nie jest to ostateczny dowód – tylko kolejna drobna rozbieżność. Ogólnie rzecz biorąc, każdy pracownik może mieć swój własny numer telefonu, ale ten nie znajdował się w Arizonie, a w Karolinie Północnej.

Kolejnym wątkiem przewodnim było to, że oszust kontaktował się ze mną za pomocą konta Gmail. Niezbyt profesjonalne podejście ze strony firmy, która ma domenę. Ale mogło to wynikać po prostu z niekompetencji, braku wiedzy, pracownika z zewnątrz lub próby obniżenia kosztów – wiele wyjaśnień pasuje.

Teraz możesz pomyśleć: „to wszystko brzmi dobrze, ale nie mam czasu, żeby to sprawdzać za każdym razem. I to nie jest ostateczny dowód. Nie będę w stanie wychwycić takich rzeczy, bo nie mam wiedzy”. I miałbyś rację. Wyłapałem te drobne szczegóły tylko dzięki mojemu doświadczeniu i wiedzy – a lekcja z tego nie jest taka, żeby „analizować każdy szczegół każdego e-maila” (byłoby wspaniale, ale ain’t nobody got time for that! ). Lekcja z tego jest taka, żeby zaufać swojej intuicji. Jeśli coś „czujesz” podejrzanie – przynajmniej w jednym – przyjrzyj się bliżej. I tak właśnie zrobiłem.

Zwolnij, jeśli pojawi się niepewność

Ostatecznym powodem, dla którego poprosiłem inną osobę o konsultację, była możliwość podania danych uwierzytelniających do witryny i serwera. Zwykle mniej ostrożni klienci po prostu udostępniają dane za pośrednictwem poczty e-mail, udzielając nowemu kontu z oddzielnymi danymi logowania do odczytu, lub podają hasło przez telefon. Jeśli są nieco bardziej zorientowani technologicznie, udostępniają hasło za pośrednictwem usługi udostępniania poufnych danych menedżera haseł (takiej jak ta https://support.1password.com/share-items/?windows ). Zamiast tego poproszono mnie o zalogowanie się do panelu administracyjnego WordPressa przy użyciu moich danych uwierzytelniających Google. To nie jest typowy sposób udzielania dostępu do witryny. Ponadto poprosiłem o dostęp do serwera, a nie do panelu administracyjnego witryny — więc przepływ informacji nie do końca pasował, nawet jeśli można to było wyjaśnić jako „pierwszy krok” udzielania dostępu lub „procesy wewnętrzne”.

Oto co należy zrobić, jeśli coś wydaje się nie tak, jeśli klient jest zbyt pochopny, jeśli coś brzmi nieco dziwnie.

Zatrzymaj się na chwilę. Odetchnij. Zapytaj. Skonsultuj się.

Kiedy przeczucie podpowiadało mi, że po prostu za dużo rzeczy jest nie tak, nabrałem większej ostrożności. Postanowiłem, że od tej pory powinienem skonsultować i zweryfikować te drobne szczegóły z inną osobą – czy to ja jestem paranoikiem, czy coś jest nie tak?– Tak, coś JEST nie tak. Uważaj. Używaj odizolowanego środowiska. – Usłyszałem.

Tak też zrobiłem, ale Ty nie powinieneś . Jeśli otrzymasz od innej osoby informację zwrotną, że coś jest naprawdę nie tak, lepiej się wycofać i skonsultować się z osobą, która ma rzeczywistą wiedzę techniczną w takich sprawach.

Dalsza analiza – jak można utracić dostęp do konta

Zobaczmy, co można znaleźć pod tym linkiem. Ale najpierw ostrzeżenie.

Nie próbuj tego w domu – zrobiłem to, żeby pokazać Ci, co może być sygnałem ostrzegawczym, żebyś Ty nie musiał – i jest to dla Ciebie niebezpieczne. Jestem profesjonalistą, korzystam z odizolowanego środowiska i oddzielnego, pustego konta Google, na którym nie ma nic ważnego, więc dla mnie jest to praktycznie bezużyteczne, ale dla Ciebie nie byłoby to bezpieczne.

Jednym z powodów, dla których potrzebne jest odizolowane środowisko (tak, wiem , że to uproszczenie), jest to, że mogą pojawić się luki w zabezpieczeniach typu zero-day, o których wiedzą hakerzy, a ty nie.

Po otwarciu strony logowania okazało się, że dane nie pasują do typowego loginu administratora WordPressa. Adres URL strony logowania był inny (chociaż można go skonfigurować w WordPressie). Link „Nie pamiętasz hasła” wyglądał na prawidłowy. Prawdziwy problem pojawił się jednak po kliknięciu linku „Kontynuuj z Google” – pojawiło się okno przypominające wyskakujące okienko logowania/autoryzacji Google.

Na pierwszy rzut oka przypomina wyskakujące okienko Google, ale jest trochę „dziwne”. Jedna ważna cecha: nie można przeciągnąć okna poza stronę, ponieważ nie jest to wcale prawdziwe wyskakujące okienko przeglądarki, lecz część witryny.

Kiedy sprawdziłem źródło, zauważyłem, że strona jest zaimplementowana jako iframe , który przekierowuje do nieznanej domeny, która nie jest własnością Google. Jest też literówka w domenie („ identy ” zamiast oczekiwanego „identity”), która na pierwszy rzut oka może wydawać się prawidłowa, ale taka nie jest.

Kolejną wskazówką jest język/znaki: pomimo wyboru języka angielskiego, niektóre części interfejsu użytkownika wyświetlają niewłaściwy alfabet (cyrylicę). Nie tak powinien wyglądać prawdziwy ekran autoryzacji Google.

Podsumowując: strona próbuje imitować wyskakujące okienko autoryzacji Google, ale w rzeczywistości jest ramką iframe ładującą treść z nieznanej domeny.

To oszustwo jest interesujące również z innych powodów: wykrywa, że korzystam z przeglądarki Mozilla Firefox i próbuje naśladować interfejs użytkownika przeglądarki — na przykład wyświetlając zieloną ikonę kłódki obok certyfikatu. Nawet pasek adresu nie jest prawdziwy — jest zaprojektowany tak, aby wyglądało, że jesteś w Google, ale tak nie jest. Jednak po kliknięciu pojawia się ważny szczegół: (oczywiście pomijając cyrylicę) — nie można otworzyć i sprawdzić certyfikatu w normalny sposób. Jeśli coś jest nie tak, sprawdzenie certyfikatu jest jedną z najważniejszych rzeczy, jakie można zrobić — ponieważ w tym przypadku nie jest to certyfikat Google. Sprawdzanie certyfikatu jest obecnie dość proste i warto to zrobić, gdy nie masz pewności.

Chciałem to rozwinąć. Najpierw spróbowałem wpisać adres e-mail, który nie istniał, ale nie udało się, więc użyłem jednorazowego konta Gmail, o którym wspominałem wcześniej. Pozwoliło mi to kontynuować i spodziewałem się, że w końcu poprosi o szerokie uprawnienia do konta, ale tak się nie stało – poprosił tylko o hasło.

Następnie pojawił się kolejny podejrzany szczegół: komunikat informujący o pomyślnej autoryzacji nie jest wyświetlany w sposób, w jaki zwykle robi to Google.

Używam zapory sieciowej/programu antywirusowego, powinienem być bezpieczny… prawda?

Cóż… nie.

W chwili pisania tego tekstu:

  • Mój program antywirusowy nie wykrył żadnego zagrożenia
  • Filtry antyspamowe nie wykryły spamu
  • Żadna z przeglądarek, które wypróbowałem, nie wykryła zagrożenia (oczywiście zgłosiłem próbę skanowania do Google krótko po tym, jak dowiedziałem się, że to oszustwo)
  • VirusTotal nie wykrył żadnego zagrożenia

Podsumowując – ZAWSZE trzeba zachować ostrożność, bez względu na to, jakiego innego oprogramowania „zabezpieczającego” używasz. Najlepszym i najważniejszym oprogramowaniem zabezpieczającym jest Twój mózg.

Jakie są interesujące elementy w tej próbie oszustwa?

Często próby oszustw są przeprowadzane w sposób, który zmusza do działania przy ograniczeniach czasowych. Zachęca się do szybkiego działania. W tym przypadku tak nie było. Tempo było naturalne, bez ograniczeń czasowych, a strona internetowa prowadziła legalny biznes, z historią na Facebooku i Instagramie (choć nieaktywnych – ostatni post sprzed 2 lat – ale historyczne posty były dostępne).

Kolejną rzeczą było przygotowanie wstępne. Zakres prac, który mi przedstawiono, był bardzo wiarygodny i naturalny. Oszuści z pewnością wykonali dobrą robotę, przygotowując szczegóły techniczne, oczekiwane zakresy i używając biznesowego, ale technicznego języka.

Strona logowania Google była bardzo podobna do strony rzeczywistej. Niektóre szczegóły były dobrze dopracowane (jak np. pobieranie nazw z przeglądarki), inne mogłyby być „lepsze” – jak np. cyrylica czy brak możliwości sprawdzenia certyfikatu SSL. Wyobrażam sobie, że osoby niedoświadczone po prostu kliknęłyby w dane logowania i straciły dostęp do swoich danych.

Co ciekawe, oszuści często, oprócz prób wykorzystania presji czasu, próbują zaoferować wysoką wartość – ale w tym przypadku ta technika nie została zastosowana. Podejrzewam, że wynikało to z faktu, że spodziewali się natychmiastowej odmowy gdyby wysłali ofertę „zbyt dobrą, aby była prawdziwa”. Byłoby to zbyt oczywiste i natychmiast wzbudziłoby podejrzenia.

Jaka lekcja płynie z tego dla właścicieli firm?

Najważniejsza rzecz – zawsze aktualizuj oprogramowanie.

Wierzę, że ten WordPress był pozostawiony bez aktualizacji lub konserwacji przez co najmniej 2 lata.

Po drugie – naruszenie bezpieczeństwa Twojej witryny może być bardzo kosztowne. Nie chodzi tylko o utratę pieniędzy na rozwiązanie problemu. To również kwestia utraty zaufania.

Próby oszustwa nie są „nieszkodliwe, jeśli nie dałeś się nabrać”. Straciłem sporo czasu mojej firmy, przynajmniej na przygotowanie wstępnej analizy zakresu prac.

Przypuszczam, że prawdziwy właściciel witryny został zhakowany i ktoś teraz podszywa się pod niego. Próbowałem skontaktować się z właścicielem firmy, aby poinformować go o tej sytuacji, ale nie otrzymałem od niego odpowiedzi. Sprawa została więc przekazana do Safe Browsing https://safebrowsing.google.com/safebrowsing/report_phish/ i pozostawiona. To było minimum, jakie mogłem zrobić, aby uchronić innych przed tym oszustwem.

Zachowaj ostrożność, zwracaj uwagę na drobne szczegóły i weryfikuj wszystko, co możesz. Nawet ikona kłódki i zachowanie certyfikatu różnią się w fałszywym oknie od prawdziwego – to właśnie takie rzeczy mogą bardzo łatwo doprowadzić do włamania.

Autor

Łukasz Pawłowski

CEO of Sailing Byte

Sailing Byte CEO and former PHP developer. Founder of a software house specializing in a partnership-driven approach, with expertise in Laravel, React.js, and Flutter. My objective is to deliver scalable SaaS solutions through Agile methodologies—offering clients a blend of experience, knowledge, and the right set of collaborative tools. To achieve this, I am committed to sharing my expertise on this blog with clients and readers across Europe, the UK, and the USA, empowering their businesses to flourish.