Phishing

Phishing to forma cyberataku polegająca na podszywaniu się pod zaufaną osobę, organizację lub instytucję w celu nakłonienia ofiary do ujawnienia poufnych informacji. Atak przeprowadzany jest najczęściej za pośrednictwem poczty elektronicznej, wiadomości SMS, mediów społecznościowych lub w połączeniu z atakami typu pharming – fałszywymi stronami internetowymi, które wyglądają jak legalne serwisy.
Phishing w dużej mierze opiera się na inżynierii społecznej (social engineering), która wykorzystuje psychologiczne techniki i manipulacje w celu wpływania na najsłabsze ogniwo systemu zabezpieczeń – człowieka.
Rodzaje phishingu:
- Bulk phishing - Masowe wysyłanie identycznych wiadomości do wielu osób, licząc na przypadkowe ofiary.
- Spear phishing - Spersonalizowany atak ukierunkowany na konkretną osobę lub organizację.
- Whaling - Phishing wymierzony w osoby na najwyższych stanowiskach, np. prezesów.
- Clone phishing - Wysłanie fałszywej kopii wcześniej otrzymanej, prawdziwej wiadomości, z podmienionymi linkami lub załącznikami.
-
Pretexting – Atak polegający na tworzeniu fałszywego pretekstu lub historii w celu uzyskania od ofiary poufnych informacji albo wykonania przez nią określonego działania. Przykład: podszywanie się pod pracownika banku lub działu IT, który „w ramach procedury” prosi o podanie loginu i hasła.
-
Baiting – Atak polegający na „przynęcie” ofiary do wykonania akcji, często poprzez zaoferowanie czegoś atrakcyjnego. Przykład: pozostawienie pendrive’a z etykietą „Wynagrodzenia 2024” w miejscu publicznym – po podłączeniu urządzenia ofiara infekuje swój komputer złośliwym oprogramowaniem.
-
Pharming – Technika polegająca na przekierowywaniu użytkowników z prawdziwej strony na fałszywą, nawet jeśli wpiszą poprawny adres. Może być realizowana np. przez zmianę wpisów w DNS lub infekcję lokalnego pliku hosts. Celem jest wyłudzenie danych logowania lub informacji finansowych.
-
CEO Fraud (Business Email Compromise, BEC) – Oszustwo polegające na podszyciu się pod prezesa, dyrektora lub inną osobę na wysokim stanowisku w firmie, zwykle w celu nakłonienia pracownika do wykonania przelewu lub przekazania poufnych danych.

Przykład ataku hakerskiego
-
Generowanie listy potencjalnych adresów e‑mail pracowników
Zadanie: Wygenerowanie listy adresów e‑mail na podstawie schematu nazewnictwa.
Szczegółowy opis: Przeszukanie strony HackBanku w celu znalezienia przykładowych adresów e‑mail ujawniło stosowany w organizacji schemat nazewnictwa kont: imię + pierwsza litera nazwiska + @hackbank.eu. Na podstawie tej informacji przygotowano listę potencjalnych adresów, wykorzystując plik names.txt z imionami oraz prosty skrypt w Pythonie, który dla każdego imienia iterował po literach alfabetu, dopisując je jako inicjał nazwiska i tworząc adres zgodny z ustalonym formatem. Wygenerowane adresy zapisano w pliku emails.txt, tworząc dużą bazę potencjalnych kontaktów możliwych do użycia w dalszych etapach ataku, np. do enumeracji kont lub kampanii phishingowej.
Target: HackBank.eu
Przykładowy adres e‑mail znaleziony podczas rekonesansu.
Za pomocą polecenia 'python3 generate.py' wygenerowano plik emails.txt zawierający 3276 potencjalnych adresów e‑mail pracowników HackBanku. -
Enumeracja kont e‑mail przez podatność walidacji logowania
Zadanie: Identyfikacja istniejących kont e‑mail w aplikacji poprzez analizę komunikatów zwrotnych i czasu odpowiedzi serwera.
Szczegółowy opis: Wykonano dwie próby logowania: pierwszą z użyciem domyślnej nazwy i hasła użytkownika, a drugą z nazwą znalezioną w stopce strony w adresie e‑mail. Różnica w komunikatach walidacyjnych ujawniła sposób, w jaki aplikacja rozróżnia wyjątki podczas procesu uwierzytelniania. Dla użytkownika istniejącego w bazie pojawiał się komunikat „nieprawidłowe dane”, natomiast w przypadku braku konta – komunikat „użytkownik o podanej nazwie nie istnieje”. Wygenerowaną wcześniej listę potencjalnych adresów e‑mail przetestowano za pomocą skryptu enumerate.py, co pozwoliło potwierdzić, które adresy są faktycznie używane. Analiza opierała się zarówno na treści komunikatów zwrotnych, jak i na średnim czasie odpowiedzi serwera, co umożliwiło skuteczną enumerację istniejących kont.
Wynik działania skryptu enumerate.py — identyfikacja istniejących adresów e‑mail w oparciu o komunikaty walidacyjne i czas odpowiedzi serwera -
Generowanie pliku wykonywalnego z powłoką Meterpreter
Zadanie: Utworzenie pliku .exe z osadzonym payloadem, umożliwiającym nawiązanie połączenia zwrotnego.
Szczegółowy opis: W celu przetestowania możliwości dostarczenia złośliwego oprogramowania przygotowano plik wykonywalny .exe z osadzonym payloadem windows/meterpreter/reverse_tcp przy użyciu modułu evasion/windows/windows_defender_exe w platformie Metasploit. Plik skonfigurowano tak, aby po uruchomieniu na systemie Windows nawiązywał połączenie zwrotne do stacji atakującego w sieci ćwiczeniowej. Gotowy plik został udostępniony poprzez serwer HTTP uruchomiony na Kali. Podczas testów na maszynie Windows plik został automatycznie wykryty i zablokowany przez Windows Defender, co wskazuje na konieczność modyfikacji lub stworzenia pliku w sposób utrudniający jego identyfikację przez mechanizmy antywirusowe. Z tego powodu konieczne było samodzielne wygenerowanie nowego payloadu z wykorzystaniem innych technik, aby zwiększyć szansę na ominięcie mechanizmów detekcji.O generowaniu pliku wykonywalnego przeczytasz w "Tworznie marka"
Faza ataku
-
Rozsyłanie zainfekowanych wiadomości
Zadanie: Masowe rozesłanie wiadomości phishingowych do wcześniej zidentyfikowanych adresów e-mail
Szczegółowy opis: W celu przeprowadzenia ataku wykorzystano skrypt sendall.sh, któremu jako argument przekazano plik z listą zweryfikowanych adresów e mail uzyskanych we wcześniejszym etapie enumeracji (punkt 1). Skrypt automatycznie rozesłał przygotowaną wiadomość phishingową z załączonym plikiem .xlsm zawierającym złośliwe makro.
Skrypt o nazwie sendall.sh, służący do automatycznego wysyłania wiadomości e-mail do wielu użytkowników. Jako pierwszy parametr przyjmuje ścieżkę do pliku z adresami celów. -
Target User: W ramach symulacji ofiary, zalogowano się do systemu pocztowego HackBanku na maszynie Windows, gdzie odebrano wiadomość z załącznikiem. Po otwarciu dokumentu i uruchomieniu makra nastąpiło pobranie pliku wykonywalnego z serwera kontrolowanego przez atakującego oraz jego uruchomienie, co skutkowało nawiązaniem połączenia zwrotnego z serwerem Command & Control atakującego.
Ekran po stronie użytkownika docelowego (Target User)
Dwa najważniejsze miejsca, w których widnieje adres nadawcy to: na kopercie (pole RFC5321.MailFrom*) i w liście (w nagłówku From). Większość klientów pocztowych wyświetla użytkownikowi końcowemu tylko adres nadawcy widoczny w liście, całkowicie ignorując ten z koperty. Sprawdzając szczegóły wiadomości mozna zweryfikować rzeczywistego nadawce
Target User uruchamia payloada.
- Wykorzystanie panelu Command & Control do przechwycenia danych
Po nawiązaniu połączenia z systemem ofiary zalogowano się do panelu Command & Control w celu wykonania działań na zainfekowanym hoście. Włączono moduł keyloggera, który rejestrował naciśnięcia klawiszy w systemie ofiary. Następnie, w ramach symulacji, użytkownik zalogował się do aplikacji bankowej HackBank Business, co pozwoliło na przechwycenie pełnego hasła dostępowego.