Automatyczne wykrywanie dowolnego ciągu znaków (klucze api, hasła, komunikaty o błędach) – RegexFinder

my127001.pl 2 lat temu

BurpSuite mimo bycia najlepszym narzędziem do testów penetracyjnych web aplikacji, z jakim dane mi było pracować, posiada przez cały czas 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, iż 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 dzięki 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żeli 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ć manualnie, dodając/usuwając wartości. Przykładowy plik z gotowymi wzorcami można znaleźć tutaj — klik.

Instalacja

  1. Pobierz plik RegexFinder.jar.
  2. W Burp Suite otwórz zakładkę Extender.
  3. W zakładce Burp Extensions kliknij przycisk Add.
  4. Wybierz pobrany plik jar -> Next.
  5. Sprawdź instalację pod kątem komunikatów o błędach.

Przykładowe użycie

  1. W zakładce RegexFinder wczytaj plik .tsv zawierający listę wzorców.
  2. Na przykład następujący wzór AIza[0-9A-Za-z-_]{35} pasuje do klucza Google API.
  3. Kiedy ruch przechodzi przez proxy Burpa, rozszerzenie doda problem, jeżeli znajdzie dopasowanie.
  4. Następnie możesz zweryfikować poprawność znalezionego klucza Google API np. dzięki gmapsapiscanner .

Wtyczka do pobrania z GitHuba twórcy – KLIK.

Idź do oryginalnego materiału