Testy penetracyjne cz. 1

Mając adres strony WWW, możemy również wyciągnąć jeszcze kilka innych całkiem przydatnych informacji. Wykorzystamy do tego standardowe narzędzia dostępne w większości systemów operacyjnych. Po pierwsze, zobaczymy jaka organizacja jest właścicielem strony, może poznamy jeszcze jeden numer telefonu, dowiemy się czegoś o serwerach DNS i zobaczymy, kto jest odpowiedzialny za obsługę techniczną. W Unixie użyjemy komendy whois.

whois naszafirma.pl

Domain object:

domain: naszafirma.pl

registrant's handle: nsk205149 (CORPORATE)

nservers: dns1.naszafirma.pl.

dns2.naszafirma.pl.

created: 2002.02.10

last modified: 2005.02.15

registrar: Rejestrator Domen

ul. Rejstratorska 10

00-000 Warszawa

Polska/Poland

+48.22 9999999

[email protected]

Holder's Contact object:

company: Nasza Firma - SP. Z.O.O.

street: Nasza Firmowa 33

city: 66-666 Firmowo

location: PL

handle: rejstr23434534534

phone: +48.66 66 66 66 66

last modified: 2003.04.09

registrar: Resjestratornia

ul. Rejestratorniowa 123

00-000 Rejestrowo

Polska/Poland

+48.99.674567885

[email protected]

Whois database last updated: 2005.12.04

Dalej posługując się programem nslookup, możemy spróbować ustalić nazwy serwerów pocztowych, wykorzystując do tego zapytanie o rekordy MX (Mail Exchanger) wskazujące na serwery pocztowe. Później możemy sprawdzić, który z serwerów DNS jest autorytatywny dla danej domeny, odpytując o rekordy SOA (Start of Authority).

C:\nslookup -type=mx naszafirma.pl lub

C:\nslookup -type=soa naszafirma.pl

Możemy też uzyskać wszystkie dostępne informacje, przypisując opcji - type wartość all.

Skoro mowa o serwerach DNS. Jeżeli uda nam się ustalić serwer autorytatywny dla danej domeny - w naszym przypadku domeny naszafirma.pl - możemy podjąć próbę wydobycia z niego wszystkich rekordów dla strefy, w której serwer ten "rządzi". Możliwe jest to dzięki tzw. transferom stref (zone transfers).

Zobacz również:

  • Testy penetracyjne systemów IT - czy warto w nie zainwestować?
  • Bezpieczeństwo w chmurze publicznej nadal priorytetowe

Z reguły w każdej większej sieci funkcjonują przynajmniej dwa serwery DNS. Jeden z nich pracujący w trybie Primary i reszta w trybie Secondary. Serwer Primary przechowuje dane o hostach w sieci, za którą odpowiada, a serwer Secondary przechowuje kopie tych informacji. Aby kopia znajdująca się na serwerze Secondary była aktualna, musi on co jakiś czas synchronizować posiadane dane z serwerem Primary. Ten proces wymiany informacji to właśnie zone transfer.

Jeżeli serwery są słabo zabezpieczone, to być może uda nam się wykonać kopię zawartości rekordów serwera Primary i podejrzeć ich zawartość. Zazwyczaj będą to serwery ftp, www, czasem może i firewall. Do wykonania transferu możemy użyć np. oprogramowania dig, jednego z serwisów internetowych oferujących narzędzia online, np.http://www.digitalpoint.com/tools/zone-transfer/ lub kombajnu, np. SamSpade. Z reguły próby te zakończą się porażką, ale spróbować zawsze warto. Gdyby jednak się udało, uzyskalibyśmy informacje podobne do poniższych:

3600; refresh (1 hour)

600; retry (10 mins)

1209600; expire (14 days)

3600 ); minimum (1 hour)

naszafirma.pl. 3600 A 5.5.5.5

naszafirma.pl. 3600 NS dns1.naszafirma.pl

naszafirma.pl. 3600 NS dns2.naszafirma.pl

naszafirma.pl. 3600 MX10 poczta.naszafirma.pl

firewall1.naszafirma.pl. 3600 A 5.5.5.6

ids.naszafirma.pl. 3600 A 5.5.5.8

www.naszafirma.pl. 3600 A 5.5.5.9

ftp.naszafirma.pl. 3600 A 5.5.5.10

kontroler.naszafirma.pl. 3600 A 5.5.5.11

naszafirma.pl. 3600 SOA dns1.naszafirma.pl. administrator.naszafirma.pl.

10; serial

3600; refresh (1 hour)

600; retry (10 mins)

1209600; expire (14 days)

3600 ); minimum (1 hour)

Mając już zebrane w kilku powyższych krokach dane, przystępujemy do kolejnej fazy naszej operacji. Wykorzystując poznane wcześniej publiczne adresy IP hostów, możemy prowadzić dalsze rozpoznanie, stosując wszystkim znany protokół ICMP, którego używamy codziennie, wykonując komendę ping. Protokół ten ma wiele możliwości daleko wykraczających poza zwykły ping. Dzięki niemu możemy zidentyfikować rodzaj systemu operacyjnego maszyny. Spróbujemy zatem wykonać komendę:

C:\ping -n 1 www.naszafirma.pl

otrzymujemy rezultat:

Odpowiedź z xxx.xxx.xxx.xxx: bajtów=32 czas=30ms TTL=246

W wyniku interesuje nas wartość parametru TTL (Time to Live). Jest to liczba, która jest różna w zależności od systemu operacyjnego. Oczywiście, wartość tę można modyfikować i oszukiwać napastnika, podszywając się pod inny system. W zdecydowanej większości przypadków liczba ta pozostaje jednak niemodyfikowana.

Co nam mówi wartość 246? Na razie jeszcze nic. Aby uzyskać pełniejszy obraz, prześledzimy trasę, jaką pokonuje pakiet, kiedy wysyłamy powyższe zapytanie. Korzystając z programu Tracert (Windows) lub Traceroute (Linux), sprawdzamy:

C:\tracert -h 15 www.naszafirma.pl

I otrzymujemy wynik:

1 62 ms 16 ms 8 ms Router 1

2 59 ms 31 ms 25 ms Router 2

3 29 ms 33 ms 16 ms Router 3

4 34 ms 79 ms 56 ms Router 4

5 * 31 ms 44 ms Router 5

6 85 ms 77 ms 88 ms Router 6

7 69 ms 36 ms 67 ms Router 7

8 88 ms 77 ms 75 ms Router 8

9 88 ms 36 ms 94 ms www.naszafirma.pl

Testy penetracyjne cz. 1

Wartości parametru TTL ICMP ECHO REPLY

Wynika z tego, że pakiet musiał przeskoczyć 9 razy zanim dotarł do serwera www.naszafirma.pl. Sumujemy 246 uzyskane w pingu i 9 skoków z tracerta i mamy 255. Taki wynik to znak rozpoznawczy większości systemów unixowych (patrz tabela).

Korzystając z dobrodziejstwa protokołu ICMP oraz zainstalowanego lokalnie osobistego firewalla z analizą stanów, możemy też niekiedy dowiedzieć się - trochę przy okazji - o adresacji hostów znajdujących się w strefie DMZ (demilitarized zone).

Okazuje się, że część korporacyjnych zapór przepuszcza pakiety ICMP bez modyfikowania ich nagłówków w procesie translacji adresów. W rezultacie czasami możemy otrzymać odpowiedź z prywatnej puli adresowej. Jednak aby można było wychwycić taką odpowiedź, musimy nasłuchiwać na możliwie niskim poziomie, a to zapewnia wspomniany osobisty firewall. Do tego celu możemy również użyć analizatora pakietów, np. popularnego Ethereal czy Tcpdump.

A to jeszcze nawet nie połowa

Na tym etapie postępowania mamy już cały serwis internetowy firmy, informacje o samej firmie, podstawowe dane dotyczące serwerów www, DNS, czasem FTP. Co ważne - wszystkie te informacje zebraliśmy nieinwazyjnie, starając się nie zwracać na siebie uwagi. To jednak dopiero wierzchołek góry lodowej. Daleka jeszcze droga do dostania się do badanych zasobów. Niemniej odwaliliśmy kawał dobrej roboty i mamy prawo czuć zmęczenie. Dlatego pora odpocząć i dać sobie odrobinę czasu na przetrawienie zebranego materiału, aby móc go w odpowiednim czasie wykorzystać.

Zapraszamy na: Testy penetracyjne cz. 2 szpiegowania ciąg dalszy


TOP 200