Skenování
Ogma obsahuje pasivní a aktivní skenery. Pasivní skenování analyzuje zachycený provoz. Aktivní skenování odesílá upravené požadavky a ověřuje nálezy podle chování odpovědí, časování, odrazu vstupu a porovnání s výchozí odpovědí.
Pasivní skener
Pasivní skener vyhodnocuje zachycené záznamy HTTP bez odesílání nového provozu.
Detekuje například tyto kategorie:
- Zpřístupnění chybových zpráv SQL, NoSQL, LDAP, šablon, deserializace a XML.
- Chybějící nebo slabé bezpečnostní hlavičky.
- Problémy s příznaky cookies.
- Chybné konfigurace CORS.
- Zpřístupněné tajné údaje, soukromé klíče, data servisních účtů, webhooky a tokeny.
- Zpřístupněná data správy verzí, konfigurace, dokumentace API nebo citlivé soubory.
- Problémy JWT, například algoritmus
none, dlouhá doba platnosti a používání HMAC. - Pomalé odpovědi a nebezpečné metody HTTP.
Pasivní nálezy jsou užitečné pro třídění, ale stále vyžadují kontrolu. Nálezy týkající se hlaviček a zásad často závisí na kontextu aplikace.
Spuštění pasivní analýzy
- Zachyťte provoz.
- Otevřete Pomocné nástroje > Skener.
- Vyberte Pasivní skener.
- Klikněte na Skenovat celou historii.
- Zkontrolujte vytvořené nálezy v Nálezech.
Vlastní pasivní pravidla se nastavují v Nastavení > Skener.
Aktivní skener
Aktivní skener vkládá payloady do kandidátních míst požadavku a ověřuje odpověď cíle.
Implementované skupiny kontrol:
| Kontrola | Způsob potvrzení |
|---|---|
| SQL injekce | Hledá chyby SQL nebo u časových payloadů opakovatelnou prodlevu nad naměřenou výchozí hodnotou. |
| Odražené XSS | Vyžaduje odraz payloadu v odpovědi HTML bez očekávaného kódování. |
| Průchod adresáři / LFI | Vyžaduje indikátory obsahu souborů, které ve výchozí odpovědi nebyly přítomné. |
| Injekce příkazů OS | Vyžaduje výstup příkazu nebo u časových payloadů opakovatelnou prodlevu nad naměřenou výchozí hodnotou. |
| SSTI | Používá deterministické payloady s matematickými výrazy v šabloně a vyžaduje vypočítaný výsledek v odpovědi. |
| SSRF | Vyžaduje důkazy metadat nebo identifikačního textu služby z vložených URL payloadů. |
| Otevřené přesměrování | Vyžaduje odpověď s přesměrováním na vloženou externí doménu. |
Skener záměrně nepovažuje obecnou odpověď 200 OK za důkaz zranitelnosti.
Dosud neimplementované kontroly
Seznam aktivních kontrol může obsahovat kontroly označené jako dosud neimplementované. Zobrazují se pro přehled o plánu vývoje, ale nevytvářejí nálezy. V aktuálním backendu se XXE a nezabezpečené nahrávání souborů automaticky nepotvrzují bez ověření mimo běžný komunikační kanál nebo ověření specifického pro aplikaci.
Aktivně skenovat vše
Aktivně skenovat vše testuje nedávno zachycené požadavky vložením payloadů do:
- Parametrů dotazu.
- Parametrů formulářového těla.
- Hodnot JSON.
- Segmentů cesty.
- Vybraných hlaviček, pokud je tato možnost zapnutá.
Před aktivním skenováním použijte rozsah testování, aby provoz a výsledky zůstaly zaměřené na cíl.
Doporučený pracovní postup:
- Vymezte a aktivujte rozsah testování.
- Zachyťte reprezentativní provoz cíle.
- Začněte pasivní analýzou.
- Než použijete Aktivně skenovat vše, spusťte aktivní skeny na vybraných požadavcích.
- V Nálezech zkontrolujte průkazné požadavky a důkazy z odpovědí.
- Odstraňte falešně pozitivní výsledky místo zahrnutí nezpracovaného výstupu skeneru do zprávy.
Kvalita důkazů
Kvalitní nález skeneru by měl odpovědět na otázky:
- Který parametr nebo vstup byl testován?
- Který payload byl použit?
- Co se v odpovědi změnilo?
- Chybělo toto chování ve výchozí odpovědi?
- Je problém opakovatelný?
- Jsou v Ogma propojené důkazy?
Pokud jsou důkazy nejisté, snižte míru jistoty nebo ponechte výsledek jako poznámku, dokud nebude potvrzen.