Fuzzowanie nazw domen
Pracując tam, gdzie pracowałem, miałem kilka razy utarczki z “biznesem” na temat tego jak powinny być wybierane nazwy domenowe (głównie dla stron WWW). Dla biznesu najważniejsza była ich chwytliwość i możliwość skonstruowania kampanii marketingowej z ich wykorzystaniem. Z mojego punktu widzenia kwestie bezpieczeństwa przy wybieraniu nazwy domenowej są również istotne. Wybieraniu nazwy i patrzeniu co się dzieje w jej okolicach...
O jakich okolicach mówię? Jeśli istnieje serwis (popularny), to można:
- podszyć się pod niego (oszukać jego użytkowników/klientów),
- wykorzystać jego popularność do własnej promocji,
- wykorzystać jego popularność do szerzenia ZŁA (np. różnego malware)
Jak to można zrobić? Może na początku prosty przykład – domena interia.pl. Napisałem prosty skrypt, który w oparciu o podaną nazwę domeny generuje inne, podobne. W celu generowania podobnych napisałem kilka fuzzerów:
- pomijanie litery,
- podwojenie litery,
- zmiana litery na inną znajdującą się blisko na klawiaturze,
- jednoczesne wprowadzenie drugiego znaku znajdującego się blisko na klawiaturze,
- zamiana kolejności kolejnych liter,
- zamiana znaku na inny znak lub ciąg znaków wizualnie podobnych,
Skrypt ten sprawdza, czy dana domena istnieje. W tym celu odpytywany jest serwer DNS, jeśli zostanie uzyskana inna odpowiedź niż NXDOMAIN , domena jest uznawana za istniejącą.
Jakie są rezultaty?
- interai.pl
- intera.pl
- lnteria.pl
- intwria.pl
- itneria.pl
- interiaa.pl
- ihteria.pl
- imteria.pl
- intria.pl
- interiia.pl
- interja.pl
- inteeria.pl
- jnteria.pl
- intereia.pl
- inreria.pl
- ineria.pl
- intteria.pl
- inheria.pl
- intetia.pl
- interias.pl
- intrria.pl
- interia.pk
- interiz.pl
- interua.pl
- interria.pl
- onteria.pl
- interi.pl
- inteeia.pl
- interdia.pl
- interis.pl
- iteria.pl
- interioa.pl
- unteria.pl
- interka.pl
- ibteria.pl
- intreria.pl
- inteira.pl
- iinteria.pl
- inetria.pl
- inferia.pl
- intewria.pl
- interiq.pl
- interoa.pl
- nteria.pl
- intyeria.pl
- ingeria.pl
- innteria.pl
- intweria.pl
- interiaz.pl
- intertia.pl
- niteria.pl
- intetria.pl
- inrteria.pl
- ointeria.pl
- intreia.pl
- inyeria.pl
W sumie 56 domen mniej lub bardziej podobnych do domeny wyjściowej. Część z nich jest tylko zarejestrowana, pod częścią adresów można zobaczyć ciekawe rzeczy, a to sklep erotyczny, a to serwis z oponami.
Jeszcze ciekawsze rezultaty można osiągnąć, gdy domena wyjściowa, to domena jakiegoś banku. Dla przykładu mbank.com.pl. Wpisy rozpoczynające się od * to tak zwane wildcardy:
- *.corn.pl
- rnbank.com.pl
- *.c9m.pl
- mbnak.com.pl
- mbanki.com.pl
- *.cok.pl
- *.comn.pl
- *.con.pl
- *.xom.pl
- mank.com.pl
- *.vom.pl
- mbamk.com.pl
- *.c0m.pl
- bank.com.pl
- nbank.com.pl
- *.dcom.pl
- *.coom.pl
- mbankcom.pl
- *.fcom.pl
- *.comm.pl
- *.coj.pl
- mabnk.com.pl
- *.dom.pl
- *.co.pl
- *.cmo.pl
I teraz pierwsza z brzegu domena rnbank.com.pl - wizualne zlepek liter r i n przypomina literę m. Zresztą właściciel strony bez zbytniego krępowania przyznaje się, że właśnie o takie podobieństwo mu chodziło. Na podobnej zasadzie opiera się wildcard *.corn.pl.
Niektórzy właściciele domen zdają sobie sprawę, że pomyłki przy wprowadzaniu adresu mogą się zdarzyć i rejestrują domeny dla najbardziej prawdopodobnych pomyłek.
Mój skrypt...
Skrypt jest dostępny tutaj. napisany jest w Python (testowałem TYLKO pod 2.5 i TYLKO pod Windows), do działania wymaga biblioteki obsługującej DNS, konkretnie dnspython. Szybkość działania skryptu zależy w znacznym stopniu od tego jak szybko odpowiada serwer DNS, z którego się korzysta...
EDIT: nowsza wersja skryptu dostępna jest tutaj.
W celu uruchomienia wystarczy rozpakować go do katalogu i uruchomić DNSSearch.py -d -f. Są jeszcze dwa rozumiane parametry. Parametr -p powoduje, że DNS nie jest odpytywany, wypisywane są tylko wygenerowane nazwy domen (wszystkie, bez znaczenia, czy są aktywne, czy też nie). Parametr -s uruchamia drugą funkcję – wyszukiwanie nazw domen poprzez dodawanie różnych przedrostków i przyrostków, ale funkcja ta nie działa jeszcze zbyt dobrze.
Oryginał tego wpisu dostępny jest pod adresem Fuzzowanie nazw domen
Autor: Paweł Goleń