NFsec Logo

1001 Pen Test oraz Bug Bounty Tips & Tricks #5 – favicon.ico

14/07/2020 w Pen Test Brak komentarzy.  (artykuł nr 744, ilość słów: 367)

Ooprócz zewnętrznych serwisów, wpisów DNS, certyfikatów dla domen – istnieje jeszcze jeden zasób identyfikujący wspólne cechy: domen (firm) i webaplikacji – jest to ulubiona ikonka (ang. favicon.ico). Bardzo dużo firm posiada unikalne loga, które są pomniejszane do ikonek i wyświetlane przy pasku adresu / zakładkach przeglądarki. Zazwyczaj możemy znaleźć je pod adresem: http://domena/favicon.ico chyba, że odpowiednimi tagami HTML wskażemy przeglądarce inną lokalizację. Bardzo wiele z tych ikonek jest unikalnych dla wybranych domen (firm) oraz webaplikacji. Dzięki tej zależności możemy przeszukiwać internet w celu namierzania różnych zasobów powiązanych z daną ikonką.

Na przykład znając hash ikonki skojarzony z daną firmą możemy spróbować znaleźć jej wszystkie domeny i subdomeny używające tej ikonki. Możemy też łączyć różne zależności. Jeśli wykonamy hash webaplikacji Spring możemy sprawdzić czy w danej domenie nie jest dostępna aplikacja napisana w tym środowisku. Do obliczania haszy możemy wykorzystać prosty skrypt napisany w języku Python 3:

import mmh3,requests,base64

response = requests.get('https://nfsec.pl/favicon.ico', verify=False)
favicon = base64.encodebytes(response.content)
hash = mmh3.hash(favicon)
print(hash)
998931406

Jeśli teraz wykorzystamy wyszukiwarkę Shodan do zwrócenia wszystkich zasobów powiązanych z powyższą ikonką powinniśmy znaleźć serwer odpowiedzialny za domenę nfsec.pl:

http.favicon.hash:998931406

Hash dla zielonego listka Spring wynosi: 116323821. Wyszukanie wszystkich aplikacji Spring uruchomionych u publicznego dostawcy chmury obliczeniowej AWS będzie polegało na wykonaniu zapytania:

http.favicon.hash:116323821 org:"amazon.com"

Posiadając listę takich webaplikacji możemy przetestować ją np. na obecność wrażliwych punktów końcowych charakterystycznych dla Spring:

  • /actuator
  • /health
  • /trace
  • /logfile
  • /metrics
  • /heapdump

i wiele innych. Wyniki z wyszukiwarki możemy wyeksportować sobie do formatu JSON lub CSV, ale możemy także wykorzystać narzędzie shodan z linii poleceń:

shodan search org:"amazon.com" http.favicon.hash:116323821 \
--fields ip_str,port --separator " " | awk '{print $1":"$2}'

Tak zwrócone wyniki możemy przekazać do innego narzędzia, które podda nasze dane dalszym testom. Do masowego pobierania i przeliczania haszy favi-ikonek możemy wykorzystać narzędzie o nazwie FavFreak.

Więcej informacji: Weaponizing favicon.ico for BugBounties , OSINT and what not, REST API Pentester’s perspective, Exploiting Spring Boot Actuators

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

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

Komentowanie tego wpisu jest zablokowane.