|
W tej serii artykułów dokonamy zarówno włamania jak i przeanalizujemy jego metodologię. Poprzez zrozumienie metodologii hakera łatwiej można bronić własne sieci.
Ta seria artykułów będzie oparta na naruszeniu ochrony systemu sieciowego. To co omówimy będzie samym atakiem: rozpoczynając od fazy rozpoznania, poprzez wykaz, nadużycie obsługi sieci, kończąc na strategiach wykorzystywanych po nadużyciu. Następnie przyjrzymy się wszystkim tym fazom na poziomie pakietu oraz omówimy je. Możliwość przyglądania się i zrozumienia ataku na poziomie pakietu jest niezwykle istotne zarówno dla administratorów systemu (sys admin) jak i personelu bezpieczeństwa sieci. Wydajność zapór sieciowych, systemów wykrywania włamań (IDS - Intrusion Detection Systems) i innych narzędzi służących zabezpieczeniu zawsze z kolei będzie prowadziło do przyglądnięcia się rzeczywistemu ruchowi w sieci. Jeżeli nie rozumiesz tego, czemu się przyglądasz na poziomie pakietu, wtedy cała technologia zabezpieczenia sieci, jaką posiadasz, jest całkowicie bezużyteczna. Następnie przejdziemy do opisania jak napisać podpis Snort oparty na ruchu ataku.
Narzędzia użyte do tego symulowanego ataku sieciowego:
Przygotowanie gruntu
W dzisiejszym Internecie nie brakuje wrogiego skanowania, nie wspominając o aktywności robaków i innych form złośliwego oprogramowania, takich jak wirusy. To wszystko przyczynia się do dużej ilości białego szumu wokół dobrze chronionej sieci komputerowej. To na co powinniśmy patrzeć, to osoba, która świadomie celuje w sieć komputerową. Dla tego artykułu przyjmujemy, że haker do tej pory wybrał ofiarę, a wcześniej przeanalizował różne dane, w tym znalazł adres IP lub adresy sieci ofiary. Być może próbował też znaleźć inne cenne informacje, takie jak adresy e-mail powiązane z daną siecią. Ten rodzaj informacji jest najistotniejszy w przypadku, gdyby haker miał się dowiedzieć, że nie ma sposobu, aby dostać się do sieci po tym jak została ona przeskanowana. Adresy e-mail, które zdobył, byłyby użyteczne przy ustawieniu ataku od strony punktów końcowych sieci (client-side attack), dzięki któremu haker mógłby próbować przyciągać użytkownika do złośliwej strony WWW poprzez link znajdujący się w e-mailu. Więcej o tym rodzaju ataku w następnej serii artykułów.
Jak to wygląda?
Popatrzymy teraz na czynności potencjalnego hakera, na to jak radzi sobie ze skanowaniem sieci ofiary. Pierwszym narzędziem, które używa haker jest Nmap (Network Mapper). Chociaż Nmap ma dość dużą ilość podpisów IDS, nadal jest dosyć przydatnym narzędziem oraz bardzo często używanym.
Na zrzucie ekranu widzimy, że w składni użytej przez hakera, świadomie wybiera on port 21 i 80, ponieważ posiada kilka exploitów, których może użyć poprzez Metasploit Framework. I to nie wszystko. Istnieją też dwie usługi systemowe oraz protokoły, które haker zupełnie dobrze rozumie. Widać także, że używa on skanowania typu SYN scan, który jest najpopularniejszym typem skanowania portów. Dzieje się tak jeżeli usługa, która korzysta z TCP oczekuje na porcie, który jest skanowany pakietem SYN, a następnie wysyła z powrotem pakiet SYN/ACK. Pakiet SYN/ACK wskazuje, że usługa naprawdę tam się znajduje i czeka na połączenia. Nie można powiedzieć tego samego o usługach opartych na UDP, takich jak DNS (DNS również używa TCP, choć zazwyczaj korzysta z UDP dla większości swoich transakcji).
Wypisana poniżej składnia to dane wyjściowe zgromadzone przez Nmap z pakietów, które wysyła, lecz – aby być bardziej dokładnym – z pakietów, które otrzymuje jako wynik właśnie przeprowadzonego skanowania typu SYN scan. Widzimy, że na pozór oferowane są zarówno usługi FTP jak i HTTP. Nie jesteśmy tak naprawdę zainteresowani adresem MAC, więc go pominiemy. Mimo że narzędzia takie jak Nmap nie mylą się często, zawsze warto sprawdzić informacje na poziomie pakietu, aby zapewnić sobie ich dokładność. Gromadzenie informacji na temat hostów, usług oraz architektury nie powinno pochodzić tylko stąd. Powinniśmy patrzeć również na pakiety wracające z sieci ofiary.
Skonsultujmy się z pakietami
Istnieje dzisiaj wiele programów, które wyprą pakiety, a zastąpią je informacjami takimi jak rodzaj systemu operacyjnego, informacje architektoniczne, np.: x86 lub SPARC itd. Tak naprawdę nie jest to taka zabawa, a co istotniejsze: niczego się nie uczymy, ponieważ pozwalamy programowi robić za nas całą robotę. Przyglądnijmy się mechanizmowi Nmap packet trace i wydobądźmy jakieś informacje o sieci ofiary.
10:52:59.062500 IP (tos 0x0, ttl 43, id 8853, offset 0, flags [none], proto: ICMP (1), length: 28) 192.168.111.17 > 192.168.111.23: ICMP echo request seq 38214, length 8
0x0000: 4500 001c 2295 0000 2b01 0dd3 c0a8 6f11 E..."...+.....o.
0x0010: c0a8 6f17 0800 315a 315f 9546 ..o...1Z1_.F
10:52:59.078125 IP (tos 0x0, ttl 128, id 396, offset 0, flags [none], proto: ICMP (1), length: 28) 192.168.111.23 > 192.168.111.17: ICMP echo reply seq 38214, length 8
0x0000: 4500 001c 018c 0000 8001 d9db c0a8 6f17 E.............o.
0x0010: c0a8 6f11 0000 395a 315f 9546 0000 0000 ..o...9Z1_.F....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
W dwóch powyższych pakietach widać tekst (salvo) otwarcia z Nmap. To, co on robi to wysłanie do sieci ofiary prośby za pomocą echa ICMP (ICMP echo request). Zauważysz, że nie jest on skierowany na określony port – ponieważ ICMP nie używa portów – ale jest obsługiwany przez funkcję obsługi błędu wiadomości ICMP, która jest wbudowana w zbiorze protokołów TCP/IP. Ten pakiet ICMP jest także opisany pieczątką z unikatowym numerem, w tym przypadku 38214, aby pomóc zbiorowi TCP/IP śledzić ruch powracający i powiązać go z wcześniej wysłanym pakietem ICMP. Pakiet bezpośrednio nad nami jest odpowiedzią z sieci ofiary, w formie odpowiedzi „echo” ICMP. Zauważ też, że ma ona numer sekwencyjny 38214. Tak więc haker wie, że za tym adresem IP naprawdę istnieje komputer lub sieć komputerów.
Ta otwierająca sekwencja pakietu ICMP odpowiada na pytanie dlaczego Nmap ma na to podpis IDS. Ta opcja wykrywania hostów ICMP może być wyłączona w Nmap jeśli jest taka potrzeba. Jaki rodzaj informacji może być gromadzony poprzez będący tego powodem pakiet odpowiedzi „echo” ICMP z sieci ofiary? W rzeczywistości nie jest to masa informacji pomocnych przy sprofilowaniu sieci. Jednak może posłużyć do wykonania wstępnego dźgnięcia w to, co jest rodziną systemu operacyjnego. Czas dla aktywnego pola oraz wartości przy nim to ten podświetlony w pakiecie powyżej. Wartość 128 wskazuje na prawdopodobieństwo, że komputer posiada system Microsoft Windows. Podczas gdy wartość TTL nie daje definitywnej odpowiedzi na pytanie jaki jest system operacyjny, prawdopodobnie zostanie on potwierdzony przez kolejne pakiety, którym się przyglądniemy.
Zakończenie
Do tej pory w tej części zobaczyliśmy jak złośliwy haker skanuje sieć dla dwóch określonych portów przy użyciu Nmap. Do teraz ustalił, że komputer lub sieć komputerów mieści się na konkretnym adresie IP. W drugiej części będziemy kończyć badanie naszego śledzenia pakietu oraz wydobędziemy pozostałe informacje na temat profilowania.
|