Dlaczego zarejestrowana nazwa domeny „localtest.me” zmienia się na 127.0.0.1?

30

Byłem przeczytaniu artykułu o Server-Side fałszowania żądań . W tym artykule atakujący stwierdził, że 127.0.0.1był otwarty na Internet. Ofiara następnie zablokowała się 127.0.0.1, ale ponieważ wiele innych adresów IP i najwyraźniej także niektóre domeny również zostały do ​​tego rozwiązane, w tym tajemnicze localtest.me, był w stanie ominąć słaby filtr tekstowy.

  1. Co jest takiego specjalnego localtest.me?

  2. Czy są jeszcze inni? (I jak je znaleźć?)


AKTUALIZACJA

Znalazłem: http://readme.localtest.me/

Najwyraźniej ktoś postanowił zarejestrować tę domenę w zabawny sposób, do celów testowych:

Oto jak to działa. Cała nazwa domeny localtest.me - i wszystkie wpisy wieloznaczne - wskazują na 127.0.0.1. Więc bez żadnych zmian w pliku hosta możesz natychmiast rozpocząć testowanie z lokalnym adresem URL.

Jednak nadal nie jestem pewien, jak zarejestrować domenę zewnętrzną w lokalnej. Jest to mylące, ponieważ tracert localtest.menigdy nawet nie opuszcza maszyny. Jak sobie z tym poradzić na niskim poziomie?

Potem znalazłem kilka innych w tych komentarzach i gdzie indziej:

lvh.me 
vcap.me
fuf.me - IPv4 and IPv6
ulh.us
127-0-0-1.org.uk
ratchetlocal.com
smackaho.st
42foo.com
beweb.com
yoogle.com
ortkut.com
feacebook.com

I w podobnych pytaniach dotyczących przepełnienia stosu.

not2qubit
źródło
22
To jest naprawdę proste: rejestracja nazwy domeny i przypisanie adresu IP to dwie różne rzeczy. Każdy może zarejestrować dowolną nazwę domeny z dowolnego powodu. Wystarczy zapłacić rejestratorowi domen, przechodząc przez wirtualną „dokumentację”, a następnie, jak magia, masz nazwę domeny. Ale przypisanie adresu IP do tej domeny to zupełnie inna bestia. Każdy może przypisać dowolny adres IP do nazwy domeny. Nazwa domeny to po prostu wskaźnik ułatwiający życie.
JakeGould
Jedną z takich nazw domen, która ostatnio związana jest z pewnym zakłóceniem siły, jestbealocalhost.de
Hagen von Eitzen

Odpowiedzi:

69

Jednak nadal nie jestem pewien, jak zarejestrować domenę zewnętrzną w lokalnej. Jest to mylące, ponieważ tracert localtest.me nigdy nawet nie opuszcza maszyny. Jak sobie z tym poradzić na niskim poziomie?

Nic nie „wiąże” domeny z jej adresem w sposób, jaki sobie wyobrażasz. Podobnie jak książka telefoniczna, DNS informuje tylko, jaki jest adres - ale na tym kończy się jego zaangażowanie. (Nie wybierasz numeru „Pizza Hut” przez telefon; wyszukujesz ich numer telefonu i wybierasz numer).

Kiedy więc ktoś zarejestruje nazwę domeny, po prostu zyskuje możliwość edycji tych wpisów w książce telefonicznej. Ale aby faktycznie „wskazać” nazwę domeny - powiedzmy 127.0.0.1- dodają ten wiersz do bazy danych:

localtest.me.   A   127.0.0.1

to jest to! Ktokolwiek localtest.meteraz pyta, otrzymuje odpowiedź „Och, to jest 127.0.0.1”.

Kiedy więc piszesz tracert localtest.me., najpierw pyta DNS o powiązany adres; otrzymuje odpowiedź 127.0.0.1; a następnie zachowuje się dokładnie tak, jakbyś tracert 127.0.0.1zamiast tego pobiegł . W ogóle nie ma magii.

Czy są jeszcze inni? (I jak je znaleźć?)

W tym momencie powinno być jasne, że każdy właściciel domeny może to zrobić bez żadnego wysiłku, więc zawsze istnieje prawdopodobieństwo, że w danym momencie istnieją inne takie domeny. Ponieważ dane DNS są dystrybuowane w wielu systemach (czasem nawet generowane dynamicznie), tak naprawdę nie możesz ich wszystkich znaleźć, a nawet oczekiwać, że wyniki pozostaną dokładne po kilku sekundach.

Ale ze względów bezpieczeństwa nie musisz znaleźć ich wszystkich. Niektóre resolwery DNS mają już rodzaj filtrowania takich wpisów (nazywane „ochroną ponownego wiązania DNS”) i nie szukają konkretnych pytań - patrzą tylko na odpowiedź . Funkcja ochrony blokuje tylko odpowiedzi wskazujące dowolny adres lokalny.

Jednak zanim zapytasz, nie można tego zabronić globalnie - kierowanie nazw domen na adresy prywatne jest nadal całkowicie uzasadnionym użyciem DNS i jest stosowane w praktyce w wielu sieciach.

grawitacja
źródło
4
Dzięki chłopaki za wyjaśnienie. Było to zdecydowanie interesujące odkrycie, ponieważ nie miałem pojęcia, że ​​można również zarejestrować zastrzeżone bloki IP .
not2qubit
11
Tak. Wymuszanie sposobu używania adresów nie jest zadaniem DNS.
grawitacja
2
@ not2qubit „… Nie miałem pojęcia, że ​​można również zarejestrować zastrzeżone bloki IP”. Mieszacie warunki. Musisz zarejestrować nazwę domeny u rejestratora; to jest kontrolowany proces. Państwo przypisać adres IP do nazwy domeny; jest to proces niekontrolowany. Dowolny stos numerów można przypisać do dowolnej zarejestrowanej nazwy domeny, o ile kontrolujesz nazwę domeny.
JakeGould
„Nie wybierasz numeru„ Pizza Hut ”przez telefon; wyszukujesz ich numer telefonu i wybierasz numer.” Niezła analogia!
Joshua Pinter
1
Prawdą jest, że jeden prawdopodobnie nie potrwa długo, pizza Siri / Alexa / Google zamawiania dla ciebie zamiast ...
grawity
16

Istnieją inne odpowiedzi, które są bardziej szczegółowe, ale sedno tego pytania jest naprawdę proste:

„Jednak nadal nie jestem pewien, jak zarejestrować domenę zewnętrzną w lokalnej.”

Rejestracja nazwy domeny i przypisanie adresu IP to dwie zupełnie różne i niezależne rzeczy.

Każdy może zarejestrować dowolną nazwę domeny z dowolnego powodu; możesz nawet zarejestrować nazwę domeny bez posiadania docelowego adresu IP. Wystarczy zapłacić rejestratorowi domen, przechodząc przez wirtualną „dokumentację”, a następnie, jak magia, masz nazwę domeny. Za rejestrację nazwy domeny płacisz tylko za jej nazwę oraz możliwość przypisania adresu IP do nazwy domeny - czytaj poniżej.

Ale przypisanie adresu IP tej nazwie domeny to zupełnie inny proces. Każdy może przypisać dowolny adres IP do nazwy domeny, jeśli ma kontrolę nad tą nazwą domeny. Rejestrator nazw domen nie dba o to, jaki stos nieprzetworzonych adresów przypisujesz do nazwy domeny.

Cała nazwa domeny to po prostu wskaźnik, który ułatwia życie. Pomyśl o tym jako o aliasie, aby ludzie nie musieli zapamiętywać stosów liczb (IPv4) ani cyfr i liter (IPv6).

To jest to!

Ale to, co się wydarzyło - jak wyjaśnia ta strona, którą odwiedziłeś - nie było „włamaniem” się do każdego systemu w lokalnym lokalnym adresie „127.0.0.1”, lecz raczej wadą tego konkretnego systemu.

Ale dla dalszego wyjaśnienia - i to mnie zaskoczyło, jak to sformułowałeś - kiedy stwierdzasz:

Czytałem artykuł o fałszowaniu żądań po stronie serwera . W tym artykule atakujący stwierdził, że 127.0.0.1 był otwarty na Internet.

Przeczytałem również ten artykuł i oto, co się stało: ktoś używał narzędzia online, które pozwoliło ci wskazać to narzędzie na dowolny adres IP / nazwę hosta. Kiedy wskazali na to narzędzie, 127.0.0.1nie było to, że adres IP 127.0.0.1był narażony na działanie Internetu. Przeciwnie, samo narzędzie miało wadę, która pozwalała każdemu sondować wewnętrzny serwer, na którym narzędzie to działało 127.0.0.1. A ponieważ to narzędzie było wyraźnie narzędziem hakerskim, które zostało użyte do wykrycia otwartych portów, i dzięki 127.0.0.1temu konkretna aplikacja mogła sondować własną sieć localhost i - klucz tutaj - przekazać te informacje komuś, kto uzyskuje dostęp do narzędzia za pośrednictwem przeglądarki internetowej .

Przedstawione ryzyko nie polegało na tym, że każdy 127.0.0.1był narażony na działanie Internetu, ale raczej niechlujne kodowanie na jednym narzędziu na jednej stronie pozwoliło na to.

JakeGould
źródło
8

Co jest takiego specjalnego w localtest.me ?

Wskazuje na 127.0.0.1 (localhost). Ten adres jest zawsze zarezerwowany dla komputera lokalnego.

Czy są jeszcze inni? (I jak je znaleźć?)

Tak. Google i superużytkownik są Twoimi przyjaciółmi (jak się dowiedziałeś).

Nadal nie jestem pewien, jak możesz zarejestrować domenę zewnętrzną w lokalnej [IP]. Jest to mylące, ponieważ tracert localtest.menigdy nawet nie opuszcza maszyny. Jak sobie z tym poradzić na niskim poziomie?

Brakuje początkowego (zewnętrznego) żądania DNS . tracertwyświetla ścieżkę, którą obiera pakiet, ale zanim pakiet może dotrzeć gdziekolwiek, komputer musi znać adres IP, aby go wysłać. Z zastrzeżeniami, jeśli nigdy wcześniej nie odwiedzałeś locatest.me , wysyłane jest żądanie DNS do zewnętrznych resolverów w celu wykrycia, że ​​mapuje ono na 127.0.0.1. Zwrócone dane są następnie wykorzystywane lokalnie (np. Do tracertwyświetlania lub wyświetlania treści internetowych). I pamiętaj, że DNS może zamapować dowolną nazwę hosta na dowolny adres IP - nie „wie”, czy adres IP jest lokalny, czy nie.

Anaksunaman
źródło