1001 Pen Test oraz Bug Bounty Tips & Tricks #3 – Wayback Machine
Napisał: Patryk Krawaczyński
02/01/2020 w Pen Test Brak komentarzy. (artykuł nr 714, ilość słów: 527)
W
ayback Machine to archiwum internetowe, znajdujące się pod adresem archive.org/web/. Jest to zbiór ponad 401 (i rośnie) miliardów migawek (ang. snapshots) stron internetowych zapisanych na osi czasu. Dla łowców błędów oraz pentesterów może stanowić narzędzie do pasywnego rekonesansu. Dzięki temu serwisowi jesteśmy w stanie uzyskać dostęp do starych wersji stron internetowych. Czasami obecna wersja strony jest względnie bezpieczna, ale migawki starszych wersji mogą ujawniać ciekawe informacje lub błędy. Czyli Wayback Machine można traktować jak wehikuł czasu, który pozwala cofnąć się w czasie i zobaczyć, jak kiedyś wyglądała strona / jakie pliki i ścieżki serwer serwował, aby uzyskać więcej informacji niż to, co jest dostępne w bieżącej wersji. Na przykład:
- starsze wersje zapomnianych punktów końcowych,
- ciekawe pliki Javascript,
- wrażliwe informacje,
- adresy URL podatne na wyświetlanie katalogów i ujawnianie interesujących plików.
Po zastosowaniu kilku filtrów w linii poleceń poniższe zapytanie wyciąga z Webback Machine wszystkie subdomeny, jakie kiedyś były zarejestrowane dla przykładowej domeny domena.pl:
curl -s "http://web.archive.org/cdx/search/cdx?url=*.domena.pl/\ *&output=text&fl=original&collapse=urlkey" \ | sort | sed -e 's_https*://__' -e "s/\/.*//" -e 's/:.*//' -e 's/^www\.//' | uniq
cdn.domena.pl training.domena.pl shop.domena.pl blog.domena.pl
Jeśli chcemy ręcznie sprawdzać dany cel – wystarczy przejść na stronę https://archive.org/web/ i wprowadzić interesujący nas adres URL, powiedzmy https://domena.pl. Widok wyników wygląda jak kalendarz. Za każdym razem, gdy widzimy kolorowy okrąg wokół daty, oznacza to, że tego dnia wykonano migawkę strony. Jeśli w niego klikniemy to zobaczymy, jak wtedy wyglądała strona. Natomiast udając się na stronę: https://web.archive.org/web/*/domena.pl/* po odczekaniu chwili zobaczymy wszystkie ścieżki, które zaindeksowały roboty archiwum. Następnie możemy użyć filtrów do wyszukiwania określonych plików np. wszystko, co kończy się na “.bak“, ponieważ mogą one zawierać soczyste informacje o kopiach zapasowych. Inne interesujące filtry, jaki mogą nas zainteresować to:
- .zip
- .php
- .js
- .backup
- .csv
- /api/
- /admin/
Nie tylko możemy użyć tych danych do znalezienia interesujących nas plików (i ich rodzajów), ale możemy także znaleźć luki patrząc na strukturę adresów URL. Na przykład jeśli widzimy ścieżkę: domena.pl/?redirect=google.pl
, możemy przetestować ją na podatność otwartych przekierowań lub SSRF (ang. Server Side Request Forgery); jeśli widzimy możliwość zdefiniowania wartości dla jakiegoś parametru w żądaniu HTTP typu GET: string=
możemy przetestować go na podatność XSS. Ręczne przeszukiwanie GUI może być czasochłonne dlatego najlepiej skorzystać z API pisząc własny kawałek zapytania do wyciągania wyników w łatwo filtrowanej formie lub możemy także skorzystać z już istniejących skryptów jak: waybackMachine, waybackurls, Recon Cat, Curate, WaybackUnifier, waybackrobots, waybackurls.
Archiwum internetu zawiera mnóstwo informacji o wielu adresach. Zanim zdecydujemy się samodzielnie indeksować daną witrynę warto sprawdzić jakie dane zostały już zaindeksowane, co może zaoszczędzić nam dużo czasu i wysiłku. Po uzyskaniu danych możemy przefiltrować je pod kątem interesujących plików, parametrów, ścieżek, które mogą być podatne na atak.
Więcej informacji: Bug Hunter Podcast: Wayback Machine & Reading ebooks on the move, Wayback Machine