Wykrywanie i sprawdzanie domen stworzonych dla phishingu
Napisał: Patryk Krawaczyński
05/05/2021 w Bezpieczeństwo Brak komentarzy. (artykuł nr 784, ilość słów: 761)
P
hishing korzysta z różnych technik przy rejestracji domen: typosquatting, cybersquatting, punycode, bitsquatting, homoglyph oraz homograph – ponieważ przekonująca nazwa domeny ma kluczowe znaczenie dla powodzenia każdego ataku phishingowego. Użytkownicy często popełniają błąd podczas pisania nazw domenowych – staje się to problemem kiedy klienci docierają do witryny naszej firmy, która ich zdaniem jest prawdziwa, a w rzeczywistości jest złośliwą kopią. W najlepszym przypadku tylko dezorientuje użytkownika, a w najgorszym instaluje złośliwe oprogramowanie i powoduje straty finansowe. Dlatego, jeśli jesteśmy odpowiedzialni za utrzymanie i bezpieczeństwo firmowej witryny – możemy wyszukiwać domeny o podobnych nazwach i sprawdzać, czy domeny te nie rozpowszechniają niebezpiecznych treści za pomocą strony (HTTP) lub poczty (SMTP) pod szyldem naszej firmy.
Chociaż możemy ręcznie próbować różnych kombinacji nazw naszej domeny to takie podejście po prostu jest niewygodne, ale także czasochłonne i podatne na błędy. Takie zadanie może i powinno być zautomatyzowane. Marcin Ulikowski (elceef) stworzył narzędzie dnstwist do wyszukiwania permutacji nazw domenowych, które wykrywa domeny stworzone powyższymi technikami. Bierze ono podaną nazwę oryginalnej domeny i generuje listę potencjalnych domen phishingowych. Wygenerowane nazwy domen są następnie odpytywane na serwerach DNS w celu sprawdzenia, które z nich są już zarejestrowane:
sudo apt install python3-venv python3-dev libgeoip-dev git build-essential python3 -m venv dnstwist cd dnstwist/ source bin/activate git clone https://github.com/elceef/dnstwist cd dnstwist/ pip install -r requirements.txt python setup.py install
Sprawdźmy teraz warianty domeny nfsec.pl:
(dnstwist) agresor@darkstar:~/dnstwist/dnstwist$ dnstwist -a nfsec.pl _ _ _ _ __| |_ __ ___| |___ _(_)___| |_ / _` | '_ \/ __| __\ \ /\ / / / __| __| | (_| | | | \__ \ |_ \ V V /| \__ \ |_ \__,_|_| |_|___/\__| \_/\_/ |_|___/\__| {20201228} Processing 934 permutations ...33%..61%..87%. 5 hits original* nfsec.pl 37.187.104.217 addition nfseca.pl - addition nfsecb.pl - ... bitsquatting ofsec.pl - bitsquatting lfsec.pl - ... homoglyph nfsĉc.pl - homoglyph nfsĕĕ.pl - ... hyphenation n-fsec.pl - hyphenation nf-sec.pl - ... insertion nfszec.pl - insertion nfcsec.pl - ... omission nfsc.pl - omission fsec.pl - ... repetition nffsec.pl - repetition nnfsec.pl - ... replacement nfdec.pl - replacement nfs4c.pl - ... subdomain n.fsec.pl - subdomain nf.sec.pl - ... transposition fnsec.pl - transposition nsfec.pl - ... vowel-swap nfsoc.pl - vowel-swap nfsic.pl - ... various nfsecpl.pl - various nfsec-pl.com -
Jeśli nie posiadamy możliwości instalacji środowiska dla tego narzędzia możemy skorzystać z serwisów online w postaci: dnstwist.it oraz dnstwister.report. Juxhin Dyrmishi Brigjaj stworzył również odpowiednik dnstwist w języku Rust o nazwie Twistr. Podobnie jak większość narzędzi przeznaczonych do testów penetracyjnych – narzędzia te mogą być mieczem obosiecznym, czyli zostać użyte przez atakujących do znalezienia idealnych domen kandydujących do ataków phishingowych dlatego warto zapoznać się z ich działaniem. W dodatku posiadając listę wariantów własnej domeny – możemy podpiąć się pod strumień wystawianych certyfikatów SSL i sprawdzać, czy jakaś domena nie pojawi się publicznie.
Więcej informacji: Twistrs — Domain name enumeration library in Rust, Easily Generate Hundreds of Phishing Domains