Phishing Methodology
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Rozpoznanie ofiary
Wybierz domenę ofiary.
Wykonaj podstawową enumerację sieciową szukając portali logowania używanych przez ofiarę i zdecyduj, który z nich będziesz podrabiać.
Użyj OSINT, aby znaleźć e-maile.
Przygotowanie środowiska
Kup domenę, której zamierzasz użyć do oceny phishingowej.
Skonfiguruj usługi e-mailowe związane z rekordami (SPF, DMARC, DKIM, rDNS).
Skonfiguruj VPS z gophish.
Przygotowanie kampanii
Przygotuj szablon e-maila.
Przygotuj stronę internetową do kradzieży danych logowania.
Uruchom kampanię!
Słowo kluczowe: Nazwa domeny zawiera ważne słowo kluczowe oryginalnej domeny (np. zelster.com-management.com).
poddomena z myślnikiem: Zmień kropkę na myślnik w poddomenie (np. www-zelster.com).
Nowe TLD: Ta sama domena używająca nowego TLD (np. zelster.org).
Homoglif: Zastępuje literę w nazwie domeny literami, które wyglądają podobnie (np. zelfser.com).
Transpozycja: Zamienia dwie litery w nazwie domeny (np. zelsetr.com).
Singularizacja/Pluralizacja: Dodaje lub usuwa „s” na końcu nazwy domeny (np. zeltsers.com).
Ominięcie: Usuwa jedną z liter z nazwy domeny (np. zelser.com).
Powtórzenie: Powtarza jedną z liter w nazwie domeny (np. zeltsser.com).
Zamiana: Jak homoglif, ale mniej dyskretny. Zastępuje jedną z liter w nazwie domeny, być może literą bliską oryginalnej literze na klawiaturze (np. zektser.com).
Poddomenowanie: Wprowadza kropkę wewnątrz nazwy domeny (np. ze.lster.com).
Wstawienie: Wstawia literę do nazwy domeny (np. zerltser.com).
Brakująca kropka: Dołącz TLD do nazwy domeny. (np. zelstercom.com)
Narzędzia automatyczne
Strony internetowe
Istnieje możliwość, że jeden z bitów przechowywanych lub w komunikacji może zostać automatycznie odwrócony z powodu różnych czynników, takich jak burze słoneczne, promieniowanie kosmiczne lub błędy sprzętowe.
Gdy ten koncept jest stosowany do zapytań DNS, możliwe jest, że domena odebrana przez serwer DNS nie jest taka sama jak domena pierwotnie żądana.
Na przykład, pojedyncza modyfikacja bitu w domenie "windows.com" może zmienić ją na "windnws.com."
Napastnicy mogą wykorzystać to, rejestrując wiele domen z odwróconymi bitami, które są podobne do domeny ofiary. Ich intencją jest przekierowanie legalnych użytkowników do własnej infrastruktury.
Aby uzyskać więcej informacji, przeczytaj https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/
Możesz poszukać na https://www.expireddomains.net/ wygasłej domeny, której możesz użyć. Aby upewnić się, że wygasła domena, którą zamierzasz kupić ma już dobrą SEO, możesz sprawdzić, jak jest klasyfikowana w:
https://github.com/laramies/theHarvester (100% darmowe)
https://phonebook.cz/ (100% darmowe)
Aby odkryć więcej ważnych adresów e-mail lub zweryfikować te, które już odkryłeś, możesz sprawdzić, czy możesz przeprowadzić brute-force na serwerach smtp ofiary. Dowiedz się, jak zweryfikować/odkryć adres e-mail tutaj. Ponadto nie zapomnij, że jeśli użytkownicy korzystają z jakiegokolwiek portalu internetowego do dostępu do swoich e-maili, możesz sprawdzić, czy jest on podatny na brute force nazwy użytkownika i wykorzystać tę podatność, jeśli to możliwe.
Możesz pobrać go z https://github.com/gophish/gophish/releases/tag/v0.11.0
Pobierz i rozpakuj go w /opt/gophish
i uruchom /opt/gophish/gophish
Otrzymasz hasło dla użytkownika admin na porcie 3333 w wyjściu. Dlatego uzyskaj dostęp do tego portu i użyj tych danych logowania, aby zmienić hasło administratora. Może być konieczne tunelowanie tego portu do lokalnego:
Konfiguracja certyfikatu TLS
Przed tym krokiem powinieneś już kupić domenę, której zamierzasz użyć, i musi ona wskazywać na IP VPS, na którym konfigurujesz gophish.
Konfiguracja poczty
Zacznij instalację: apt-get install postfix
Następnie dodaj domenę do następujących plików:
/etc/postfix/virtual_domains
/etc/postfix/transport
/etc/postfix/virtual_regexp
Zmień również wartości następujących zmiennych w /etc/postfix/main.cf
myhostname = <domena>
mydestination = $myhostname, <domena>, localhost.com, localhost
Na koniec zmodyfikuj pliki /etc/hostname
i /etc/mailname
na swoją nazwę domeny i zrestartuj swój VPS.
Teraz stwórz rekord A DNS dla mail.<domena>
wskazujący na adres IP VPS oraz rekord MX DNS wskazujący na mail.<domena>
Teraz przetestujmy wysyłanie e-maila:
Konfiguracja Gophish
Zatrzymaj wykonywanie gophish i skonfigurujmy go.
Zmień /opt/gophish/config.json
na następujący (zwróć uwagę na użycie https):
Skonfiguruj usługę gophish
Aby utworzyć usługę gophish, aby mogła być uruchamiana automatycznie i zarządzana jako usługa, możesz utworzyć plik /etc/init.d/gophish
z następującą zawartością:
Zakończ konfigurowanie usługi i sprawdź to, wykonując:
Im starsza domena, tym mniej prawdopodobne, że zostanie uznana za spam. Dlatego powinieneś czekać jak najdłużej (przynajmniej 1 tydzień) przed oceną phishingu. Co więcej, jeśli umieścisz stronę o reputacyjnym sektorze, uzyskana reputacja będzie lepsza.
Zauważ, że nawet jeśli musisz czekać tydzień, możesz teraz zakończyć konfigurowanie wszystkiego.
Ustaw rekord rDNS (PTR), który rozwiązuje adres IP VPS na nazwę domeny.
Musisz skonfigurować rekord SPF dla nowej domeny. Jeśli nie wiesz, czym jest rekord SPF, przeczytaj tę stronę.
Możesz użyć https://www.spfwizard.net/, aby wygenerować swoją politykę SPF (użyj adresu IP maszyny VPS)
To jest zawartość, która musi być ustawiona w rekordzie TXT w domenie:
Musisz skonfigurować rekord DMARC dla nowej domeny. Jeśli nie wiesz, czym jest rekord DMARC przeczytaj tę stronę.
Musisz utworzyć nowy rekord DNS TXT wskazujący na nazwę hosta _dmarc.<domain>
z następującą treścią:
Musisz skonfigurować DKIM dla nowej domeny. Jeśli nie wiesz, co to jest rekord DMARC przeczytaj tę stronę.
Ten samouczek oparty jest na: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
Musisz połączyć oba wartości B64, które generuje klucz DKIM:
Możesz to zrobić, korzystając z https://www.mail-tester.com/ Po prostu wejdź na stronę i wyślij e-mail na adres, który ci podają:
Możesz również sprawdzić swoją konfigurację e-mail wysyłając e-mail do check-auth@verifier.port25.com
i czytając odpowiedź (w tym celu musisz otworzyć port 25 i zobaczyć odpowiedź w pliku /var/mail/root jeśli wysyłasz e-mail jako root).
Sprawdź, czy przeszedłeś wszystkie testy:
Możesz również wysłać wiadomość do Gmaila pod swoją kontrolą i sprawdzić nagłówki e-maila w swojej skrzynce odbiorczej Gmail, dkim=pass
powinno być obecne w polu nagłówka Authentication-Results
.
Strona www.mail-tester.com może wskazać, czy Twoja domena jest blokowana przez spamhouse. Możesz poprosić o usunięcie swojej domeny/IP pod adresem: https://www.spamhaus.org/lookup/
Możesz poprosić o usunięcie swojej domeny/IP pod adresem https://sender.office.com/.
Ustaw nazwę identyfikującą profil nadawcy
Zdecyduj, z którego konta będziesz wysyłać e-maile phishingowe. Sugestie: noreply, support, servicedesk, salesforce...
Możesz pozostawić puste nazwę użytkownika i hasło, ale upewnij się, że zaznaczyłeś Ignoruj błędy certyfikatu
Zaleca się korzystanie z funkcji "Wyślij e-mail testowy", aby sprawdzić, czy wszystko działa. Zalecałbym wysyłanie e-maili testowych na adresy 10min mail, aby uniknąć dodania do czarnej listy podczas testów.
Ustaw nazwę identyfikującą szablon
Następnie napisz temat (nic dziwnego, po prostu coś, co mógłbyś oczekiwać w zwykłym e-mailu)
Upewnij się, że zaznaczyłeś "Dodaj obrazek śledzący"
Napisz szablon e-mail (możesz używać zmiennych, jak w poniższym przykładzie):
Note that w celu zwiększenia wiarygodności e-maila, zaleca się użycie jakiegoś podpisu z e-maila od klienta. Sugestie:
Wyślij e-mail na nieistniejący adres i sprawdź, czy odpowiedź ma jakiś podpis.
Szukaj publicznych e-maili jak info@ex.com lub press@ex.com lub public@ex.com i wyślij im e-mail, a następnie czekaj na odpowiedź.
Spróbuj skontaktować się z jakimś ważnym odkrytym e-mailem i czekaj na odpowiedź.
Szablon e-maila pozwala również na załączenie plików do wysłania. Jeśli chcesz również ukraść wyzwania NTLM za pomocą specjalnie przygotowanych plików/dokumentów przeczytaj tę stronę.
Napisz nazwę
Napisz kod HTML strony internetowej. Zauważ, że możesz importować strony internetowe.
Zaznacz Zbieranie przesłanych danych i Zbieranie haseł
Ustaw przekierowanie
Zazwyczaj będziesz musiał zmodyfikować kod HTML strony i przeprowadzić kilka testów lokalnie (może używając jakiegoś serwera Apache) aż do uzyskania zadowalających wyników. Następnie wpisz ten kod HTML w polu. Zauważ, że jeśli musisz użyć jakichś statycznych zasobów dla HTML (może jakieś strony CSS i JS), możesz je zapisać w /opt/gophish/static/endpoint i następnie uzyskać do nich dostęp z /static/<filename>
Dla przekierowania możesz przekierować użytkowników na legalną główną stronę internetową ofiary lub przekierować ich na /static/migration.html, na przykład, umieścić jakiś kręcący się kółko (https://loading.io/) przez 5 sekund, a następnie wskazać, że proces zakończył się sukcesem.
Ustaw nazwę
Importuj dane (zauważ, że aby użyć szablonu w przykładzie, potrzebujesz imienia, nazwiska i adresu e-mail każdego użytkownika)
Na koniec stwórz kampanię, wybierając nazwę, szablon e-maila, stronę docelową, URL, profil wysyłania i grupę. Zauważ, że URL będzie linkiem wysłanym do ofiar.
Zauważ, że Profil wysyłania pozwala na wysłanie testowego e-maila, aby zobaczyć, jak będzie wyglądał końcowy e-mail phishingowy:
Zalecałbym wysyłanie testowych e-maili na adresy 10min mail, aby uniknąć dodania do czarnej listy podczas testów.
Gdy wszystko jest gotowe, po prostu uruchom kampanię!
Jeśli z jakiegoś powodu chcesz sklonować stronę internetową, sprawdź następującą stronę:
Clone a WebsiteW niektórych ocenach phishingowych (głównie dla Red Teams) będziesz chciał również wysłać pliki zawierające jakiś rodzaj backdoora (może C2 lub może coś, co wywoła autoryzację). Sprawdź następującą stronę w celu uzyskania przykładów:
Phishing Files & DocumentsPoprzedni atak jest dość sprytny, ponieważ fałszuje prawdziwą stronę internetową i zbiera informacje podane przez użytkownika. Niestety, jeśli użytkownik nie wpisał poprawnego hasła lub jeśli aplikacja, którą sfałszowałeś, jest skonfigurowana z 2FA, te informacje nie pozwolą ci na podszywanie się pod oszukanego użytkownika.
Tutaj przydatne są narzędzia takie jak evilginx2, CredSniper i muraena. To narzędzie pozwoli ci wygenerować atak typu MitM. Zasadniczo atak działa w następujący sposób:
Podszywasz się pod formularz logowania prawdziwej strony internetowej.
Użytkownik wysyła swoje dane logowania na twoją fałszywą stronę, a narzędzie wysyła je na prawdziwą stronę internetową, sprawdzając, czy dane logowania działają.
Jeśli konto jest skonfigurowane z 2FA, strona MitM poprosi o to, a gdy użytkownik wprowadzi to, narzędzie wyśle to na prawdziwą stronę internetową.
Gdy użytkownik zostanie uwierzytelniony, ty (jako atakujący) będziesz miał przechwycone dane logowania, 2FA, ciasteczka i wszelkie informacje z każdej interakcji, podczas gdy narzędzie wykonuje atak MitM.
Co jeśli zamiast wysyłać ofiarę na złośliwą stronę o takim samym wyglądzie jak oryginalna, wyślesz go do sesji VNC z przeglądarką połączoną z prawdziwą stroną internetową? Będziesz mógł zobaczyć, co robi, ukraść hasło, używane MFA, ciasteczka... Możesz to zrobić za pomocą EvilnVNC
Oczywiście jednym z najlepszych sposobów, aby dowiedzieć się, czy zostałeś wykryty, jest sprawdzenie swojej domeny w czarnych listach. Jeśli pojawi się na liście, w jakiś sposób twoja domena została wykryta jako podejrzana. Jednym z łatwych sposobów, aby sprawdzić, czy twoja domena pojawia się w jakiejkolwiek czarnej liście, jest użycie https://malwareworld.com/
Jednak istnieją inne sposoby, aby dowiedzieć się, czy ofiara aktywnie szuka podejrzanej aktywności phishingowej w sieci, jak wyjaśniono w:
Detecting PhishingMożesz kupić domenę o bardzo podobnej nazwie do domeny ofiary i/lub wygenerować certyfikat dla subdomeny domeny kontrolowanej przez ciebie zawierającej słowo kluczowe domeny ofiary. Jeśli ofiara wykona jakąkolwiek interakcję DNS lub HTTP z nimi, będziesz wiedział, że aktywnie szuka podejrzanych domen i będziesz musiał być bardzo ostrożny.
Użyj Phishious , aby ocenić, czy twój e-mail trafi do folderu spam lub czy zostanie zablokowany lub odniesie sukces.
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)