BurpSuite mimo bycia najlepszym narzędziem do testów penetracyjnych web aplikacji, z jakim dane mi było pracować, posiada nadal obszary, do rozwoju. Niedawno został on uzupełniony w moduł „Logger”, który de facto działa tak samo co wtyczka „Flow” z której korzystam na codzie. Mianowicie archiwizuje cały ruch przechodzący przez proxy Burpa. Jest to o tyle istotne, że standardowa historia nie pokazuje zapytań generowanych przez skaner automatyczny czy innego rodzaju dodatki działające w tle. One natomiast często wywołują nietypowe odpowiedzi serwera (np. zawierające komunikaty o błędach ujawniające informacje poufne), które bez tej archiwizacji nie byłyby zauważone podczas testów penetracyjnych. Sam proces przeglądania takowych logów też nie jest idealny i tym samym podatny na przeoczenia. Proces ten da się ułatwić i zautomatyzować — z pomocą przychodzi tutaj wtyczka stworzona przez Lukasz Wierzbicki RegexFinder.
RegexFinder to wtyczka do BurpSuite służąca do pasywnego skanowania odpowiedzi pod kątem występowania wzorców zapisanych za pomocą wyrażeń regularnych. Prościej mówiąc — wskazujemy wtyczce, jakich słów szukamy, a ona nam zakomunikuje gdy takowe znajdą się w odpowiedzi serwera. Dzięki temu możemy w testowanej aplikacji znaleźć różnego rodzaju podatności oraz dodatkowe informacje o aplikacji. Wyrażenia regularne mogą służyć do wykrywania wzorców między innymi o:
- komunikatach o błędach
- wersji oprogramowania
- funkcji JavaScript (takich jak np. postMessage lub document.write)
- kluczach API
- numerach kart kredytowych
- hasłach zaszytych w bibliotekach
- konkretnej, poszukiwanej przez nas wartości
Użytkownik dodaje listę wzorców, z których korzysta rozszerzenie. Każdy wzorzec posiada kategorię i opis. Jeśli rozszerzenie znajdzie dany wzorzec w odpowiedzi HTTP, dodaje informacje o tym w liście „znalezisk”. Listę wzorców można załadować z pliku zewnętrznego rozdzielanego tabulatorami (.tsv, .tab). Można ja także uzupełnić ręcznie, dodając/usuwając wartości. Przykładowy plik z gotowymi wzorcami można znaleźć tutaj — klik.
Instalacja
- Pobierz plik RegexFinder.jar.
- W Burp Suite otwórz zakładkę Extender.
- W zakładce Burp Extensions kliknij przycisk Add.
- Wybierz pobrany plik jar -> Next.
- Sprawdź instalację pod kątem komunikatów o błędach.
Przykładowe użycie
- W zakładce RegexFinder wczytaj plik .tsv zawierający listę wzorców.
- Na przykład następujący wzór
AIza[0-9A-Za-z-_]{35}
pasuje do klucza Google API. - Kiedy ruch przechodzi przez proxy Burpa, rozszerzenie doda problem, jeśli znajdzie dopasowanie.
- Następnie możesz zweryfikować poprawność znalezionego klucza Google API np. za pomocą gmapsapiscanner .
Wtyczka do pobrania z GitHuba twórcy – KLIK.