OWASP ZAP (Zed Attack Proxy) – darmowe narzędzie służące do testowania bezpieczeństwa aplikacji webowych, rozwijana w ramach grupy OWASP (Open Web Application Security Project). Narzędzie jest proste w instalacji i wydaje się idealne dla początkujących użytkowników.
Aplikacja jest dostępna na platformy Windows, Linux, oraz MacOS i można pobrać z zaproxy.org.
Gdy pobierzesz narzędzie, pamiętaj, że wersje dla systemów Windows i Linux wymagają Javy 8 lub nowszej.
Instalacja
Dla Windowsa sprawa jest, prosta gdyż pobieramy plik *.exe i przeprowadzamy proces instalacji krok po kroku.
W przypadku Linuxa pobieramy wersję dla tego systemu (ja wybrałem installer) i wchodzimy do terminala.
Następnie będąc w terminalu konieczne jest wykonanie dwóch poleceń.
chmod u+x ZAP_2_9_0_unix.sh
Następnie musimy uruchomić instalator poprzez
sudo ZAP_2_9_0_unix.sh
U mnie jest informacja o aktualizacji oprogramowania, albowiem posiadam już to narzędzie w systemie Kali Linux.
Konfiguracja
Po instalacji narzędzia, możemy skonfigurować przeglądarkę do przechwytywania requestów. Konieczne jest wejście w ustawienia przeglądarki i wybrać Manual proxy configuration i wpisać:
HTTP Proxy – 127.0.0.1 + port 8080.
Natomiast w ustawieniach OWASP Zap konieczne jest sprawdzenie w zakładce narzędzia – opcje – local proxies czy mamy ustawiony adres localhost i port 8080.
Wchodząc teraz na strony internetowe, otrzymamy informacje, że jest problem z certyfikatem ZAPa.
Konieczne jest zapisanie certyfikatu z OWASP ZAP. Wystarczy przejść do narzędzia – opcje – dynamiczne certyfikaty SSL (Dynamic SSL Certification) i następnie zapisać plik.
Tak zapisany certyfikat musimy dodać do przeglądarki internetowej.
Preferencje – wyszukujemy Certificates – View Certificates – Import – dodajemy nasz plik *.cer. Przy dodawaniu pliku zaznaczamy oba checkboxy.
Dzięki takim czynnościom, teraz wchodząc na jakikolwiek adres url przez przeglądarkę, requesty będą przechwytywane i widoczne w OWASP ZAP.
Zalety.
OWASP ZAP wszystkie wykryte podatności kategoryzuje ze względu na stopień zagrożenia (wysoki, średni, niski, informacyjny). Dodatkowo automatycznie je opisuje i zestawia. Daje też możliwość generowania pliku HTML lub XML wraz z raportem.
Narzędzie posiada wiele dodatków które znajdują się w Marketplace. Każde z rozszerzeń posiada status – Alpha – Beta – Release.
Przy chęci automatyzowania, jest też możliwość integracji OWASP ZAPa z Jenkinsem, Azure Devops czy Selenium.
Dużym źródłem wiedzy i możliwego treningu jest GitHub zaproxy.
Podsumowanie
W tej części pokazałem Wam skąd pobrać narzędzie i w jaki sposób przygotować sobie pod testy. W kolejnych epizodach o OWASP ZAP, zobaczycie m.in. Active Skan, Spider, czy też Fuzz. W przyszłości gdy będę miał możliwość konfiguracji z Jenkinsem i przeprowadzę taki proces, również podzielę się wiedzą.