« poprzedni punkt  następny punkt »


2. Enumeracja Windows

2.1. NetBIOS

Od początku swego istnienia Windows NT/W2K postrzegany jest jako system rozdający darmowe informacje wszystkim ciekawskim. Wynika to z wykorzystywania protokołów przesyłania danych CIFS/SMB (Common Internet File System/ Server Message Block) i NetBIOS.

Do zbierania informacji wykorzystywany jest często pakiet Windows NT Resource Kit, zwany z tego powodu Windows NT Hacking Kit. Zawiera on kolekcję narzędzi, które są bardzo pomocne dla administratora systemu, ale mogą być również wykorzystane przez agresorów do zdobywania cennych informacji.

Wymienione poprzednio protokoły wykorzystują porty 135¸ 139, oraz 445 w Windows 2000. Pierwszym krokiem podczas zdalnego korzystania z tych interfejsów jest utworzenie nieautoryzowanego połączenia z systemem. Używa się w tym celu tzw. polecenia pustej sesji, np:

net use \\192.168.1.2\IPC$ "" /user:""

Powoduje to połączenie z ukrytym zasobem komunikacyjnym IPC$ jako anonimowy użytkownik z pustym hasłem. Zasób ten jest używany do komunikacji między procesowej i z racji swojego przeznaczenia umożliwia zewnętrznym procesom utworzenie anonimowego połączenia. Po stworzeniu takiej anonimowej sesji, tester nie będzie miał co prawda praw dostępu do zasobów, ale będzie mógł zidentyfikować udostępnione zasoby i użytkowników na testowanym komputerze. Większość technik korzysta z tej charakterystycznej luki w zabezpieczeniach.

Nazwy NetBIOS w standardowej postaci mają długość 16 znaków. Ostatni 16 znak określa rodzaj zasobu lub usługę związaną z nazwą. Niektóre przyrostki NetBIOS przedstawiono w tabeli na Rys. 1. Na Rys. 2¸ 4 pokazano przykłady enumeracji systemu Windows z wykorzystaniem różnych programów.

Rys. 1. Przyrostki NetBIOS

Rys. 2. Enumeracja przy pomocy programu NBTSTAT

Rys. 3. Enumeracja przy pomocy programu SRVCHECK

Rys. 4. Enumeracja przy pomocy programu RMTSHARE

Ponieważ puste sesje wymagają dostępu do portu 139, więc najprostszą metodą ich powstrzymania jest filtrowanie ruchu związanego z NetBIOS. Można również wyłączyć usługi Alerter i Messenger. Można również wykorzystać tzw. poprawkę RestrictAnonymous. Polega ona na umieszczeniu w kluczu HKLM\SYSTEM\CurrentControlSet\Control\LSA następującej wartości:

Nazwa wartości: RestrictAnonymous

Typ danych: REG_DWORD

Wartość: 2


2.2. SNMP

System Windows może również udostępniać informacje podobne jak przy enumeracji NetBIOS, jeżeli zostanie na nim uruchomiony agent SNMP. Standardowo SNMP nie jest instalowany. W SNMP, serwerem jest system zarządzający klientem, agent. Jedyną operacją jaką może zainicjować agent jest pułapka, czyli uzyskanie informacji o jakimś zdarzeniu. Pozostałe operacje inicjowane są przez serwer. Jedynym zabezpieczeniem przesyłanych danych jest prymitywne uwierzytelnienie. Polega ono na przynależności do tzw. wspólnot i znajomości nazwy wspólnoty. Aby przechwycić informacje przesyłane przy pomocy SNMP wystarczy znać nazwę wspólnoty. Nazwą standardową jest PUBLIC.

Informacje o monitorowanych obiektach przechowywane są w hierarchicznej bazie MIB (Management Information Base). Dzięki temu serwer wie o co może spytać agentów i w jakim formacie otrzyma odpowiedź (RFC 1213). Typowe, możliwe do uzyskania informacje to:

Obrona przed tego typu działaniem może polegać na:


2.3. DNS

Przestrzeń nazw Active Directory bazuje na DNS. Klienci dzięki rekordowi SRV (opisanemu w RFC 2052) mogą lokalizować w sieci serwery poszczególnych usług. Intruz może uzyskać informacje o usługach poprzez transfer strefy (np. program nslookup). Symbole przykładowych usług to:

gc._tcpkatalog globalny (port 3268)
_kerberos._tcpkontroler domeny wykorzystujący Kerberosa (port 88)
_ldap._tcpserwer LDAP (port 389)


2.4. SID

Zwykle duża część pracy związanej z uzyskaniem dostępu do konta, to zdobycie nazwy użytkownika. Ponieważ większość użytkowników stosuje łatwe hasła, więc często jest to prawie cały wysiłek z tym związany.

SID to identyfikator zabezpieczeń przypisywany systemowi podczas instalacji. Znając SID systemu można sprawdzić praktycznie każde konto i grupę użytkowników w tym systemie. Identyfikator użytkownik zawiera dodatkowy (ostatni) człon tzw. RID, czyli identyfikator względny. Dla kont i grup wbudowanych jest on ustalony: Administrator (500), Guest (501), konta lokalne lub domenowe (1000, 1001, 1002, itd.). Przeciwdziałanie enumeracji kont realizuje się jak w przypadku przeciwdziałania zapytaniom NetBIOS. Innym sposobem jest wyłączenie usług Alerter i Messenger.

Rys. 5. Enumeracja SID

Informację w czasie enumeracji można również realizować poprzez łączenie się ze zdalnymi aplikacjami i obserwowanie zwracanych przez nie danych. Nazywamy to przechwytywaniem etykiet. Najprostsza metoda to nawiązanie połączenia przez telnet ze znanym portem wybranego na cel serwera. W razie potrzeby należy wcisnąć kilka razy Enter.

Obrona wymaga dużo pracy ze strony administratora. Należy sporządzić listę aplikacji, które muszą funkcjonować a następnie znaleźć odpowiednie dla nich metody wyłączenia pokazywania informacji o ich producencie, wersji, itp. Co pewien czas należy dokonywać skanowania aby upewnić się, że niepożądane informacje faktycznie nie są udostępniane.


2.5. Przechwytywanie etykiet

Informację można również uzyskać poprzez łączenie się ze zdalnymi aplikacjami i obserwowanie zwracanych przez nie danych. Nazywamy to przechwytywaniem etykiet lub pozyskiwaniem banerów. Najprostsza metoda to nawiązanie połączenia przez telnet ze znanym portem wybranego na cel serwera. W razie potrzeby należy wcisnąć kilka razy Enter.

Obrona wymaga dużo pracy ze strony administratora. Należy sporządzić listę aplikacji, które muszą funkcjonować a następnie znaleźć odpowiednie dla nich metody wyłączenia pokazywania informacji o ich producencie, wersji, itp. Co pewien czas należy dokonywać skanowania aby upewnić się, że niepożądane informacje faktycznie nie są udostępniane.

c:\telnet www.testowa.com 80

HTTP/1.0 400 Bad Request

Server: Netscape-Commerce/1.12

Your browser sent a non-HTTP compliant message


« poprzedni punkt  następny punkt »