Sekcje

Przejdź na skróty do treści. | Przejdź do nawigacji


Baza wiedzy Publikacje Burp Suite Professional - wprowadzenie

Burp Suite Professional - wprowadzenie

Wstęp

Chciałbyś zakupić licencję na burp suite? Pytaj o szczegóły: securitum@securitum.pl Sprzedajemy burp suite z polską fakturą VAT.

Wypróbuj burp suite w praktyce na szkoleniu z bezpieczeństwa aplikacji www

Zapraszam do przeczytania cyklu tekstów, opisujących podstawową funkcjonalność oprogramowania Burp Suite Professional - jednego z komercyjnych narzędzi, wspierających wykonywanie testów penetracyjnych aplikacji webowych. 

W tekstach w subiektywny sposób zaprezentuję funkcjonalności oferowane przez  narzędzie. Postaram się również dokonać niezależnej oceny możliwości oferowanej przez poszczególne moduły, jak i cały Suite.

Zaznaczam, że celem cyklu nie jest systematyczne przedstawienie funkcjonalności narzędzia, a raczej wskazanie ogólnych możliwości oferowanych przez aplikację oraz pokazanie sposobu pracy z Burp-em.

W pierwszej części tekstu przedstawię moduł proxy, a w kolejnych odsłonach artykułu, scharakteryzuję moduły: intruder, scanner i sequencer.

Czym jest Burp Suite Professional?

Jest jest to zestaw wielu współpracujących narzędzi, wspierających wykonanie testów penetracyjnych aplikacji webowych. Można powiedzieć, że zestaw ten umożliwia wykonanie testów półautomatycznych.  Z jednej strony posiada on wbudowane pewne automatyzmy usprawniające powtarzalne prace, z drugiej pozostawia dość dużą swobodę działania pentesterowi.

Całość składa się z następujących modułów:

  • http proxy (umożliwiający przechwycenie komunikacji z przeglądarki internetowej czy innego oprogramowania komunikującego się z wykorzystaniem protokołu HTTP);
  • repeater (umożliwiający ręczną modyfikację przechwyconych requestów HTTP lub tworzenie zupełnie nowych, dowolnych requestów HTTP);
  • scanner (automatyczny skaner wykrywający podatności w aplikacjach webowych);
  • intruder (http fuzzer, umożliwiający półautomatyczne testy penetracyjne);
  • sequencer (analizujący losowość generowanych identyfikatorów sesji);
  • decoder (umożliwiający konwersję między popularnymi kodowaniami - np. Base64, URL, HEX)
  • spider ("klasyczny" spider http, umożliwiający w sposób zautomatyzowany zebranie informacji o zasobach wykorzystywanych przez badaną aplikację - podstrony / pliki styli / pliki javascript / itd)
  • comparer (umożliwiający porównanie różnic pomiędzy zapytaniami lub odpowiedziami HTTP)
 

Zrzut ekranowy interface narzędzia (okna: repeater, scanner, intruder) prezentuję poniżej:

Burp suite professional

 

Burp HTTP proxy

Moduł ten najczęściej wykorzystany jest do celów przechwycenia  komunikacji z przeglądarki internetowej. W następnym kroku komunikacja ta może być przekierowana do innego modułu (np. intruder czy scanner) w celu wykonania testów penetracyjnych (tj. symulowanych ataków na aplikację).

Aby uruchomić moduł należy:

  • Aktywować proxy na wybranym porcie TCP (patrz zrzut ekranowy poniżej)
Ustawienia proxy w Burp Suite

 

  • Ustawić przeglądarkę internetową tak aby korzystała z HTTP proxy. W tym celu można skorzystać ze standardowo dostępnej funkcjonalności proxy (w Firefox: Narzędzia -> Opcje -> Sieć -> Ustawienia) lub użyć jednego z wygodnych dodatków: np.: SwitchProxy Tool dla Firefoksa.
  • Jeśli aplikacja komunikująca się przez protokół HTTP nie daje możliwości ustawienia komunikacji poprzez zewnętrzne proxy, możemy skorzystać z funkcjonalności invisible proxing oferowanej przez Burp-a lub użyć zewnętrznej aplikacji typu proxifier.

Po pomyślnej konfiguracji zarówno komponentu Burp proxy jak i przeglądarki internetowej, w momencie odwołania się tej ostatniej do dowolnego zasobu (np. otwarcie nowej strony www) Burp notyfikuje pojawienie się nowego requestu HTTP oraz pyta jakie akcje powinny być dla niego wykonane (patrz zrzut ekranowy).

Burp proxy -przechwycenie - akcje

Po przechwyceniu zapytania HTTP Burp proxy oferuje nam między innymi:

  • Przekierowanie requestu HTTP do serwera (forward). Korzystając z tej opcji wynik działania przeglądarki internetowej będzie dokładnie taki jak przy "normalnym" przeglądaniu strony (tj. bez proxy).
  • Ręczne zmodyfikowanie requestu HTTP- wykonane  "w locie".
  • Zablokowanie requestu (drop).
  • Przesłanie requestu do innego modułu w ramach Burp Suite.
  • Wyłączenie przechwytywania requestów (dla każdego kolejnego requestu lub np.: tylko dla IP serwera, z którym akurat się łączymy). Wyłączenie przechwytywania nie wyłącza logowania komunikacji odbywającej się przez proxy. Osobiście podczas testów penetracyjnych najczęściej wyłączam aktywne przechwytywanie, polegając bardziej na funkcjonalności logowaniu requestów (o tym w dalszej części tekstu).

Burp proxy vs HTTPS

Przy okazji, zwróćmy uwagę, że wskazany na powyższym zrzucie ekranowym request HTTP kierowany był do strony zabezpieczonej przez protokół HTTPS. Zatem Burp Suite umożliwia przechwycenie i tego typu szyfrowanej komunikacji. W momencie komunikacji ze stroną dostępną poprzez HTTPS, Burp proxy działa jak klasyczne narzędzie umożliwiające wykonanie ataku man-in-the-middle, to znaczy:

  • Generuje własny certyfikat SSL (istnieją też inne możliwości, np. podstawienie innego, dowolnego certyfikatu).
  • Prezentuje ten certyfikat klientowi (poprawnie działająca przeglądarka wykryje w tym momencie zagrożenie bezpieczeństwa).
Burp proxy - https i firefox
  • Po dodaniu wyjątku w Firefoksie, nastąpi normalne połączenie do serwisu chronionego przez protokół HTTPS.
  • Burp proxy nawiąże szyfrowaną komunikację z docelowym serwisem, korzystając z poprawnego certyfikatu.
Podsumowując:
  • Komunikacja pomiędzy przeglądarką a Burp proxy będzie szyfrowana (certyfikatem wygenerowanym przez Burp-a).
  • Burp deszyfruje / loguje komunikację (mamy więc do niej dostęp w formie otwartej).
  • Burp odszyfrowaną komunikację szyfruje ponownie (poprawnym, docelowym certyfikatem).

Burp proxy - transformacje

Kolejną interesującą funkcjonalnością, oferowaną przez moduł proxy, jest możliwość automatycznej modyfikacji komunikacji HTTP przepływającej przez Burp-a.

Zmianie mogą podlegać zarówno zapytania klienta jak i odpowiedzi serwera. Reguły definiowane są z wykorzystaniem wyrażeń regularnych. Na przykładzie poniżej prezentuję zmianę  przesyłanego zazwyczaj w nagłówku HTTP request opisu wykorzystywanej przeglądarki internetowej:

Burp proxy - modyfikacja komunikacji

Przy okazji, warto również zwrócić uwagę na kilka dodatkowych opcji, dostępnych w podmodule modyfikacji komunikacji HTTP (np.: pokazywanie na poziomie przeglądarki internetowej pól hidden w formularzach, czy usuwanie limitów rozmiarowych zaszytych w określonych polach formularzy).

Burp proxy - logowanie

Proxy loguje przechodzącą przez siebie komunikację HTTP (zapytanie oraz odpowiedź HTTP). Poniżej przedstawiam okno z zalogowanymi przez Burp-a requestami. Ważniejsze dostępne w podmodule opcje to:

  • Użycie filtru pokazującego w historii tylko wybraną komunikację.
  • Po kliknięciu na dany request, załadowanie jego szczegółów (request/response HTTP; zaprezentowanie widoku response w kilku formach - w tym w postaci  analogicznej jak w przeglądarce internetowej).
  • Przesłanie requestu/response do określonego modułu w Suite

Widok historii komunikacji zalogowanej przez moduł proxy:

Burp proxy - historia
 
Widok szczegółów komunikacji HTTP (zapytanie, automatycznie zmodyfikowane zapytanie, odpowiedź):

Burp proxy - szczegóły requestu HTTP

 

Po zebraniu odpowiedniej komunikacji sieciowej możemy przejść do kolejnego, wykonywanego w trakcie testów penetracyjnych kroku: fuzzingu czy automatycznego skanowania w poszukiwaniu podatności.  Służą do tego moduły:  intruder oraz scanner, które opiszę w kolejnych częściach tekstu.

Podsumowanie

Burp Suite Professional to narzędzie wspierające testy penetracyjne aplikacji webowych. Zapewnia bogatą funkcjonalność zarówno jeśli chodzi o wykonywania ataków manualnych jak i zautomatyzowanych. Burp Suite Professional dostępny jest również w wersji darmowej posiadającej ograniczoną funkcjonalność.

--michal.sajdak@securitum.pl

Przydatne informacje? Polub nas na facebooku.

Nawigacja
 
Darmowy magazyn o ITsec

zine
Subskrybuj RSS:
RSS