Burp Suite to pakiet oprogramowania przeznaczony do audytów bezpieczeństwa sieci ( testów penetracyjnych sieci ). Został opracowany przez PortSwigger, wiodącą firmę w świecie bezpieczeństwa sieciowego.
Burp Suite, często nazywany po prostu Burp, jest zoptymalizowany i zaprojektowany tak, aby spełniać potrzeby profesjonalnych pentesterów i jest najczęściej używanym narzędziem w swojej dziedzinie. Jest to modułowe narzędzie, które umożliwia przeprowadzanie zarówno testów ręcznych, jak i automatycznych, pomagając pentesterom skutecznie identyfikować podatności w aplikacjach internetowych.
Burp jest dostępny w różnych wersjach: Burp Suite Community i Professional. Pierwsza jest bezpłatna, ale ma mniej i bardziej ograniczona niż płatna wersja „Professional”.
Podczas testu penetracji sieci pentester będzie korzystał z pakietu Burp Suite w 90% przypadków, co czyni go niezbędnym narzędziem. Istnieją alternatywy, takie jak ZAP opracowany przez OWASP, ale Burp Suite pozostaje punktem odniesienia w świecie pentestów internetowych.
Ogólne działanie Burpa jest modułowe. Niektóre jego moduły są domyślnie instalowane w oprogramowaniu. Są to moduły niezbędne do przeprowadzenia audytu. Inne moduły uzupełniające, zwane rozszerzeniami, są dostępne do pobrania.
Siłą Burp Suite, poza modułowością i łatwością obsługi, jest bardzo aktywna społeczność, która opracowuje nowe rozszerzenia i tworzy szczegółową dokumentację modułów.
Burp to kompleksowe narzędzie, które zaspokoi większość potrzeb pentestera. Nawet jeśli podstawowe funkcjonalności nie odpowiadają konkretnej potrzebie, w większości przypadków istnieją rozszerzenie opracowane przez społeczność.
Serwer proxy
Główną funkcją Burp Suite jest Proxy. Dzięki Proxy Burp może pełnić rolę pośrednika pomiędzy klientem (przeglądarką internetową) a serwerem, na którym znajdują się aplikacje internetowe.
Umieszczając się pomiędzy tymi dwoma komponentami, Burp będzie w stanie przechwycić wszystkie pakiety i żądania wysyłane pomiędzy przeglądarką internetową a serwerem. Penester będzie więc mógł szczegółowo przeanalizować żądania i jeśli będzie chciał, zmodyfikować je.
Aby zmodyfikować żądania, serwer proxy przechwytuje żądania jedno po drugim i pozwala pentesterowi wybrać, czy je przepuścić, czy odrzucić. Jeśli je przepuści, może je zmodyfikować przed przesłaniem na serwer.
Serwer proxy umożliwia także podgląd historii żądań na żywo, bez konieczności ręcznego przesyłania ich na serwer. W rzeczywistości jest to najczęściej używany tryb proxy.
Repeater
Repeater to moduł umożliwiający dowolne odtwarzanie żądań. Jak sama nazwa wskazuje, pentester będzie mógł powtarzać żądania i modyfikować je według własnego uznania przed wysłaniem na serwer.
Następnie może przeanalizować odpowiedź serwera na podstawie wprowadzonych modyfikacji. Repeater jest często używany do ręcznego identyfikowania i wykorzystywania luk w zabezpieczeniach.
Dzięki Repeaterowi pentester może odtworzyć żądanie i sprawdzić np., czy możliwe jest wstrzyknięcie kodu JavaScript
Intruder
Intruder to potężne narzędzie, które można wykorzystać do zautomatyzowania wysyłania żądania. Na przykład Intruder może zostać użyty do automatycznego zwiększania wartości i wysyłania do serwera. Intruder umożliwi pentesterowi zautomatyzowanie żmudnych zadań, których nie da się wykonać ręcznie, takich jak wysłanie kilku tysięcy żądań. Możliwości wykorzystania Intrudera są praktycznie nieograniczone, co pozwala na dodanie kilku ładunków tego samego lub różnych typów.
Skaner podatności
Skaner to jedna z najbardziej przydatnych funkcji wersji Professional pakietu Burp Suite. Skaner automatycznie wykonuje skanowanie pasywne wszystkich żądań przesyłanych między klientem, a serwerem oraz skanowanie aktywne w przypadku żądań wybranych przez pentestera.
Skanowanie pasywne to rodzaj skanowania, podczas którego analizowany jest ruch i identyfikowane są luki w zabezpieczeniach, jeśli skaner rozpozna wzorce. Na przykład skaner Burpa zgłosi informacje, jeśli wykryje adresy e-mail w odpowiedziach serwera. Podczas skanowania pasywnego skaner nie będzie modyfikował żądań. I odwrotnie, skanowanie aktywne to rodzaj skanowania, w którym skaner celowo modyfikuje żądanie. Skaner wstawia szkodliwe ładunki do jednego lub większej liczby żądań wybranych przez pentestera i analizuje odpowiedź serwera. Jeśli skaner zidentyfikuje wzorzec będący bezpośrednią konsekwencją wstrzykniętego ładunku, zgłosi mniej lub bardziej krytyczną lukę. Skaner podatności Burp jest zatem niezbędnym narzędziem dla pentestera, oszczędzającym czas i poprawiającym wydajność.
Lista rozszerzeń pakietu Burp
Możliwe jest dodawanie rozszerzeń opracowanych zarówno przez PortSwigger, jak i przez społeczność.
Aktywny Skaner ++ i Backslash
Te dwa rozszerzenia są bardzo przydatne do rozszerzenia listy testów wykonywanych przez skaner Burp. Dzięki tym dwóm rozszerzeniom pentester może potencjalnie zidentyfikować luki, które nie zostałyby wykryte przez podstawowy skaner.
Hackvertor
Hackvertor to zestaw narzędzi do konwersji dowolnego ciągu znaków na żądane kodowanie. To rozszerzenie używa znaczników XML wokół ciągu znaków, aby określić typ kodowania lub konwersji, który ma zostać zastosowany. Możliwe jest również użycie tych tagów w dowolnym module Burp, takim jak Repeater lub Intruder, a także możliwe jest utworzenie własnych tagów konwersji XML do zaawansowanego użytku.
Analizator uwierzytelniania and AuthMatrix
Analizator uwierzytelniania lub AuthMatrix odtworzy żądanie z różnymi uprawnieniami skonfigurowanymi przez pentestera.
Jeśli chodzi o różnicę między tymi dwoma rozszerzeniami, AuthMatrix jest częściej używany, gdy pentester ma niewielką liczbę żądań do przetestowania lub jeśli niektóre żądania wykonują wrażliwe operacje, których nie należy powtarzać, takie jak tworzenie lub usuwanie danych. Penester musi wybrać żądania, które mają zostać przetestowane.
Rozszerzenie Analizator uwierzytelniania jest prostsze w użyciu i często używane, gdy trzeba przetestować dużą liczbę zapytań. Zapytania będą automatycznie odtwarzane z różnymi uprawnieniami, gdy pentester będzie poruszał się po aplikacji internetowej.
Param Miner
Rozszerzenie Param Miner można wykorzystać do wyszukiwania ukrytych nagłówków lub parametrów w danym żądaniu. Rozszerzenie to jest szczególnie przydatne do identyfikowania podatności typu „zainfekowanie pamięci cache sieci Web”.
Stepper
Stepper to rozszerzenie, które pozwala odtworzyć sekwencję wybranych zapytań. Stepper może być również używany do definiowania zmiennych dynamicznych w sekwencjach, które można następnie ponownie wykorzystać w niektórych modułach Burp Suite, takich jak Repeater lub Intruder.