NFsec Logo

1001 Pen Test oraz Bug Bounty Tips & Tricks #4 – (Sub)domeny w czasie rzeczywistym

21/03/2020 (2 tygodnie temu) w Pen Test Brak komentarzy.  (artykuł nr 727, ilość słów: 342)

K

to ma informację ten ma władzę. Jeśli pamiętamy serwis umożliwiający nam rekonesans przez listę certyfikatów, czy innego tego typu rozwiązania – to możemy dojść do wniosku, że wszystkie te rozwiązania mają opóźnienia w czasie. No chyba, że będziemy codziennie wykonywać z nich zrzut danych i porównywać różnicę, ale to może być trochę czasochłonne. Czy istnieje możliwość stworzenia prostego mechanizmu, który będzie w czasie rzeczywistym śledził dla nas pojawienie się domen lub subdomen będących w centrum naszego zainteresowania ?

Otóż istnieje serwis CERTSTREAM, który w czasie rzeczywistym śledzi strumień aktualizacji dzienników wydawania certyfikatów. Dzięki temu możemy zobaczyć na żywo dla jakich domen są wystawiane (lub odnawiane) certyfikaty SSL. W dodatku oferuje on bardzo proste biblioteki, które pozwalają budować odpowiednie filtry danych przy minimalnym wysiłku. Jako przykład podam bibliotekę w języku Python, która jednocześnie może być uruchomiona z linii poleceń. Jej instalacja polega na wydaniu poleceń:

apt install -y python3-pip jq
pip3 install certstream

Od tego momentu możemy śledzić wszystkie certyfikaty, które są wydawane (lub przedłużane) dla (sub)domen. Format w jakim będziemy wypluwać dane to JSON dlatego zainstalowaliśmy dodatkowo program jq pełniący rolę procesora danych w tym formacie – dzięki niemu wytniemy tylko interesujące nas wartości z wybranego klucza:

certstream --json | jq -r '{ domains: .data.leaf_cert.all_domains }| .[][]'

Uruchamiając powyższe polecenie powinniśmy zobaczyć strumień nazw domenowych, które przesuwają nam w bardzo szybkim tempie ekran terminala. W tym momencie wystarczy dodać po potoku dowolny program obsługujący wyrażenia regularne. Na przykład:

certstream --json | jq -r '{ domains: .data.leaf_cert.all_domains }| .[][]' \
| egrep -E \.ibm\.com$

po kilku godzinach pozwoliło złapać subdomenę:

2132039.eu-de.e2e.certificate-manager.test.cloud.ibm.com

Wedle potrzeb możemy sporządzić całą listę domen / subdomen, które chcemy monitorować. W przypadku pozytywnego dopasowania możemy wyzwolić alarm lub skaner podatności, który powiadomi nas o po zakończonym przebiegu o wyniku.

Więcej informacji: CertStream, h1domains

Kategorie K a t e g o r i e : Pen Test

Tagi T a g i : , , , , , ,

Komentowanie tego wpisu jest zablokowane.