Testy penetracyjne cz. 2. Szpiegowania ciąg dalszy

Wspominaliśmy wcześniej o możliwości identyfikacji zapory. Jest to zadanie trudne z kilku powodów. Po pierwsze, dostępu do badanych zasobów może chronić kilka urządzeń filtrujących np. routery brzegowe, które już na wejściu ograniczają liczbę otrzymywanych danych. Pół biedy, jeżeli nasz host znajduje się pomiędzy routerem a firewallem. Cała bieda, jeżeli posadowiony jest za firewallem.

Dla celów niniejszego artykułu przyjmijmy, że jedynym urządzeniem filtrującym jest firewall. Najprostszym sposobem rozpoznania rodzaju zapory jest dokładne przejrzenie list dyskusyjnych, które dotyczą tej tematyki -np. FW-1 Gurus (Checkpoint), comp.dcom.sys.cisco (Cisco), Firewalls - securityfocus.com (ogólnie o firewallach). Bardzo możliwe, że znajdziemy tam posty któregoś z administratorów naszej firmy i w ten sposób zorientujemy się w rodzaju posiadanych zabezpieczeń. Zdejmie to z naszych barków ciężar stosowania bardziej zaawansowanych technik. Możemy także starać się pomóc temu administratorowi w rozwiązaniu jego problemów. Przy okazji mamy szansę zadać mnóstwo pytań niezwiązanych bezpośrednio ze sprawą, a mających na celu jedynie poszerzenie naszych wiadomości.

Jedną z podstawowych metod identyfikacji zapory może być wykorzystanie różnych sposobów implementacji stosu IE Każda z firm produkujących zabezpieczenia w pewien sposób modyfikuje stos IP i dzięki tym różnicom możliwe jest wykrycie konkretnych rozwiązań. Uniwersalny Nmap umożliwia nam przeprowadzenie identyfikacji systemu właśnie poprzez sprawdzanie poszczególnych elementów stosu (bierze pod uwagę między innymi pola timestamp, window size, bit DF itp.). W ten sposób możemy wykryć kilka popularnych firewalli.

Zobacz również:

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

Dodatkowo, podczas skanowania portów, możemy zauważyć zachowania typowe dla niektórych typów zapór. Weźmy np. proxy aplikacyjne. Zapewne zdziwi nas mnogość otwartych portów. Cóż, właśnie w przypadku proxy jest to typowe zachowanie. Każda z usług, którą chroni, ma dedykowaną aplikację, która odpowiada za badanie pakietów w warstwie 7. Dodatkowo np. Symantec Gateway Security 5400 ma otwarty port administracyjny 2456.

Zupełnie inaczej wyglądać będzie reakcja filtra pakietów. Wysyłając pakiet SYN na zamknięty port, nie powinniśmy otrzymać żadnej odpowiedzi - jest to pierwszy pakiet inicjujący połączenie, a zatem filtr działa zgodnie z wytycznymi i zwyczajnie odrzuca połączenie bez zawiadamiania o tym nadawcy. Jeżeli jednak na ten sam port wyślemy pakiet z ustawioną flagą ACK, powinniśmy otrzymać RST, ponieważ filtr nie widzi żadnej próby nawiązania połączenia i zwyczajnie przepuszcza pakiet dalej, a skoro port jest zamknięty, host docelowy zgodnie z RFC wysyła RST.

Testy penetracyjne cz. 2. Szpiegowania ciąg dalszy

Przydatne narzędzia i źródła informacji

Jeszcze innym sposobem jest wykorzystanie faktu, iż obecnie wiele rozwiązań zabezpieczających posiada rozszerzenia dalece wykraczające poza podstawową funkcjonalność firewalla. Jednym z nich może być realizowanie funkcji serwera VPN - usługi, która ze względu na rosnącą liczbę telepracowników, użytkowników mobilnych staje się wręcz koniecznością. Rozwiązania zintegrowane zaoszczędzają sporo środków w budżecie, a administratorom pozwalają na łatwą implementację i zarządzanie. Ułatwiają także pracę testera.

Jeżeli badana zapora udostępnia funkcjonalność serwera VPN możemy skorzystać z wiedzy, którą zdobyli twórcy oprogramowania ike-scan (http://www.nta-monitor.com/ike-scan ). Jest to narzędzie wykorzystujące zestaw protokołów IKE (Internet Key Exchange) służących do ustanawiania parametrów komunikacji pomiędzy serwerem a klientem VPN. Okazuje się, że przy użyciu ike-scan można zidentyfikować wiele zapór sieciowych, wysyłając odpowiednio spreparowane pakiety i nasłuchując odpowiedzi. Produkty, takie jak: Cisco PIX, Checkpoint FW-1, Nortel Contivity są stosunkowo łatwe do rozpoznania. W przypadku Checkpointa możliwe jest nawet określenie wersji oprogramowania. Znając rodzaj zapory, możemy zacząć poszukiwać luk i niedociągnięć, które również bardzo często ukazują się na tematycznych listach dyskusyjnych i np. Bugraqu prowadzonym przez wspomniany wcześniej portal SecurityFocus.

Teraz mamy już "jako taki" obraz dostępu do różnych usług z Internetu, przy odrobinie szczęścia poznaliśmy rodzaj urządzenia, które stoi na straży sieci. Wiemy, że serwer WWW może być podatny na pewne zagrożenia. Zanim posuniemy się dalej i spróbujemy wykorzystać znalezione luki, spróbujmy innych metod. Człowiek jest z natury istotą leniwą i jeżeli coś wymaga od niego większego nakładu pracy, szuka dróg alternatywnych dążąc do znalezienia łatwego rozwiązania. My również możemy spróbować znaleźć taką drogę. Czasami okazuje się, że nie ma potrzeby wyważania jednych drzwi, ponieważ inne stoją otworem. Zatem poznajmy trzy inne drogi, które mogą już takie "drzwi" posiadać.

Droga pierwsza - MANIPULACJA

W wielu przypadkach metody proste okazują się najskuteczniejsze - tak jest i tym razem. Jeżeli organizacja, którą badamy, jest odpowiednio duża, możemy śmiało sięgnąć po techniki manipulacji określane szumną nazwą inżynierii społecznej.

Oczywiście zdajemy sobie sprawę, że przeprowadzenie takich testów nie zawsze jest w pełni możliwe. Jeżeli nasza firma jest niewielka i wszyscy się znają z większości poniższych technik musimy zrezygnować. Inaczej rzecz się ma, jeżeli jest to wielka korporacja - wtedy szansę na zachowanie anonimowości rosną w sposób znaczny. Nie miejsce tu na opisywanie cech psychiki ludzkiej i udowadnianie, dlaczego takie, a nie inne działanie się udaje. Wystarczy klika prostych przykładów na to, jak psychologię można wykorzystać do własnych celów.

Dzięki poczynionemu wcześniej rozpoznaniu znamy adresy mailowe administratora - może nawet jego imię i nazwisko. Jeżeli skorzystaliśmy z list dyskusyjnych i tam nawiązaliśmy kontakt z osobą odpowiedzialną za bezpieczeństwo, to tym lepiej. Mamy też kontakt do help desku, wiemy kto odpowiada za kontakty z klientami itp. Pozostaje już tylko użyć tych danych i przeprowadzić kilka ataków.

Wszystko zależy od tego, jak bardzo chcemy ryzykować, jakie posiadamy umiejętności zjednywania sobie ludzi i - nie ukrywajmy - od bezczelności. Im bardziej zuchwały atak, tym większe szansę, że się powiedzie. Weźmy na przykład help desk - dział, który przeważnie ma dużo pracy i nie jest w stanie ogarnąć wszystkiego, co się dzieje. Dzwoniąc do help desku, możemy podać się za rzeczywistego pracownika działu obsługi klienta. Mówiąc dość szybko i z wyraźnym zdenerwowaniem poprosić o pomoc w zalogowaniu się do serwera obsługi transakcji. Na pytanie w rodzaju: "Ale jak mogę pomóc?" stwierdzamy, że zgubiliśmy hasło dostępu, a klient strasznie się piekli i zaraz będzie awantura. Scenariusz banalny, ale jeżeli jesteśmy dobrymi aktorami - ma duże szansę powodzenia i już po chwili możemy być szczęśliwymi posiadaczami hasła dostępu. To wersja w miarę bezpieczna. Nie wymaga bezpośredniego kontaktu z człowiekiem.

Spróbujmy więc czegoś bardziej wysublimowanego. Ubierzmy się w miarę elegancko, załóżmy na szyję jakiś poważnie wyglądający identyfikator. Postarajmy się wejść do firmy jak do siebie i zwyczajnie zacznijmy przechadzać się pośród pracujących ludzi. Stosując technikę "wiszenia nad ramieniem" możemy dostrzec identyfikator, hasło itp. Jeżeli mamy mocne nerwy, możemy nawet podejść do jakiejś siedzącej na uboczu osoby, następnie powiedzieć, że system bezpieczeństwa wykrył, że hasło używane przez użytkownika jest za stare, musi być ze względów bezpieczeństwa zmienione na nowe i odpowiednio trudne. Jeśli trafimy na niezbyt rozgarniętą osobę, jest szansa, że sami podamy jej nowe hasło. Brzmi jak film sensacyjny? Być może, ale jego scenariusz powstał na faktach. Aby uwiarygodnić własną postać, możemy w trakcie rozmowy z pracownikiem wykonać fikcyjny telefon rzekomo do działu bezpieczeństwa i potwierdzić zmianę hasła. Szczytem odwagi/bezczelności jest wybranie się do badanej firmy z laptopem i znalezienie sobie miejsca, gdzie można go podłączyć do sieci LAN.

Podpięcie się do sieci od wewnątrz ma sens tylko wtedy, jeżeli sami nie jesteśmy jej administratorami. Bo jeżeli tak jest, to wszystkie alarmy, jakie zostaną podniesione, trafią właśnie do nas. Sam fakt możliwości wniesienia komputera i podłączenia się do infrastruktury, to wystarczający sygnał, że coś jest nie tak z naszymi szeroko rozumianymi zabezpieczeniami. Co innego, jeżeli odwiedzamy oddział, który nie jest przez nas bezpośrednio zarządzany.

W takim przypadku śmiało możemy zacząć mówić o wewnętrznych testach penetracyjnych. Odbiegają one nieco od testów zewnętrznych, gdyż nastawione są przede wszystkim na wykrycie słabości i potencjalnych luk, które mogą być wykorzystane przez osobę z wewnątrz (np. przekupionego lub niezadowolonego z warunków zatrudnienia pracownika).

W tym miejscu konieczna jest pewna dygresja: Co prawda mówimy teraz o inżynierii społecznej, ale warto właśnie tutaj w skrócie powiedzieć o tym, co można szybko sprawdzić po podłączeniu się do sieci. Zanim to zrobimy, musimy przygotować odpowiednie narzędzia i plan postępowania, tak aby nasz proceder trwał możliwie krótko. Można do tego celu wykorzystać gotowe narzędzia - np. specjalizowane dystrybucje Live (uruchamiane bezpośrednio z cdromu). Mają one trzy miłe cechy. Po pierwsze, zawierają zestaw najbardziej użytecznych w testach programów. Po drugie (!) są darmowe, a po trzecie nie wymagają specjalnej konfiguracji.

Przykładem takiej dystrybucji może być Pentoo (http://www.pentoo.ch ) - oparta na Gentoo Linux, wyposażona w wiele przydatnych narzędzi. Zaraz po podpięciu do sieci - jeżeli będziemy mieli dostatecznie dużo szczęścia - dostaniemy adres IP z serwera DHCP. Przestawiamy kartę sieciową w tryb przechwytywania pakietów (promiscuous), np. ifconfig ethO promisc, i zaczynamy nasłuchiwanie w poszukiwaniu komunikacji w warstwie 2 (ARP, RARP). Przechwycone pakiety pomogą w sporządzeniu listy aktywnych hostów, którą od razu przekażemy do pliku: #tcpdump arp > arp.txt

Jeżeli będziemy mieli WIELKIE szczęście, może się okazać, że podłączyliśmy się do huba bezpośrednio za zaporą, a wtedy pakiety wręcz same będą prosić się o przechwycenie. Jeżeli dysponujemy wydajną maszyną, możemy poprosić tcpdump o zrzucenie całości ruchu płynącego przez nasz komputer, który później w zaciszu domowym będzie mógł być poddany dalszej analizie. Cały czas patrzymy na zegarek - czas podłączenia na dziko powinien być możliwie krótki, aby uniknąć wpadki. Ponadto, jeżeli podczas wcześniejszych testów z zewnątrz udało nam się otrzymać przypadkowo odpowiedź z adresu należącego do puli prywatnej, możemy przeskanować aktywnie całą podsieć, do której adres ten należał - tym razem od środka:

#nmap -sS -PO -Tinsane 192.168.10.1-254

Posłużyliśmy się tutaj trybem (przełącznik -T) insane. Jest to najbardziej agresywne z możliwych skanowań. Ale nam zależy na czasie, dlatego nie bawimy się w eleganckie podchody. Jeśli lubimy dreszczyk emocji, możemy dodatkowo uruchomić skaner usług sieciowych amap (http://www.thc.org/thc-amap ), który dodatkowo zidentyfikuje serwisy uruchomione na zeskanowanych maszynach. Jest to narzędzie o tyle interesujące, że potrafi rozpoznać rodzaj usług, nawet jeżeli administrator zmienił używany przez nie port na niestandardowy. Jeżeli więc któryś z wykrytych hostów szczególnie nas zainteresuje, możemy potraktować go komendą:

#amap -b -q -v -1 192.168.10.24 10-5900

W ten sposób przeskanujemy większość portów, na których mogą być uruchomione jakieś usługi i spróbujemy je zidentyfikować. Ta czynność chwilę potrwa - stąd ten emocjonujący dreszczyk.

Mając taki ogrom informacji, odpinamy komputer i wychodzimy "jak gdyby nigdy nic". Analiza danych pomoże nam w naszkicowaniu mapy sieci. Jeżeli podłączyliśmy się do huba, naszym podstawowym zarzutem będzie brak segmentacji sieci.

Ale powróćmy do inżynierii społecznej. Kolejną stosowaną techniką jest dumpster diving (dosł. nurkowanie w śmietniku), czyli przeszukiwanie koszy na śmieci w poszukiwaniu ciekawych informacji. Może się zdarzyć (i zdarza się dość często), że znajdziemy tam karteczki z zapisanymi identyfikatorem, hasłem, numerami telefonów, adresami stron itp. Wszystkie te dane poszerzają obraz poziomu bezpieczeństwa i w zależności od rodzaju znalezisk świadczą o stopniu zagrożenia.


TOP 200