www.eprace.edu.pl » omijanie-zapor-sieciowych » Atak na zaporę ogniową » Rozpoznanie zapory

Rozpoznanie zapory

Pierwszym krokiem podczas atakowania zapory ogniowej jest precyzyjna identyfikacja i rozpoznanie platformy, na której zapora pracuje. Techniki opisujące rozpoznanie, zostały dość szczegółowo przedstawione w rozdziałach 4.01 – 4.02. Dopiero po dokonaniu dokładnej identyfikacji atakowanego systemu, włamywacz może wyszukać w publicznie dostępnych serwisach internetowych34 informacji, na temat wykrytych luk w bezpieczeństwie danej zapory. Zostaną one później wykorzystane do przejęcia kontroli nad celem.

Błędna konfiguracja reguł dostępu

Nieświadomość zagrożeń sprawia, iż wielu administratorów, konfigurując wychodzące reguły dostępu na zaporze ogniowej stosuje ‘any’ (gdziekolwiek) jako adres docelowy. Ma to na celu zezwolenie na połączenie do Internetu, na jakikolwiek adres i jakąkolwiek usługę.

Z pozoru wygląda to niegroźnie, bowiem dotyczy połączeń nawiązywanych z sieci chronionej lub DMZ do innych sieci. Niestety owe podejście sprawia, iż zezwala się na więcej, niż jest to wymagane. W rezultacie udany atak na serwer w strefie DMZ pozwala na połączenie się z niego także do sieci chronionej. Szczegóły takiego scenariusza zostały przedstawione w punkcie 4.2.5.

Mechanizm ochronny:

- Deny ip any siec_DMZ;
- Deny ip any siec_LAN;
- Permit ip any any;

Domyślne konfiguracje

Jednym z najbardziej trywialnych sposobów włamania się do urządzenia jest wykorzystanie jego domyślnej konfiguracji. Administratorzy czasami zapominają szczególnie o zmianie domyślnych, predefiniowanych haseł, jakie zaszyte są w nowo zakupionym urządzeniu. W przypadku takiego zaniedbania, intruz może odwiedzić jedną z wielu witryn w Internecie, na których znajduje się lista domyślnych haseł do sprzętu różnych producentów. Przykładem takiej witryny jest bogata baza dostępna pod adresem http://www.phenoelit.de/dpl/dpl.html.


Ataki słownikowe
Jeśli próby logowania na domyślne hasła nie dają pozytywnego rezultatu, intruz może wykonać atak metodą słownikową, wykorzystując dostępne narzędzia automatyzujące ten proces. Atak tego typu polega na podstawianiu kolejnych kombinacji nazwy użytkownika oraz hasła na podstawie stworzonego przez hackera pliku z listą różnorodnych słów, cyfr i znaków – tak zwanego słownika. Jest to metoda skuteczna, aczkolwiek niezwykle czasochłonna i „hałaśliwa”, ponieważ powoduje ogromne ilości błędów w logach atakowanego systemu. W rezultacie atak tego typu jest przeważnie szybko wykrywany przez administratorów, bądź systemy IPS.


Rys. 5.1.2 – Jeśli urządzenie zezwala na zalogowanie, intruz może próbować na zasadzie prób i błędów odgadnąć hasło dostępu.

Problem domyślnych konfiguracji dotyczy nie tylko haseł. Zagrożenie stanowią także powszechnie znane nazwy wspólnot SNMP, a także porty, na których pracują specyficzne dla danej platformy usługi. Poniżej przedstawiony został przykład listy domyślnie otwartych portów, dostępnych na kilku zaporach.


Zapora Porty
CheckPoint FW-1 256/TCP
264/TCP
18264/TCP
Symantec v.8.0, SGS 5400 2456/TCP
SmoothWall 81/TCP
441/TCP

Włamywacz, podczas skanowania portów docelowego urządzenia, na podstawie domyślnie otwartych portów, jest w stanie dość precyzyjnie określić typ atakowanego urządzenia, co znacznie zwiększa szansę udanego włamania.

Mechanizm ochronny:

Przepełnienie bufora

Powszechnie wiadomo, że jednymi z największych zagrożeń dla systemów są ataki przepełnienia bufora. Wynika to z faktu, że powodowane są one błędami programistów, którzy tworzyli oprogramowanie dla danego systemu, a nabywca systemu z reguły nie posiada informacji na temat szczegółów programu pracującego na urządzeniu.


Przepełnienie bufora35
Przepełnienie bufora (ang. Buffer overflow) to błąd programistyczny polegający na pobraniu do wyznaczonego obszaru pamięci (bufora) większej ilości danych, niż zarezerwował na ten cel programista. Taka sytuacja może często prowadzić do zamazania danych znajdujących się w pamięci bezpośrednio za buforem, a w rezultacie do błędnego działania programu. W wielu sytuacjach, zwłaszcza gdy dane, które wpisywane są do bufora podlegają kontroli osoby o potencjalnie wrogich intencjach, może dojść do nadpisania struktur kontrolnych programu w taki sposób, by zaczął on wykonywać operacje określone przez atakującego.

Przyczyną powstawania takich błędów jest najczęściej brak odpowiedniej wiedzy lub należytej staranności ze strony autora oprogramowania.

Przypadki wykrycia błędów z przepełnieniem bufora, a tym samym możliwością ataku dotyczą praktycznie wszystkich systemów operacyjnych, w tym również urządzeń Cisco. W 2005 roku, na konferencji Black Hat dotyczącej bezpieczeństwa, Michael Lynn demonstrował nowe techniki zdalnego wykonywania kodu na IOS. Przedstawił on zdalny atak przepełnienia bufora, powodujący unieruchomienie urządzenia lub wykonanie na nim dowolnego kodu. Luka związana jest z przetwarzaniem pakietów IPv6. Aby atak się powiódł, urządzenie z podatną wersją IOS musi mieć skonfigurowaną obsługę IPv6, a atak musi zostać przeprowadzony z lokalnego segmentu sieci. W ten sposób, możliwa jest na przykład zmiana lokalnych haseł dostępu lub nakazanie routerowi pobrania nowej konfiguracji
ze zdefiniowanego serwera TFTP. Więcej informacji wraz z pełną listą podatnego oprogramowania znajduje się w zaleceniu „Cisco Security Advisory: IPv6 Crafted Packet Vulnerability”.

Na podstawie wspomnianej luki nie został opublikowany publicznie żaden exploit, ani szczegóły dotyczące błędu. Jednak można przypuszczać, że wąska grupa osób wtajemniczonych może być w jego posiadaniu.

W przypadku sprzętu Cisco sytuacja dotycząca nieznanych luk jest wielką niewiadomą. Wynika to z faktu, iż w maju 2004 r. na rosyjskim portalu SecurityLab.ru, zajmującym się bezpieczeństwem, pojawiła się informacja36 o włamaniu do sieci firmy Cisco i kradzieży kodu źródłowego systemu operacyjnego (IOS). W wyniku śledztwa ustalono, że skradziono około 800 Mb kodu. Włamywaczem okazał się 20 latek ze Szwecji, który został namierzony i złapany. Nie wiadomo jednak, kto jeszcze może być w posiadaniu kodu oraz jakie luki zostały na jego podstawie wykryte.

Mechanizm ochronny:

Atak przez protokół SNMP

Protokół SNMP (Simple Network Management Protcol) stanowi dla administratorów sieci niezwykle przydatne narzędzie do monitorowania stanu urządzeń. Za jego pomocą możliwa jest bieżąca analiza stanu łącz, przeciążenie pamięci, procesora, czy też obciążenie poszczególnych interfejsów sieciowych urządzenia.

Osoby odpowiedzialne za IT bardzo często włączają obsługę SNMP na wszystkich urządzeniach sieciowych i z jednego centralnego miejsca (stacji zarządzającej) zbierają dane z całej sieci dla analizy aktualnego stanu i szybkiego reagowania na awarie oraz problemy.

Rys. 5.1.4a – Za pomocą SNMP administrator ze stacji zarządzającej ma wgląd na stan urządzeń w sieci, dzięki czemu może szybko reagować w razie awarii.

Na szczęście dla włamywacza, niezwykle wiele urządzeń podłączonych do sieci, często publicznej, pozwala na odpytywanie ich korzystając z domyślnej nazwy wspólnoty (community name).

O ile nie zmieni tego administrator, istnieją dwa domyślne rodzaje wspólnot SNMP:

Praktycznie wszystkie urządzenia Cisco, pracujące pod kontrola IOS w wersji starszej, niż 12.0 mają domyślnie ustawioną wspólnotę RW o nazwie ILMI. Jeśli jednak intruzowi nie uda się odgadnąć nazwy wspólnoty SNMP, może dokonać ataku słownikowego przy użyciu narzędzia ADMsnmp.

Informacje, jakie można uzyskać przez SNMP z pozoru wydają się być mało interesujące, jednak szybko można się przekonać, że stanowią one potężną bazę wiedzy dla włamywacza37.

Przy pomocy narzędzia SNMPGET w bardzo łatwy sposób odpytać można poszczególne gałęzie w drzewie MIB.

Rys. 5.1.4b – Uzyskanie szczegółowych informacji na temat rodzaju oraz wersji oprogramowania atakowanego urządzenia pozwolą na lepszą ocenę celu i wyszukanie precyzyjnych informacji o ataku.

Za pomocą zapytań SNMP hacker może uzyskać szczegółowe informacje na przykład na temat modelu, wersji oprogramowania urządzenia, adresacji interfejsów, a także tablic routingu. W ten sposób włamywacz poznaje między innymi wewnętrzną adresację atakowanej sieci.

W sytuacji, gdy uda się zdobyć dostęp do urządzenia na poziomie zapisu (RW), sytuacja staje się krytyczna. Możliwe staje się na przykład użycie narzędzia SNMPSET38 i nakazanie routerowi skopiowania własnej konfiguracji na sprecyzowany serwer TFTP.

Rys. 5.1.4c – Atakowany router kopiuje całą swoją konfigurację na serwer TFTP hackera.

W ten sposób włamywacz zna dokładnie konfigurację routera, listy kontroli dostępu (ACL), a także zdefiniowane lokalnie konta użytkowników oraz ich hasła, które są jednak przeważnie szyfrowane. Nie stanowi to jednak problemu, gdyż domyślny algorytm szyfrowania haseł w routerach Cisco jest powszechnie znany i za pomocą gotowych narzędzi można je odszyfrować. Używa się do tego narzędzia Boson GetPass39.

Rys. 5.1.4d – Narzędzie GetPass odszyfrowuje hasła z konfiguracji routera Cisco.

W konfiguracjach routerów Cisco, stosuje się trzy metody przechowywania haseł:

  1. Nieszyfrowane (typu 0);

  2. Szyfrowane standardowym mechanizmem Cisco (typu 7), który jest jednak powszechnie znany. Do złamania hasła wykorzystuje się na przykład program GetPass;

  3. Hasła szyfrowane poleceniem secret (typu 5), które używają jednokierunkowej funkcji mieszającej (algorytm MD5) i ich odszyfrowanie można wykonać jedynie metodą słownikową, poprzez żmudne kodowanie kolejnych kombinacji znaków i porównywanie z zaszyfrowaną wartością w konfiguracji. Istnieją narzędzia automatyzujące ten proces, a jednym z najpopularniejszych jest program Cain and Abel40.

Od tego momentu, hacker jest w posiadaniu dokładnej konfiguracji atakowanego routera. Kolejnym jego krokiem będzie modyfikacja konfiguracji w taki sposób, by możliwym było wejście do sieci wewnętrznej i jej penetracja. Zmiana polegać będzie na modyfikacji reguł dostępu (filtrów zapory) lub zmianach w konfiguracji NAT w taki sposób, by hosty w sieci LAN dostępne były pod publicznymi adresami IP.

Modyfikacji można dokonać na dwa sposoby:

  1. Poprzez zdalne zalogowanie i dokonanie odpowiednich zmian (poprzez telnet lub interfejs www, o ile któreś z nich jest dostępne od strony sieci publicznej);

  2. Jeśli nie ma możliwości zalogowania się na urządzenie od strony Internetu, włamywacz może dokonać zmian w konfiguracji wykorzystując fakt, iż ma dostęp zapisu przez SNMP;

Rys. 5.1.4e – Zmodyfikowana konfiguracja urządzenia zostaje poprzez SNMP zapisana ponownie w pamięci routera.

Mechanizm ochronny:

Atak na serwer TFTP

W sporadycznych przypadkach zdarza się, iż administrator uruchamia na routerze serwer TFTP, aby przechowywać tam konfigurację urządzenia. Ma to na celu ułatwienie przenoszenia konfiguracji z jednego routera na inny. Z racji tego, iż usługa TFTP nie wykorzystuje żadnych mechanizmów autoryzacji, jej uruchomienie na routerze i brak filtrowania źródłowych adresów IP, które mogą z niej skorzystać, stanowi poważne zagrożenie ze strony włamywacza.

Jeśli intruz podczas skanowania portów, spostrzeże, że port 69/UDP jest otwarty, może spróbować przekopiować pełną konfigurację urządzenia na swój komputer.

Rys. 5.1.5 – Intruz bez żadnego uwierzytelnienia pobiera pełną konfigurację z urządzenia za pomocą usługi TFTP

Mechanizm ochronny:

Błędy aplikacji (np. interfejs zarządzania HTTP)

Najczęściej wykorzystywanymi błędami w IOS, umożliwiającymi pełny dostęp do konfiguracji urządzenia są luki w implementacji wbudowanego serwera HTTP. Dostęp przez interfejs przeglądarki ma na celu ułatwienie procesu konfiguracji routera, jednak IOS w wersjach 11.3 - 12.2 charakteryzuje się błędem podczas autoryzacji użytkownika41.

Rys. 5.1.6a – Intruz anuluje prośbę o zalogowanie, w wyniku czego otrzymuje błąd.

System operacyjny routera Cisco rozróżnia 16 poziomów uprawnień (od 0 do 15). Poziom 0 ma najniższe z uprawnień i pozwala na użycie tylko kilku prostych komend w celu diagnostyki urządzenia. Z kolei poziom najwyższy – 15, umożliwia dokonywanie pełnych zmian w konfiguracji.

Podczas wywołania adresu routera, w oknie przeglądarki pojawia się monit o wprowadzenie nazwy użytkownika oraz hasła. Intruz może wykorzystać błąd serwera HTTP i anulować prośbę o wpisanie hasła, w wyniku czego w oknie przeglądarki otrzyma błąd autoryzacji. Następnie włamywacz preparuje odpowiednie zapytanie do serwera HTTP i otrzymuje pełną konfigurację routera.

Dostęp do konfiguracji możliwy jest po wprowadzeniu w oknie przeglądarki wywołania: http://adres_routera/level/XX/exec/komenda. W powyższym przykładzie, w miejsce XX wprowadzić należy poziom dostępu z zakresu od 16 do 99. Trudno określić jednoznacznie, przy którym poziomie z podanego zakresu atak okaże się skuteczny, ponieważ zależy to od poszczególnych wersji IOS.


Rys. 5.1.6b – W wyniku powyższego wywołania, router wykonał polecenie show config, co umożliwiło włamywaczowi na obejrzenie aktualnej konfiguracji atakowanej maszyny. Zaszyte w konfiguracji hasło można odszyfrować metodą przedstawioną w punkcie 5.1.4.

Mechanizm ochronny:

Błędy w systemie operacyjnym zapory

W przypadku, gdy zapora ogniowa ma charakter aplikacji instalowanej na serwerze (np. Checkpoint Firewall-1), ogromne znaczenie ma odpowiedni dobór i zabezpieczenie bazowego systemu operacyjnego. Przykład zagrożenia obrazuje sytuacja, gdy na systemie Linux RedHat zainstalowana zostanie wcześniej wspomniana zapora sieciowa. O ile sam firewall może okazać się pozbawiony błędów, to system operacyjny może dać intruzowi możliwość włamania. Celem ataku może być na przykład usługa SSH, w której błąd doprowadzi do przejęcia kontroli nad systemem Linux, a co za tym idzie, także nad oprogramowaniem zapory.

Rys. 5.1.8 – Wykorzystanie błędu w systemie bazowym zapory pozwala na przejęcie kontroli nad samą zaporą.

Mechanizm ochronny:



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.