05 grudnia 2009
Globalny system DNS zna strukturę Twojej wewnętrznej sieci!
sobota, grudnia 05, 2009 | Autor:
\m/ojtek
DNS (ang. Domain Name System, system nazw domenowych) to system dedykowanych serwerów i protokołów komunikacyjnych zapewniających zamianę nazw mnemonicznych (takich jak onet.pl) na odpowiadające im adresy IP.
Przykładowo, wykonując polecenie nslookup pl.wikipedia.org otrzymamy w wyniku między innymi następujące informacje:
Możliwe jest również wykonanie polecenia sprawdzającego adres IP (ang. reverse nslookup): nslookup 91.198.174.2, w wyniku którego otrzymamy między innymi nazwę: rr.esams.wikimedia.org. Nie należy się jednak zawsze spodziewać symetrycznych wyników obu poleceń. Często zdarza się tak, że adres IP uzyskany dla danej domeny, sprawdzony poleceniem nslookup zwróci w wyniku zupełnie inną domenę. Dzieje się tak np. w przypadku domeny hakin9.org. Odpowiadający jej adres to: 79.125.4.36, natomiast polecenie nslookup 79.125.4.36 zwraca domenę: ec2-79-125-4-36.eu-west-1.compute.amazonaws.com. Dzieje się tak, ponieważ w tym przypadku reverse nslookup zwraca domenę firmy hostingowej. W tym przypadku, dzięki poleceniu nslookup, jesteśmy więc w stanie dowiedzieć się z usług jakiej firmy hostingowej (Amazon Web Services) korzysta właściciel domeny hakin9.org. Jest to jednak z punktu widzenia przeprowadzanego rekonesansu informacja mało znacząca. Spójrzmy na wyniki polecenia nslookup dla innego adresu IP, mianowicie adresu: 208.97.169.250. W wynikach pojawia się nazwa: apache2-linus.lankershim.dreamhost.com. Tym razem udało nam się uzyskać zdecydowanie więcej prawdopodobnych informacji na temat konkretnego serwera hostującego zdalny system. Oprócz nazwy firmy hostingowej (dreamhost.com), dysponujemy również bardzo prawdopodobnymi informacjami dotyczącymi:
Całkiem sporo informacji, jak na tak proste polecenie... w dodatku technika ta w żaden sposób nie ingeruje w docelową infrastrukturę. Program nslookup jest już obecnie uważany za przestarzały. Nowoczesną alternatywą tego polecenia jest program dig. W przypadku tego polecenia możemy w prosty sposób określić interesujące nas typy rekordów, przykładowo polecenie dig hakin9.org a zwróci między innymi wiersz: hakin9.org. 5 IN A 79.125.4.36, czyli rekord adresowy. W celu wyświetlenia serwerów pocztowych związanych z daną domeną, wystarczy zastosować parametr mx (wpisy w rekordach typu MX). Jeśli uda nam się ustalić serwer autorytatywny (wystarczy w tym celu wykonać polecenie dig hakin9.org ns) dla danej domeny, można spróbować zapytania skierowanego bezpośrednio do tego serwera, w postaci: dig @dns.home.pl hakin9.org any. Ponieważ korzystamy w takim przypadku z serwera autorytatywnego danej domeny, jest wielce prawdopodobne, że odpowiedź będzie zawierała więcej ciekawych informacji. W tym przypadku zapytanie do serwera autorytatywnego rzeczywiście zwraca wszystkie typy rekordów, zapytanie zwykłe (pomimo zastosowania parametru any) zwraca wyłącznie rekordy typu NS.
Techniki bazujące na wydobywaniu informacji z DNS jesteśmy w stanie wykonać nie tylko dla pojedynczego adresu IP, ale dla całych zakresów adresów lub całych organizacji. Możliwe jest to na przynajmniej kilka sposobów, spośród których najciekawsze to:
W przypadku gdy serwer zezwala na nieautoryzowany transfer stref DNS, cracker może w łatwy sposób pobrać całą strefę i dowolnie wykorzystać otrzymane dane. Procedura pobrania strefy DNS może wyglądać następująco:
W tym przypadku otrzymujemy komunikat Transfer failed. Dzieje się tak, ponieważ serwer autorytatywny dla domeny hakin9.org (dns.home.pl) nie zezwala na tego rodzaju transfery. Jednak w przypadku, gdy taki transfer nie będzie zabroniony, powyższa procedura pozwoli na swobodne pobranie całej strefy.
Jeszcze prostsze okazuje się skorzystanie z serwisu serversniff.net. Pośród wielu innych narzędzi, w sekcji Nameserver znajdziemy opcję NS-Report pozwalającą na wygenerowanie dla zadanej domeny niezwykle wyczerpującego raportu zawierającego wszelkie dostępne na jej temat informacje. Serwis jest w stanie odkryć serwery pocztowe związane z daną domeną (poprzez wpisy w rekordach typu MX), strukturę sieci pracującej w danej domenie (poprzez wpisy w rekordach typu NS oraz A), nazwy, aliasy, wersje serwerów DNS oraz możliwość nieautoryzowanych transferów stref DNS (i jeśli jest to możliwe dokonać transferu całej strefy). Jakby tego było mało, serwis jest w stanie dodatkowo wygenerować schemat struktury sieci oraz serwerów pocztowych dla danej domeny. Serwis ten potrafi również wykonać schemat strefy DNS, wystarczy w sekcji Nameserver wybrać opcję Subdomains i wpisać interesującą nas domenę. Obok wyników tekstowych, pojawi się również graficzne przedstawienie całej strefy DNS.
Warto również zwrócić uwagę na funkcję Hostnames on IP. Opcja ta pozwala na odnalezienie wszystkich serwisów pracujących pod zadanym adresem IP. Dla adresu 79.125.4.36 (maszyna hostująca serwis hakin9.org) zwracana jest długa lista innych serwisów pracujących (prawdopodobnie) na tej samej maszynie firmy hostingowej. Tego rodzaju informacja oczywiście również może być użyteczna dla crackerów. Załóżmy, że cracker chciałby uzyskać dostęp do jednego z tych 150 serwisów hostowanych na danej maszynie fizycznej. Jeśli włamywacz nie będzie w stanie odnaleźć żadnej luki umożliwiającej mu na dostęp do interesującego go serwisu, może wpaść na pomysł pośredniego dostania się do interesujących go zasobów. Wystarczy, że uda mu się odnaleźć w jednym z pozostałych serwisów lukę umożliwiającą dostęp do systemu operacyjnego samego serwera, tym samym uzyska dostęp do innych przechowywanych przez niego zasobów.
Ten przestarzały, bezpołączeniowy i pozbawiony odpowiednich mechanizmów autoryzacji protokół, może być wykorzystywany do szeregu niebezpiecznych ataków. Zapytania DNS zawierające fałszywy adres źródłowy (adres ofiary) mogą być wykorzystywane do przeprowadzania ataków typu DDOS. W takim przypadku ofiara zostaje zarzucona nie zamówionymi przez siebie odpowiedziami od serwerów DNS, co może doprowadzić do wyczerpania jej zasobów. DNS podatny jest również na ataki typu man in the middle, co pozwala na przysyłanie fałszywych odpowiedzi do komputera ofiary i w efekcie wymuszenie odwiedzenia sfałszowanej strony WWW, najczęściej w celu kradzieży haseł ofiary.
Znacznie rzadziej rozważa się jednak system DNS jako potencjalne źródło informacji dla intruza na etapie rekonesansu przeprowadzanego przed atakiem, a jak najbardziej DNS może być wykorzystywany również w ten sposób. Dzieje się tak, ponieważ system DNS, obok nazw mnemonicznych i adresów IP przechowuje szereg innych informacji o poszczególnych organizacjach.
Najprostszy przykład wydobywania informacji z systemu DNS stanowi skorzystanie z programu Nslookup. Dzięki tej dostępnej zarówno w systemach Windows, jak i Linux komendzie, możemy uzyskać między innymi następujące informacje:
- adres IP sprawdzanego serwera;
- nazwę serwera;
- aliasy serwera.
Przykładowo, wykonując polecenie nslookup pl.wikipedia.org otrzymamy w wyniku między innymi następujące informacje:
- Nazwa: rr.esams.wikimedia.org;
- Address: 91.198.174.2;
- Aliases: pl.wikipedia.org, rr.wikimedia.org.
Możliwe jest również wykonanie polecenia sprawdzającego adres IP (ang. reverse nslookup): nslookup 91.198.174.2, w wyniku którego otrzymamy między innymi nazwę: rr.esams.wikimedia.org. Nie należy się jednak zawsze spodziewać symetrycznych wyników obu poleceń. Często zdarza się tak, że adres IP uzyskany dla danej domeny, sprawdzony poleceniem nslookup zwróci w wyniku zupełnie inną domenę. Dzieje się tak np. w przypadku domeny hakin9.org. Odpowiadający jej adres to: 79.125.4.36, natomiast polecenie nslookup 79.125.4.36 zwraca domenę: ec2-79-125-4-36.eu-west-1.compute.amazonaws.com. Dzieje się tak, ponieważ w tym przypadku reverse nslookup zwraca domenę firmy hostingowej. W tym przypadku, dzięki poleceniu nslookup, jesteśmy więc w stanie dowiedzieć się z usług jakiej firmy hostingowej (Amazon Web Services) korzysta właściciel domeny hakin9.org. Jest to jednak z punktu widzenia przeprowadzanego rekonesansu informacja mało znacząca. Spójrzmy na wyniki polecenia nslookup dla innego adresu IP, mianowicie adresu: 208.97.169.250. W wynikach pojawia się nazwa: apache2-linus.lankershim.dreamhost.com. Tym razem udało nam się uzyskać zdecydowanie więcej prawdopodobnych informacji na temat konkretnego serwera hostującego zdalny system. Oprócz nazwy firmy hostingowej (dreamhost.com), dysponujemy również bardzo prawdopodobnymi informacjami dotyczącymi:
- wersji serwera WWW: Apache ver. 2;
- rodzaju systemu operacyjnego: Linux.
Całkiem sporo informacji, jak na tak proste polecenie... w dodatku technika ta w żaden sposób nie ingeruje w docelową infrastrukturę. Program nslookup jest już obecnie uważany za przestarzały. Nowoczesną alternatywą tego polecenia jest program dig. W przypadku tego polecenia możemy w prosty sposób określić interesujące nas typy rekordów, przykładowo polecenie dig hakin9.org a zwróci między innymi wiersz: hakin9.org. 5 IN A 79.125.4.36, czyli rekord adresowy. W celu wyświetlenia serwerów pocztowych związanych z daną domeną, wystarczy zastosować parametr mx (wpisy w rekordach typu MX). Jeśli uda nam się ustalić serwer autorytatywny (wystarczy w tym celu wykonać polecenie dig hakin9.org ns) dla danej domeny, można spróbować zapytania skierowanego bezpośrednio do tego serwera, w postaci: dig @dns.home.pl hakin9.org any. Ponieważ korzystamy w takim przypadku z serwera autorytatywnego danej domeny, jest wielce prawdopodobne, że odpowiedź będzie zawierała więcej ciekawych informacji. W tym przypadku zapytanie do serwera autorytatywnego rzeczywiście zwraca wszystkie typy rekordów, zapytanie zwykłe (pomimo zastosowania parametru any) zwraca wyłącznie rekordy typu NS.
- transfer stref DNS (ang. DNS zone transfers);
- skorzystanie z dedykowanych serwisów internetowych, takich jak serversniff.net;
- Nmap –sL
.
W przypadku gdy serwer zezwala na nieautoryzowany transfer stref DNS, cracker może w łatwy sposób pobrać całą strefę i dowolnie wykorzystać otrzymane dane. Procedura pobrania strefy DNS może wyglądać następująco:
- dig hakin9.org ns – ustalenie autorytatywnego serwera DNS dla danej domeny;
- dig @dns.home.pl hakin9.org axfr – transfer całej strefy DNS.
W tym przypadku otrzymujemy komunikat Transfer failed. Dzieje się tak, ponieważ serwer autorytatywny dla domeny hakin9.org (dns.home.pl) nie zezwala na tego rodzaju transfery. Jednak w przypadku, gdy taki transfer nie będzie zabroniony, powyższa procedura pozwoli na swobodne pobranie całej strefy.
Jeszcze prostsze okazuje się skorzystanie z serwisu serversniff.net. Pośród wielu innych narzędzi, w sekcji Nameserver znajdziemy opcję NS-Report pozwalającą na wygenerowanie dla zadanej domeny niezwykle wyczerpującego raportu zawierającego wszelkie dostępne na jej temat informacje. Serwis jest w stanie odkryć serwery pocztowe związane z daną domeną (poprzez wpisy w rekordach typu MX), strukturę sieci pracującej w danej domenie (poprzez wpisy w rekordach typu NS oraz A), nazwy, aliasy, wersje serwerów DNS oraz możliwość nieautoryzowanych transferów stref DNS (i jeśli jest to możliwe dokonać transferu całej strefy). Jakby tego było mało, serwis jest w stanie dodatkowo wygenerować schemat struktury sieci oraz serwerów pocztowych dla danej domeny. Serwis ten potrafi również wykonać schemat strefy DNS, wystarczy w sekcji Nameserver wybrać opcję Subdomains i wpisać interesującą nas domenę. Obok wyników tekstowych, pojawi się również graficzne przedstawienie całej strefy DNS.
Warto również zwrócić uwagę na funkcję Hostnames on IP. Opcja ta pozwala na odnalezienie wszystkich serwisów pracujących pod zadanym adresem IP. Dla adresu 79.125.4.36 (maszyna hostująca serwis hakin9.org) zwracana jest długa lista innych serwisów pracujących (prawdopodobnie) na tej samej maszynie firmy hostingowej. Tego rodzaju informacja oczywiście również może być użyteczna dla crackerów. Załóżmy, że cracker chciałby uzyskać dostęp do jednego z tych 150 serwisów hostowanych na danej maszynie fizycznej. Jeśli włamywacz nie będzie w stanie odnaleźć żadnej luki umożliwiającej mu na dostęp do interesującego go serwisu, może wpaść na pomysł pośredniego dostania się do interesujących go zasobów. Wystarczy, że uda mu się odnaleźć w jednym z pozostałych serwisów lukę umożliwiającą dostęp do systemu operacyjnego samego serwera, tym samym uzyska dostęp do innych przechowywanych przez niego zasobów.
Widać więc wyraźnie, że serversniff.net to potężne narzędzie do zbierania zwiadowczych informacji o danej organizacji na podstawie informacji zawartych w bazach DNS, do tego łatwo dostępne i banalnie proste w obsłudze... jest to więc wymarzone narzędzie dla crackera, jak i dla administratorów bezpieczeństwa informatycznego.
Artykuł autorski HCSL - Wojciech Smol
Globalny system DNS zna strukturę Twojej wewnętrznej sieci!
2009-12-05T15:26:00+01:00
\m/ojtek
Artykuły autorskie|Bezpieczeństwo sieci komputerowych|Obrona - Atak|Wywiad informatyczny|Zbieranie informacji|
Subskrybuj:
Komentarze do posta (Atom)
Wyszukaj w HCSL:
Subskrybuj:
Najpopularniejsze artykuły wszech czasów:
- Urządzenia do kopiowania kart płatniczych
- Co tak naprawdę ujawniasz w Internecie?
- Dlaczego należy zasłaniać klawiaturę bankomatu?
- Publiczna wiadomość z ukrytym przekazem
- Przyszłość antywirusów jest jasna
- Sposób na obejście internetowych blokad
- Superbezpieczne hasła na... żółtej karteczce
- Funkcje sprzętowego kasowania danych w HDD!
- 12-latek odkrył krytyczną lukę w Firefoksie
- Przestępstwo nie popłaca
- Czy jesteśmy inwigilowani przez chiński sprzęt?
- Gotowy zestaw do podsłuchiwania GSM
- Jak działa internetowa mafia?
- Uwaga na nowy rodzaj ataków phishingowych!
- Microsoftowy poradnik dla organów ścigania!
- Polski super-bezpieczny system Qubes OS
- Dane wieczyście dostępne
- Pierwszy atak samochodowych crackerów
- Pliki PDF zdolne do wykonania dowolnego kodu
- Polskie służby współpracują z firmą Google?
- Więzienie za odmowę ujawnienia hasła
- Podrzucanie dziecięcej pornografii
- Zapomniany film o hakerach
- Łamanie haseł w Windows Vista i 7