WhatWeb
Úvod a kontext
WhatWeb je v tomto projektu užitečný hlavně ve chvíli, kdy už existuje konkrétní URL nebo endpoint a je potřeba rychle zjistit, co na něm vlastně běží. Není to skener obsahu. Není to ani plná technologická inventura. Je to praktický fingerprinting nástroj, který z HTTP odpovědi vytáhne stack, framework nebo konkrétní produkt.
Na OpenAdminu okamžitě identifikuje OpenNetAdmin. Na Horizontallu ukáže Strapi za API vhostem. Na Doctoru odhalí Flask/Werkzeug. Na Buckettu z nestandardních hlaviček rychle naznačí, že s3.bucket.htb není obyčejný Apache web, ale jiný typ služby. To je jeho praktická role: zkrátit dobu mezi “něco tu běží” a “vím, jaký technologický směr má smysl dál řešit”.
Co WhatWeb v praxi řeší
WhatWeb je fingerprinting nástroj nad HTTP odpovědí. Prakticky odpovídá na otázky:
- běží tu CMS, framework nebo konkrétní produkt,
- odpovídají hlavičky a bannery známé aplikaci,
- je za nalezenou cestou něco běžného a dobře známého,
- nebo je to vlastní služba, která vyžaduje jiný způsob analýzy.
Jeho hodnota je hlavně rozhodovací. Pomáhá zúžit prostor:
- hledat veřejně známou chybu,
- přejít na produktovou dokumentaci,
- nebo naopak opustit slepou cestu.
Nejčastější scénáře využití v tomto projektu
Potvrzení konkrétní aplikace za nalezenou cestou
Na OpenAdminu je nejprve potřeba najít /ona/. Jakmile je cesta známá, dává smysl okamžitě zjistit, co tam běží:
whatweb http://openadmin.htb/ona/
Výstup:
OpenNetAdmin :: 0wn Your Network
To je přesně ten okamžik, kdy WhatWeb šetří čas:
- už není potřeba hádat, jestli jde o vlastní admin panel,
- je známý konkrétní produkt,
- a další práce může mířit na reprodukovatelnou ONA RCE.
Identifikace frameworku nebo headless administrace
Na Horizontallu je relevantní až vedlejší API vhost a jeho /admin. WhatWeb nad ním ukáže Strapi:
whatweb -v http://api-prod.horizontall.htb
Praktický dopad je okamžitý:
- místo obecného “nějaké API”,
- je najednou známý Strapi,
- a tím i dobře známá cesta k resetu hesla a plugin-based RCE.
To je dobrý příklad toho, že fingerprinting nemá hodnotu jen u klasických CMS. Stejně cenný bývá i u admin rozhraní a API platforem.
Potvrzení stacku a vývojového prostředí
Na Doctoru je WhatWeb užitečný jinak. Neukáže jeden slavný produkt, ale pomůže zúžit charakter cíle:
whatweb http://doctors.htb
Werkzeug/1.0.1 Python/3.8.2
To je důležité, protože:
- web už není “nějaký login”,
- je zřejmé, že jde o Flask/Werkzeug aplikaci,
- a s tím se pojí jiný typ očekávaných chyb, pracovních cest a artefaktů.
Rychlé čtení neobvyklých hlaviček a povrchu služby
Na Buckettu WhatWeb nevede přímo ke jménu produktu, ale i tak je cenný. Z odpovědi s3.bucket.htb je vidět:
hypercorn-h11,- neobvyklé CORS hlavičky,
- a chování, které víc připomíná objektové nebo API rozhraní než obyčejný web.
Právě to je další praktická role nástroje: potvrdit, že se díváte na něco netypického a že další enumerace má směřovat jinam než u běžného webu.
Kdy je WhatWeb nejlepší volba
Největší smysl dává tehdy, když:
- už znáte konkrétní URL nebo vhost,
- potřebujete rychle zúžit technologii,
- a další krok závisí na tom, zda je za ní známý produkt nebo framework.
V těchto situacích je mnohem levnější než ruční čtení zdrojáků, zkoušení bannerů nebo slepé hledání exploitu.
Co WhatWeb neumí vyřešit za vás
WhatWeb:
- sám neobjeví skryté cesty,
- neřekne, která verze je skutečně zranitelná,
- a nenahradí ruční ověření chování aplikace.
Na OpenAdminu dává směr k ONA. Na Horizontallu k Strapi. Na Doctoru k Flask/Werkzeug. Ale pořád je potřeba číst další kontext a ověřit, zda právě ten produkt nebo framework skutečně otevírá realistickou útočnou cestu.
Nejčastější chyby při použití
Záměna fingerprintingu za exploit
To, že WhatWeb rozpozná produkt, ještě neznamená, že:
- je verze zranitelná,
- exploit sedí na konkrétní konfiguraci,
- nebo že právě tahle větev má nejvyšší návratnost.
Použití příliš brzy
Pokud ještě není jasný správný host nebo endpoint, bývá důležitější nejdřív obsahová enumerace nebo host discovery. WhatWeb má největší hodnotu ve chvíli, kdy už má co fingerprintovat.
Přecenění přesnosti výsledku
Někdy vrátí jasný produkt, jindy jen hlavičky a framework. Obojí je užitečné, ale má jinou sílu. Praktická hodnota je v tom, jak dobře výsledek zapadá do zbytku indicií.
Nejčastější praktické scénáře
Potřebuji vědět, co běží za nalezenou admin cestou
To je OpenAdmin nebo Horizontall.
Potřebuji zúžit framework a charakter aplikace
To je Doctor.
Potřebuji potvrdit, že HTTP povrch není obyčejný web, ale spíš API nebo specializovaná služba
To je Bucket.
Související články v projektu
- Rozbory: OpenAdmin, Horizontall, Doctor, Bucket, Devzat, BigHead
- Techniky: Exponovaná debug, maintenance a administrační rozhraní, Legacy infrastruktura, kde banner prakticky rozhodne exploit, Špatně vystavené datové, storage a cloud-like služby
Co si odnést do praxe
WhatWebje nejpraktičtější jako rychlý převodník z URL na pracovní technologickou hypotézu.- Největší hodnotu má tehdy, když už je známý správný host nebo endpoint a potřebujete rozhodnout, kam dál směřovat analýzu.
- Není to náhrada za verzi, konfiguraci ani exploit. Je to levný způsob, jak přestat hádat, co na webu vlastně běží.