Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Mastering Burp Suite #1 – Poznaj sekrety topowego narzędzia dla pentesterów web aplikacji

09 lipca 2014, 15:01 | Narzędzia, Teksty | komentarzy 30

Pośrednik HTTP analizujący ruch między przeglądarką a serwerami WWW jest podstawowym narzędziem pracy testera web aplikacji. Burp Suite – popularne akcesorium bezpieczeństwa skonstruowane wokół funkcji lokalnego proxy – jest narzędziem, koło którego żaden inżynier bezpieczeństwa nie może przejść obojętnie.

Wstęp

Funkcja lokalnego proxy programu Burp pozwala kontrolować i analizować ruch HTTP/HTTPS przesyłany między przeglądarką testera a serwerem WWW testowanej aplikacji. Oczywiście, gdyby jedyną funkcją oprogramowanie firmy Portswigger było wyłącznie przetwarzanie treści żądań HTTP, to program nie byłby tak rozpoznawalny w środowisku IT Security. Marka Burp Suite ukształtowała się dzięki połączeniu kilku, dobrze współpracujących ze sobą narzędzi. Połączenie to znacznie ułatwia pracę podczas testów penetracyjnych nawet bardzo skomplikowanych aplikacji internetowych. Prostota, intuicyjność i ogólnie wysoka funkcjonalność – to klucz do sukcesu Burp Suite, który po kilku latach rozwoju na stałe zagościł w akcesorium inżynierów bezpieczeństwa web aplikacji.

Pakiet Burp inauguruję pierwszą serię artykułów z przydomkiem „Mastering…”. W tego rodzaju cyklach postaramy się szczegółowo opisywać kolejne funkcje popularnych narzędzi pentesterskich i uczyć się jak je wykorzystywać w różnych kontekstach i sytuacjach – od ogółu do szczegółu.
W tym cyklu dowiesz się:

  • w jaki sposób Burp Suite pozwala zwiększyć skuteczność podczas testowania bezpieczeństwa aplikacji internetowych,
  • jakie narzędzia wchodzą w skład pakietu,
  • co odróżnia wersję darmową od komercyjnej,
  • jakie są najczęstsze problemy w pracy z pakietem oraz jak je rozwiązywać,
  • w jaki sposób rozszerzać funkcjonalność Burp Suite i integrować go z innymi programami,
  • w jaki sposób wykorzystać automatyzację oraz harmonogramowanie zadań,
  • jak z pomocą Burp Suite analizować bezpieczeństwo aplikacji mobilnych oraz urządzeń inteligentnych,
  • o sztuczkach pozwalających zwiększyć efektywność pracy z narzędziami pakietu,
  • i wiele innych :-)

Jeśli nie zostanie to jednoznacznie określone, należy przyjąć, że rady będą dotyczyć darmowej wersji narzędzia z gałęzi 1.6, której cykl rozpoczął się w kwietniu 2014 roku.
Warto również zaznaczyć, że ze względu na charakter narzędzia, większość rad opisywanych w tym cyklu nie powinna się mocno dezaktualizować i nawet po wydaniu nowej gałęzi pakietu, powinna być aktualna. Zmiany i nowe funkcje programu będą opisywane na bieżąco. Mocno zachęcam również do dyskusji w komentarzach, które posłużą jako inspiracja do tematów na kolejne części serii.

Czym jest Burp Suite

Jak już wspomniałem, Burp Suite jest podstawowym narzędziem testera bezpieczeństwa aplikacji internetowych. Program jest udostępniany jako paczka .jar uruchamiana w maszynie wirtualnej Javy, więc bez problemu można używać go zarówno na systemach z rodziny Microsoft, Linux czy OS X. Dobre zgranie i jakość narzędzi wchodzących w skład pakietu sprawia, że Burp Suite jest jednym z najchętniej wybieranych programów tego rodzaju. Jak piszą sami twórcy:

Burp Suite, the leading toolkit for web application security. Burp Suite helps you secure your web applications by finding the vulnerabilities they contain — Portswigger Security

Burp jest programem wspomagającym pracę, więc same jego uruchomienie w magiczny sposób nie znajdzie błędów w aplikacjach internetowych. Nastawienie na ułatwienie pracy podczas ręcznej analizy web aplikacji znacznie zwiększa skuteczność pracy pentestera i mimo tego, że od dawna Burp potrafi w sposób automatyczny wykrywać podatności (chociażby przy użyciu modułu Scanner), to w żaden sposób nie zastąpi on pentestera. Burp Suite jest dłutem w ręku rzemieślnika-pentestera. Program ten okazuje się przydatny niezależnie od stylu badacza bezpieczeństwa web aplikacji i w żaden sposób go nie ogranicza. Zależność między modułami oraz typowy przepływ danych między elementami pakietu prezentuje rysunek poniżej:

http://portswigger.net/burp/help/suite_usingburp.html#recon

Zależności między modułami Burp Suite oraz typowy przepływ pracy (źródło: dokumentacja Portswigger).

Odnosząc się już dometodologii testów penetracyjnych, pakiet Burp:

  • w fazach zbierania informacji – pomaga analizować charakter żądań i odpowiedzi HTTP(S) oraz poznawać strukturę strony i odkryć nieznane punkty wejścia,
  • w fazach mapowania podatności oraz ich eksploitacji – pomaga tworzyć próbki do ataku, fuzzować parametry aplikacji lub nawet w sposób automatyczny znajdywać błędy w badanym oprogramowaniu.

Program można ściągnąć bezpośrednio ze strony twórców, firmy Portswigger. Dostępne są dwie wersje:

  • darmowa, Burp Suite Free, która mimo kilku ograniczeń, jest w pełni działającym i funkcjonalnym programem,
  • płatna, Burp Suite Professional, która cechuje się częstszymi aktualizacjami oraz brakiem ograniczeń w kilku narzędziach.

Do uruchomienia wymagana jest maszyna wirtualna Javy. Więcej informacji o różnicach między dwiema wersjami zostaną wyjaśnione nieco później, tymczasem poznajmy teraz narzędzia wchodzące w skład pakietu.

Narzędzia pakietu Burp Suite

Burp Proxy

Proxy, działające między przeglądarką a aplikacją internetową, pozwala na podglądanie struktury wysyłanych żądań oraz otrzymywanych odpowiedzi HTTP. Gdy przeglądarka zacznie wysyłać ruch HTTP przez Burp Proxy, tester otrzyma możliwość zatrzymywania żądań, ich ręczną lub automatyczną zmianę. Historia żądań pozwala wysyłać ruch HTTP ponownie lub obrabiać go w innych modułach pakietu. Praca z aplikacją internetową poprzez Burp Proxy pozwala na wygodną analizę samej strony internetowej w przeglądarce testera, oraz komunikatów wymienianych z serwerem web aplikacji. W ten sposób możemy np. poprzez klikanie po interfejsie webowym wymusić wysłanie pewnych żądań, którym zmienimy wartości parametrów, w celu testowania np. przeciwko podatności wstrzyknięcia kodu SQL lub XSS. Burp Proxy jest w zasadzie podstawowym źródłem danych dla całego pakietu. Dane w innych modułach z reguły opierają się na danych zebranych w czasie przeglądania badanej strony w przeglądarce korzystającej z Burp Proxy. Co ciekawe funkcje proxy nie ograniczają się tylko do modyfikacji ruchu HTTP/HTTPS wychodzącego z przeglądarki internetowej. Opisywany moduł sprawdza się również w analizie dowolnego ruchu HTTP, w szczególności podczas analizy webserwisów, z których korzystają aplikacje urządzeń mobilnych oraz inteligentnych. Oprócz funkcji przechwytywania ruchu HTTP, moduł proxy udostępnia też kilka innych, ciekawych opcji, które szczegółowo przybliżę w kolejnej części tego cyklu. Mowa tutaj między innymi o dynamicznej zmianie nagłówków, interfejsie webowym do przeglądania oraz powtórnego wysyłania żądań, wyłączaniu walidacji na testowanych stronach (HTMLowej oraz Javascriptowej) i kilka innych.

Burp Suite - Moduł "Proxy"

Burp Suite – Moduł „Proxy”

 

Burp Target oraz Burp Spider

Zakładka Target buduje drzewo stron, których ruch przeszedł przez narzędzia pakietu, w szczególności przez Burp Proxy. Czytelna mapa przetestowanych zasobów to nie wszystkie możliwości zakładki Target, która udostępnia również możliwość definiowania zasięgu testów, tzw. Scope. Strony nie będące w zasięgu testów, nie będą brane pod uwagę podczas akcji wykonywanych w sposób automatyczny w pakiecie. Dzięki dobrze zdefiniowanemu zasięgowi mamy pewność, że nie zaatakujemy pewnych stron bezprawnie, np. wysyłając złośliwe żądania do strony wyłącznie podlinkowanej w testowanej web aplikacji. Jest to szalenie ważne w kontekście zarówno legalności testów, kontraktu z klientem jak i samej metodologii testów penetracyjnych.

Burp Suite - Moduł "Target"

Burp Suite – Moduł „Target”

Jeśli już o automatyzacji mowa, to trzeba mieć na uwadze, że Burp Suite posiada dość sporo narzędzi automatycznie znajdujących podatności. Pakiet firmy Portswigger np. poprzez moduł skanera potrafi po wysłaniu szkodliwych żądań ocenić bezpieczeństwo testowanej aplikacji. Do skutecznego działania tego rodzaju automatów szalenie istotne jest, aby dostarczyć wyczerpującą listę tzw. miejsc wstrzyknięć, które będą atakowane. Taka lista znajduje się właśnie w zakładce Target i może być rozszerzona o nowe zasoby z pomocą modułu Spider. Spider jest web crawlerem, który po uruchomieniu mapuje stronę i przekazuje znaleziska – przez linki, formularze, akcje Javascriptowe – wprost do zakładki Target. Mapa strony zawierająca listę odkrytych uri jest budowana równocześnie przez akcje testera wykonywane w przeglądarce wskazującej na Burp Proxy jak i przez web crawlera. Drzewo stron ułatwia pracę testera oraz automatów, więc warto zadbać o jak jej jak największą szczegółowość.

Burp Suite - Moduł "Spider"

Burp Suite – Moduł „Spider”

Burp Scanner

Skaner w sposób automatyczny wykrywa podatności w aplikacjach internetowych, a dokładniej we wskazanych zasobach, np. wybranych z zakładki Target. Bazując na zasięgu oraz mapy strony skaner z wykorzystaniem heurystyki, paylodów oraz bazy wiedzy potrafi wskazać popularne podatności web aplikacji, np. te zdefiniowane w OWASP Testing Guide. Skaner Burpa może działać w dwóch trybach:

  • aktywnym – w którym narzędzie wykonuje wstrzyknięcia do aplikacji i na podstawie odpowiedzi próbuje odnaleźć podatności (SQL Injection, XSS itp.),
  • pół-pasywnym (tzw. live scanning) – w którym  analizowane są odpowiedzi trafiające do innych narzędzi pakietu, na podstawie treści których narzędzie raportuje potencjalne problemy z bezpieczeństwem lub informacje z kontekstu testów penetracyjnych. Ważne jest to, że w trybie pół pasywnym nie są wykonywane żadne dodatkowe akcje lub żądania, które mogłyby dodatkowo zaszkodzić badanej aplikacji internetowej, np. poprzez zmiany stanu jakiegokolwiek jej obiektu.

Burp Scanner cechuje się bardzo dobrymi wynikami i jest w stanie konkurować z największymi graczami na rynku automatycznych skanerów podatności, takimi jak Acunetix czy AppScan.

Burp Scanner jest niestety dostępny wyłącznie dla użytkowników wersji profesjonalnej pakietu, jednak w porównaniu do innych programów tego typu, koszty jego używania są nawet kilkadziesiąt razy mniejsze niż produktów konkurencji.

Burp Suite - Moduł "Scanner"

Burp Suite – Moduł „Scanner”

Burp Intruder

Intruder jest jednym z najmniej intuicyjnych narzędzi pakietu, jednak po poznaniu jego struktury i przeprowadzeniu paru ataków za jego pomocą, szybko staje się niezwykle przydatnym modułem. Ideą Burp Intruder jest tworzenie i wysyłanie nowych zapytań HTTP na podstawie wcześniej przygotowanej próbki pobranej np. z modułu Proxy lub Repeater. Nowe zapytania tworzone są przez modyfikację specjalnie oznaczonych punków wstrzyknięć w żądaniu bazowym. Dane do punktów wstrzyknięć dostarczymy w zakładce Payloads – mogą to być kolejne liczby z podanego zakresu, znaki używane podczas wstrzyknięć SQLi, słowniki popularnych haseł i wiele, wiele innych. Po konfiguracji ataku Intruder wysyła szereg żądań HTTP, których odpowiedzi kolekcjonowane są w formie tabelarycznej. Po zakończonym ataku należy przejrzeć raport pod kątem anomalii, które wskażą nietypowe odpowiedzi serwera. Tego tupu żądanie wysyła się następnie do innych modułów, np. do Sequencera i dalej analizuje lub eksploituje. Burp Intruder posiada sporo opcji konfiguracyjnych, zarówno jeśli chodzi o metodę podmiany punktów wstrzyknięć jak i dynamicznego tworzenia samych payloadów. Dzięki temu jego możliwości są naprawdę spore – Intruder może posłużyć zarówno jako proste narzędzie bruteforce, subtelny zbieracz informacji, a nawet jako zaawansowany fuzzer.

Intruder jest bardzo przydatnym narzędziem, niestety jego pełnymi możliwościami mogą cieszyć się wyłącznie osoby z wykupioną licencją komercyjną pakietu.
Darmowy Burp mocno ogranicza Intrudera, zarówno w dostępnych opcjach konfiguracyjnych jak i podczas samego ataku, którego czas jest sztucznie wydłużany. Niemniej jednak warto używać tego modułu nawet w Burpie Free, ponieważ jest to jeden z najprostszych fuzzerów web aplikacji, dający bardzo fajne rezultaty. Z powodzeniem wystarczy to do przeprowadzania prostych testów, a gdy ograniczenia zaczną męczyć… wtedy z pewnością warto będzie przyjrzeć się wersji komercyjnej całego pakietu.

Burp Suite - Moduł "Intruder"

Burp Suite – Moduł „Intruder”

 

Główne ogranieczenie modułu Intruder w wersji Burp Free

Główne ograniczenie modułu Intruder w wersji Burp Free

Burp Repeater

Gdy nadchodzi potrzebna częstej modyfikacji żądań HTTP niezwykle przydatny okazuje się moduł Repeater. W zakładce Repeatera możemy ręcznie modyfikować żądanie – stworzone od podstaw lub dostarczone z innych modułów – wysłać go i czytelnie analizować odpowiedź w oknie Response. Przy użyciu kilku sztuczek moduł Repeater znacznie ułatwia pracę podczas testowania wstrzyknięć, w szczególności, gdy spodziewamy się podatności powstałej w wyniku manipulacją parametrów lub nagłówków. W praktyce Repeater w tandemie z Burp Proxy są najczęściej wykorzystywanymi narzędziami z całego pakietu.

Burp Suite - Moduł "Repeater"

Burp Suite – Moduł „Repeater”

 

Burp Sequencer

Bezpieczeństwo aplikacji internetowych w wielu aspektach opiera się na różnego rodzaju pseudo-losowości. Bezpieczeństwo sesji, uwierzytelniania czy odporność przed automatyczną enumeracją zasobów lub wysyłania żądań, zależy głównie od tego, czy pewne wartości tokenów będą łatwe do przewidzenia czy też nie. W ocenie jakości zaimplementowanych mechanizmów do „losowania” wartości parametrów pomaga Burp Sequencer. Sequencer wykorzystując obliczenia statystyczne na zestawie zebranych danych pomaga określić m.in. praktyczną entropię losowanych wartości (wśród wartości ciasteczek, tokenów, identyfikatorów obiektów). Chociaż ciężko już dzisiaj natrafić na duże problemy z identyfikatorami sesji, to jednak dalej można zauważyć nie do końca dobrą implementację generowania wartości parametrów żądań, które tylko z pozoru wyglądają na skomplikowane i „losowe”. Automatyzacja obliczeń stwierdzająca nieprawidłowości w tego rodzaju funkcjach dzięki modułowi Sequencer staje się prosta i szybka.

Burp Suite - Moduł "Sequencer"

Burp Suite – Moduł „Sequencer”

Burp Decoder i Burp Comparer

Dekoder jest prostym narzędziem wspomagającym codzienną pracę inżyniera bezpieczeństwa. Moduł ten pozwala szybko zakodować oraz zdekodować ciąg znaków na inny format lub obliczyć skrót z danej wartości. Ciekawą funkcją modułu jest opcja Smart Decode, dzięki której Burp stara się automatycznie wykryć kodowanie danego ciągu, nawet, jeśli został on zakodowany kilkoma różnymi algorytmami.

Burp Suite - Moduł "Decoder"

Burp Suite – Moduł „Decoder”

Comparer jest kolejnym prostym narzędziem pakietu Burp, jednak nie oznacza to, że rzadko używanym. W praktyce jest to narzędzie typu diff, porównujące wskazane żądania lub odpowiedzi HTTP. Mimo, że Comparer sam w sobie nie jest niczym szczególnie odkrywczym, to podczas codziennej pracy używa się go bardzo często, wysyłając do niego głównie żądania z modułów Repeater lub Proxy.

Burp Suite - Moduł "Comparer"

Burp Suite – Moduł „Comparer”

Burp Extender

Pakiet Burp udostępnia interfejsy programistyczne dające możliwość dodania nowych paneli, zmianę zachowania obecnie działających modułów lub tworzenie całkowicie nowych funkcji. Zmiany takie najlepiej realizować poprzez pisanie rozszerzeń w Javie, jednak programiści Pythona oraz Rubiego również z powodzeniem mogą korzystać z dobrodziejstw Burp API. Funkcjonalność całego pakietu może być więc zwiększana przez wgrywanie zewnętrznych pluginów. Nie było to jednak zawsze zbyt wygodne rozwiązanie, aż do czasów Burpa w wersjii 1.6, gdzie dodano zakładkę tzw. BApp Store’a. „Sklepik” zawiera listę popularnych dodatków, które mogą być ściągnięte oraz włączone bezpośrednio z poziomu samego Burpa, co znacznie ułatwia dostosowywanie programu do własnych potrzeb. Funkcja sklepików rozszerzeń jest ogólnie coraz częściej spotykana w programach pokroju Burpa, co bardzo cieszy. Oczywiście „Store” jest tu pojęciem mocno nad wyrost, ponieważ wszystkie pluginy są darmowe i mało prawdopodobne jest, by kiedykolwiek miało być inaczej.

Burp Suite - Moduł "Extender"

Burp Suite – Moduł „Extender”

Pozostałe opcje pakietu

Burp Suite posiada dużo ciekawych opcji konfiguracyjnych znacznie ułatwiających lub modyfikujących codzienną pracę. Można tu wymienić chociażby opcję automatycznego uwierzytelniania w web aplikacji, interpretację ruchu streamowanego, kontrolę nad uzgadnianiem protokołu SSL czy zasady współdzielenia sesji  między modułami pakietu. Oczywiście znalazło się również kilka opcji dotyczących wyglądu interfejsu czy przypisywania skrótów przyśpieszających pracę. Panel opcji będę demonstrował na bieżąco podczas demonstrowania kolejnych funkcji lub tricków w dalszych częściach cyklu.

Opcje Burp Suite

Opcje Burp Suite

Konkurenci

Oczywiście Burp nie jest jedynym programem, który z wykorzystaniem lokalnego proxy pomaga badać bezpieczeństwo web aplikacji. Jeśli chodzi o alternatywę do Burpa, szczególnie warto wymienić trzy tytuły: Fiddler, ZAP oraz IronWASP. Telerik Fiddler jest często wymienianą alternatywą dla Burpa, w szczególności dla osób korzystających często z technologii firmy Microsoftu. Fiddler, działający głównie na systemie Windows, jest „web proxy debuggerem” i w tym zadaniu radzi sobie świetnie. Niestety trudno postawić go koło Burpa z tego względu, że Fiddler udostępnia funkcje skupione wyłącznie wokół debugowania ruchu HTTP i domyślnie nie ma zbyt dużo funkcji, które interesowałyby inżyniera bezpieczeństwa. Można by rzec, że gdy Burp stworzony jest dla pentesterów, to Fiddler dla programistów web aplikacji, którzy chcą mieć kontrolę nad zapytaniami HTTP. Jeżeli Fiddler jako proxy wyda nam się wygodniejszy, to zawsze można używać go w połączeniu z Burpem i w jednym programie analizować żądania, a w drugim atakować testowaną aplikację. Zed Attack Proxy, lub w skrócie ZAP, jest innym lokalnym proxy, które rozwijane jest jako projekt Open Source przez organizację OWASP. Zarówno ZAP jak i Burp Suite czerpią bardzo dużo od siebie wzajemnie i ogólnie udostępniają testerom podobne funkcje. Proxy sygnowane logiem OWASP, podobnie jak Burp, również jest multiplatformową aplikacją uruchamianą w wirtualnej maszynie Javy, z typowym interfejsem aplikacji Javy. Program ten kojarzy się wielu osobom z oprogramowaniem może i dobrym, ale nie do końca dopracowanym i aktualnym w stosunku do Burpa. Sytuacja mocno zmieniła się w roku 2012, gdy zaprezentowana ZAPa w wersj 2.x. Od tamtego czasu posiada on bardzo zbliżone funkcje do oprogramowania firmy Portswiggeer i jest wskazywany jako jego główny konkurent. ZAP, dzięki dużemu zainteresowaniu Google, corocznie rozwijany jest w ramach Google Summer of Code, a ciągły napływ świetnych funkcji sprawia, że jest to naprawdę dobry i często aktualizowany projekt Open Source. Chociaż Burp w wersji Professional przechyla mocno szalę „zwycięstwa” na swoją korzyść, to nieaktualizowanego Burpa Free można ze spokojnym sumieniem zamienić na ZAPa. Pytanie tylko, czy w przyszłości nie zdecydujemy się jednak zakupić subskrypcji Burp Suite Pro. Nowym, bardzo obiecującym graczem wśród darmowych, lokalnych proxy staje się ostatnio IronWASP. Podobnie jak Fiddler, IronWASP został skonstruowany z myślą o systemach Microsoft Windows, ale można go również uruchomić na systemach Linuksowych (przez wine) lub OS X (przez Crossover). Gdy multiplatformowy interfejs Burpa czy ZAPa sprawia problemy, wtedy „Microsoftowy” IronWASP, korzystający z bibliotek Fiddlera, okazuje się dobrą alternatywą. Program ten jest obecnie dynamicznie rozwijany i w testach wypada bardzo dobrze, w szczególności jak na tak świeży projekt. Warto przyglądać się rozwojowi IronWASPa używać go wszędzie tam, gdzie chciano Fiddlera, ponieważ w praktyce IronWASP pod spodem i tak wykorzystuje jego biblioteki.

Czy powinienem kupić Burp Professional

Wersje Burp Suite Free od Professional nie różnią się od siebie zbytnio. Większość zadań w codziennej pracy testera bezpieczeństwa web aplikacji można wykonać z pomocą wersji bezpłatnej. Czy więc warto rozważać zakup licencji?

Burp Suite - porównanie wersji Free oraz Professional

Burp Suite – porównanie wersji Free oraz Professional

Wersja rozszerzona Burpa to przede wszystkim dostęp do funkcji skanera i w pełni odblokowany moduł Intruder. Do tego dochodzi parę pomniejszych udogodnień, jak np. automatyczne zapisywanie stanu programu, harmonogramowanie zadań i podobne. Bardzo dużą zaletą licencji komercyjnej jest duża liczba aktualizacji. Program w wersji bezpłatnej aktualizowany jest tylko przy głównych wydaniach (1.5, 1.6…), Burp Suite Pro aktualizowany jest oczywiście na bieżąco. Ma to duże znaczenie, ponieważ aktualizacje pojawiają się średnio co miesiąc i wprowadzają naprawdę przydatne zmiany – a to udogodnienia w interfejsie, nowe opcje, znaczne zwiększanie skuteczności narzędzi i podobne. Po wydaniu nowej gałęzi Burp Free od wersji profesjonalnej nie różni się dużo, jednak z upływem czasu różnice między tymi dwoma wersjami stają się mocno zauważalne. Warto zaznaczyć, że aktualizacja głównej gałęzi Burpa odbywa się mniej więcej co półtora roku. Jeśli ten trend będzie zachowany, to kolejnej wersji (1.7) będzie można się spodziewać dopiero w drugiej połowie 2015 roku, co mocno zachęca do używania płatnej wersji Burpa (w szczególności że w już w Burpie 1.6.01 wprowadzono dużo ciekawych udogodnień). Obecnie profesjonalna wersja pakietu kosztuje rocznie $299/€249/£199 (+VAT). Czy jest to cena wygórowana czy też nie, to jak zwykle zależy od osobistych preferencji, jednak z czystym sumieniem trzeba powiedzieć, że jest to cena niezwykle konkurencyjna, chociażby porównując sam moduł skanera do rozwiązań konkurencji. Warto zaznaczyć, że twórcom bardzo zależy na tym, aby oprogramowanie było sprzedawane za jak najniższą cenę i starają się nie podnosić z roku na rok ceny licencji, nawet mimo dobrych wyników Burpa w rankingach. Taka postawa bardzo cieszy :-) Niestety twórcy Burpa nie udostępniają opcji wykupienia wieczystej licencji, więc chęć korzystania z profesjonalnej wersji pakietu będzie kosztować około tysiąca złotych rocznie. Dla firmy lub pentesterów/audytorów posiadających stałe zlecenia nie powinna to być cena zaporowa. Użytkownicy biznesowi mogą również wnioskować o pełną, 14 dniową wersje oprogramowania. Inżynierowie bezpieczeństwa na początku swojej kariery oraz osoby niezdecydowane mogą z powodzeniem używać wersji bezpłatnej, która zawiera większość funkcji płatnego odpowiednika.

Burp Suite Pro można zakupić samodzielnie na stronach producenta, ewentualnie w firmie Securitum – jeśli potrzebujesz polskiej faktury VAT.

Podsumowanie

Burp Suite jest narzędziem, którego trzeba wypróbować – daje wielką swobodę i znacznie ułatwia codzienną pracę inżyniera bezpieczeństwa. Pierwsza część cyklu artykułów o Burpie była w praktyce krótkim przeglądem możliwości pakietu, ale już w następnej części skupimy się bardziej szczegółowo na najpopularniejszym module Burpa, czyli zakładce Proxy. Na koniec mała ciekawostka – poniższa galeria prezentuje rozwój oprogramowania z rodziny „Burp” Od której wersji używacie tego narzędzia? Które nowości zmieniły Wasze życie na lepsze ? A może dopiero macie zamiar spróbować używać tego narzędzia :-) ?

 Adrian “Vizzdoom” Michalczyk dla serwisu Sekurak.pl

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. bl4de

    Jeśli chodzi o darmowego ZAPa, to dodam, że skaner podatności (odpowiednik Burp Scannera w wersji Pro) jest w ZAP dostępny w standardzie :)

    W zasadzie można więc połączyć te dwa narzędzia i np. do automatycznych testów używać ZAP-a, a do ręcznego badania Burp’a Free. Wadą takiego podejścia może być fakt, że nie mogą one działać jednocześnie (bo nie da się w przeglądarce ustawić jednocześnie dwóch proxy HTTP). Ale i z tym można sobie poradzić korzystając z dwóch par przeglądarka-proxy, np. Chrome+Burp i Firefox+ZAP :)

    Odpowiedz
    • Wezmę to pod uwagę i opiszę Proxy Chain między programami :-)

      Odpowiedz
    • bl4de – tylko IMO jeszcze skaner w ZAP ma nieco mniejsze możliwości niż w BSP. Choć na start – not bad.

      Odpowiedz
      • Jak dojdę do opisu Burp Scannera, to zestawię go z innymi, darmowymi i komercyjnymi.

        Odpowiedz
    • buster

      W Burp możes ustawić Upstream proxy, czyli kolejny proxy w łańcuszku, któym może być np. ZAP.

      Odpowiedz
  2. Vizdoom, jak zawsze świetny art!

    btw. literówkę znalazłem
    „Program ten kojarzy się wielu osobom za oprogramowaniem może i dobrym, ale nie do końca dopracowanym ”

    osobom za oprogramowaniem

    Ja zostaje przy ZAPie jednak i jego bez dokumentacyjnym API ;(

    @bl4de, czemu nie ma Cię na #? ;)

    Odpowiedz
  3. lz

    Dzięki za artykuł!

    Odpowiedz
  4. the_me

    Miewam lekkie obawy iż jest to „zlekka” reklamowy post?
    Sam w sobie teoretycznie spoko.
    Vizzd, Twój blog z rss’ów mogę usunąć?

    Odpowiedz
    • Zapowiedź długiej serii – sam w sobie tytuł i treść dużo jeszcze nie wnosi i ciężko tu powiedzieć o trickach, dlatego tytuł brzmi teraz trochę „medialnie”. Jednak w kontekście wielu kolejnych części będzie to spójne – a teraz mam nadzieję że tekst zachęci Was do czekania na kontynuację (jeśli interesujecie się takimi narzędziami).

      W temacie mojego bloga – robię teraz generalny remont przez co często nie ma też prądu i masazyna z blogiem jest zwyczajnie offline :P W sumie na samym blogu też muszę zrobić porządek i generalny remont :p

      Odpowiedz
  5. s7
    Odpowiedz
    • Oba słowa w języku angielskim wyglądają tak samo choć oznaczają coś innego.

      Natomiast w języku polskim – pełna zgoda :) zdecydowanie vizzdoom (obstawiam) ma na myśli metodykę. choć pisze o metodologii :) sporo ludzi, większość właściwie używa „metolodologii” myśląc o „metodyce”.

      Odpowiedz
      • To tak jak większość ludzi mówi audyt bezpieczeństwa myśląc o testach penetracyjnych – nie ma co w sumie paniki robić ;)

        Odpowiedz
      • Trudno mi się odnieść do przykładów […], bo może istnieć i metoda (sposób), i metodyka (zbiór metod), i metodologia (teoria) prowadzenia projektów.
        — Jan Grzenia, Uniwersytet Śląski

        Nie jest to takie jasne, te słowa jednak się bardzo przeplatają i (nie)stety używane są często zamiennie. Mówiąc o ogólnie zestawie procesów czynności wykonywanych w pewnym środowisku (w sensie teoretycznym zestawieniu kilku podejść) wydaje /mi/ się, że metodologia jest dobrym określeniem. Gdy mowa już o konkretnym, zdefiniowanym podejściu, to lepiej byłoby użyć słowa metodyka. Przeedytowałem do “Odnosząc się już do metodologii testów penetracyjnych, pakiet Burp”.

        W linkowanym, starszym artykule świadomie starałem się używać dobrych wyrażeń, ale z pewnością puryści językowi znajdą błędy. Zastanówmy się tylko, czy warto o tym tyle pisać – zawsze można dać znać prywatnie, aby coś poprawić z takich drobnostek (bo trzeba pisać poprawnie i dobrze napisany tekst czyta się lepiej), a tak to zamiast dyskutować o pentestach, to linkujemy sobie słowniki i Wikipedię.

        Odpowiedz
  6. Krzysztof

    Mógłby mi ktoś napisać, jak skonfigurować chroma z burpem, żeby działało łączenie się przez https? Dodałem do przeglądarki certyfikat wyeksportowany z burpa, ale gdy próbuję połączyć się np z http://www.google.pl, wywala „Nie można połączyć się z prawdziwą witryną http://www.google.pl
    Coś zakłóca bezpieczne połączenie z http://www.google.pl.
    Spróbuj ponownie załadować tę stronę za kilka minut lub po przełączeniu do nowej sieci. Jeśli ostatnio łączyłeś się z nową siecią Wi-Fi, zakończ logowanie przed ponownym ładowaniem.”

    Odpowiedz
    • Przemek Skowron

      Wyglada na cert pinning dla domen Google, zaszyty w Chrome. Burp podstawią inny niż oczekiwany przez Chrome certyfikat i przeglądarka nie chce dopuścić do komunikacji.

      Tego bym szukał: burp suite +Chrome +”cert pinning”

      Odpowiedz
    • –disable-xss-auditor –proxy-server=”https=127.0.0.1:8080;http=127.0.0.1:8080″

      Odpowiedz
  7. Marek

    Takie pytanie. Nie testowałem jeszcze w praktyce, ale intuicyjnie wyczuwam, że aplikacje mogą mieć z tym problem.

    Standardowo architektura aplikacji webowych zakłada bezstanowość. W sumie jest to coś, co ułatwia automatyczne testowanie, bo skaner może sobie uruchamiać linki bez szczegółowego zrozumienia kontekstu. Ja mam niestety taki problem, że cała utrzymywana aplikacja jest stanowa (sic!). Ot, jakiś architekt wpadł na pomysł frameworka, który zapisuje kontekst (otwarty dialog + dane dla dialogu) w pamięci sesji. Pomysłowe, ma swoje zalety i wady (ostatecznie chyba więcej wad, niż zalet).

    Potencjalnie utrudnia to jednak testowanie automatem, gdyż na przykład aby przetestować dane zapytanie fuzzerem trzeba wcześniej przenieść maszynę do odpowiedniego stanu (uruchomić parę linków, aby się znaleźć we właściwym miejscu w maszynie stanowej).

    Czy któreś z wymienionych narzędzi wspiera takie wymagania testowe?

    Odpowiedz
    • W burpie (pro) możesz robić różne cuda – typu pobierać tokeny zabezpieczające przez XSRF czy np. sprawdzać appka jest cały czas in-session, a jeśli nie jest to np. automatycznie powiedzieć burpowi w tle żeby się zalogował. Ci więcej takie rzeczy możesz po prostu wyklikać w burpie – nawet nie musisz pisać pluginu.

      Więc trochę zabawy i Twój case powinno się dać +- rozwiązać :-)

      Odpowiedz
  8. RakuSek

    Bardzo dobra REKLAMA Burpa :) Całość brzmi: są inne bardzo dobre narzędzia ale Burp jest zdecydowanie najlepszy co w mojej ocenie nie jest prawdą (no offense) :)

    Odpowiedz
    • To polecisz jakieś lepsze narzędzie?

      Odpowiedz
      • RakuSek

        Tak, mogę polecić. Jedyne co ma faktycznie przewagę Burp to badanie losowości np session id

        Odpowiedz
        • To czekamy na polecenie ;-)

          Odpowiedz
          • RakuSek

            Acunetix z AcuSensor

    • Seria mogła być oparta o dowolne narzędzie, ale co jak co, Burp jest najczęstszym wyborem w tej klasie programów. Nie bez powodu: ZAP jest dobry, ale jego rozwój dopiero od niedawna jest w miarę stabilny, a i tak jest strach, że skończy jak inne Proxy OWASPu. IronWASP jest młodziutki, więc też nie do końca pewny. Fiddler to trochę inna bajka. No Burp się jednak tutaj wybija.

      Odpowiedz
  9. zxc
    Odpowiedz
    • Jest szansa, nikła bo nikła ale jest, że ktoś już kiedyś w sieci pisał o Burpie ;-)

      Odpowiedz
  10. Tomek

    Literówka: „Gdy nadchodzi potrzebna częstej modyfikacji żądań HTTP.” Fajny, dokładnie opracowany artykuł, fajnie ze pojawiają się tematy konkretne tylko szkoda ze tak rzadko.

    Odpowiedz
  11. Piotr

    Fajny artykul dzieki. Mam pytanie. Skonfigurowalem sobie burpa z proxy w firefox, takze zainstalowalem certyfikat, jednak nie moge wejsc na zadna strone, pojawia sie komunikat: serwer proxy odrzuca polaczenie, co jest tego powodem? Pozdrawiam.

    Odpowiedz

Odpowiedz