Wapiti narzędzie do pentestów

Bezpieczeństwo

Loading

W serii wpisów o testach bezpieczeństwa i pentestach przyszedł czas na kolejną aplikacje. Wapiti narzędzie do pentestów. Narzędzie Wapiti to open-sourceowy skaner aplikacji webowych, który pozwala na automatyczne wykrywanie luk bezpieczeństwa w witrynach internetowych. Jest on dostępny na licencji GPLv2 i jest napisany w języku Python.

Opis narzędzia:

Narzędzie Wapiti to open-sourceowy skaner aplikacji webowych, który pozwala na automatyczne wykrywanie luk bezpieczeństwa w witrynach internetowych. Jest on dostępny na licencji GPLv2 i jest napisany w języku Python.

Wapiti pozwala na skanowanie aplikacji webowych pod kątem różnych typów ataków, takich jak SQL injection, XSS, file inclusion, command execution, i inne. Narzędzie pozwala na skanowanie zarówno pojedynczych stron, jak i całych witryn internetowych. Wapiti jest dostępny zarówno jako interfejs wiersza poleceń, jak i graficzny interfejs użytkownika.

Narzędzie posiada wbudowaną bazę danych zawierającą profile różnych aplikacji webowych, które pozwalają na skanowanie tych aplikacji z większą precyzją. Wapiti posiada również opcję skanowania z wykorzystaniem metody „fuzzing”, która polega na przesyłaniu danych do aplikacji webowej w celu wykrycia błędów i luk bezpieczeństwa.

Narzędzie posiada również szereg opcji konfiguracyjnych pozwalających na dostosowanie skanowania do indywidualnych potrzeb użytkownika. Możliwe jest np. ustawienie limitów czasowych dla poszczególnych etapów skanowania, wybór rodzajów plików do pobrania czy też określenie poziomu logowania działań skanera.

Wapiti pozwala na generowanie raportów w formacie HTML lub XML, które zawierają informacje o odkrytych lukach bezpieczeństwa oraz sugestie dotyczące ich naprawy. Narzędzie pozwala również na zapisywanie skanowanych danych do pliku, co pozwala na późniejsze przeglądanie i analizowanie wyników.

Wapiti jest narzędziem cenionym za swoją skuteczność i elastyczność, co pozwala na jego stosowanie zarówno przez profesjonalnych pentesterów, jak i przez osoby początkujące, które chcą zwiększyć bezpieczeństwo swoich aplikacji webowych. Wapiti jest regularnie aktualizowany i rozwijany przez społeczność open-source, co pozwala na ciągłe ulepszanie narzędzia oraz rozszerzanie jego możliwości.

Warto również wspomnieć, że narzędzie Wapiti jest kompatybilne z różnymi systemami operacyjnymi, w tym Windows, MacOS i Linux. Dzięki temu może być stosowane przez użytkowników z różnych środowisk, co zwiększa jego dostępność.

Możliwości aplikacji

Narzędzie posiada wiele zastosowań przy przeprowadzaniu testów. Przykładami mogą być:

  • Skanowanie pod kątem różnych typów luk bezpieczeństwa, takich jak SQL injection, Cross-Site Scripting (XSS) i File Inclusion.
  • Możliwość skanowania aplikacji webowych w różnych trybach, takich jak skanowanie podstawowe lub pełne.
  • Możliwość dostosowywania skanowania do indywidualnych potrzeb poprzez ustawienie różnych opcji konfiguracyjnych.
  • Obsługa różnych metod autoryzacji, takich jak podanie nazwy użytkownika i hasła lub użycie pliku cookie.
  • Możliwość generowania raportów w różnych formatach, takich jak HTML, XML i JSON.
  • Wbudowany moduł crawlingu, który pozwala na automatyczne odkrywanie nowych linków i formularzy na stronie.
  • Obsługa różnych systemów operacyjnych, takich jak Windows, MacOS i Linux.
  • Regularne aktualizacje i rozwój narzędzia przez społeczność open-source.

Instalacja:

Aby zainstalować Wapiti na systemie Linux za pomocą linii poleceń, należy wykonać następujące kroki:

  1. Pobierz najnowszą wersję narzędzia ze strony internetowej projektu
wget https://github.com/wapiti3/wapiti/releases/download/3.0.3/wapiti-3.0.3.tar.gz
  1. Uruchom terminal i przejdź do katalogu, w którym znajduje się pobrany plik.
  2. Rozpakuj plik, np:
tar -xzvf wapiti-3.0.3.tar.gz
  1. Przejdź do katalogu z rozpakowanymi plikami poleceniem cd wapiti-3.0.3.
  2. Uruchom polecenie python3 setup.py install, to zainstaluje Wapiti w systemie.
  3. Sprawdź czy Wapiti został poprawnie zainstalowany, wpisując w terminalu wapiti --version, powinno wyświetlić Ci wersję zainstalowanego narzędzia.
  4. Możesz teraz używać Wapiti do skanowania swoich aplikacji webowych.

Uwaga: Jeśli masz problemy z instalacją, upewnij się, że masz zainstalowane wymagane pakiety, takie jak python3 oraz pip3, oraz upewnij się, że masz dostęp do uprawnień administratora (sudo)

Polecenia do wykorzystania w skrypcie:

Polecenia w Wapiti to opcje, które pozwalają na konfigurację i dostosowanie działania narzędzia do potrzeb użytkownika. Poniżej przedstawiam kilka przykładowych poleceń oraz ich opis:

  • -u lub --url: jest to parametr, który służy do określenia adresu URL aplikacji webowej, na której ma zostać przeprowadzone skanowanie. Przykład: wapiti -u https://example.com.
  • -f lub --form: parametr ten pozwala na wykrycie i skanowanie formularzy na stronie. Przykład: wapiti -u https://example.com -f.
  • -o lub --output: parametr umożliwiający określenie ścieżki i nazwy pliku, do którego zostanie zapisany raport z przeprowadzonego skanowania. Przykład: wapiti -u https://example.com -o report.html.
  • -b lub --scope: umożliwia określenie zakresu skanowania poprzez podanie adresów URL, które mają być pominięte podczas skanowania. Przykład: wapiti -u https://example.com -b "/admin,/logout".
  • -a lub --auth-type: pozwala na określenie metody autoryzacji, która ma zostać użyta podczas skanowania. Możliwe opcje to: basic, digest, ntlm, form, none.
  • -c lub --cookie: parametr pozwalający na ustawienie pliku cookie, który zostanie użyty podczas skanowania. Przykład: wapiti -u https://example.com -c cookies.txt.
  • -v lub --verbose: po włączeniu tego parametru Wapiti będzie wyświetlał informacje o przebiegu skanowania, co pozwala na lepszą kontrolę nad procesem.
  • -d lub --data: pozwala na przesłanie danych, które mają zostać wysłane wraz z formularzem podczas skanowania. Przykład: wapiti -u https://example.com -d "name=value&name2=value2"

Te opcje to tylko niektóre z dostępnych poleceń. Dokumentacja Wapiti zawiera pełną listę dostępnych opcji, które można wykorzystać podczas pracy z tym narzędziem.

Integracja z Gitlabem:

Chcąc uruchamiać testy z poziomu gitlaba nasze testy będą opierać się o stworzenie pliku gitlab-ci.yml, który będzie naszym centrum dowodzenia i zarządzania. Do uruchomienia naszych testów konieczne będzie:

  • runner na gitlabie, na podstawie którego testy będą uruchamiane (pytaj Devopsów o tag)
  • obraz dockerowy – dostępny na hub.docker.com.
image: ubuntu:20.04

stages:
  - scan

scan:
  stage: scan
  tags:
    - nazwa-runnera
  script:
    - apt-get update
    - apt-get install -y wapiti
    - wapiti -u https://www.example-page.pl/ -f html -o report.html
  artifacts:
    paths:
    - report.html

Podsumowanie

Wapiti to skuteczne i elastyczne narzędzie do skanowania aplikacji webowych, które pozwala na automatyczne wykrywanie luk bezpieczeństwa. Jest ono dostępne na licencji open-source i jest dostępne zarówno jako interfejs wiersza poleceń, jak i graficzny interfejs użytkownika. Wapiti posiada wiele możliwości, w tym skanowanie z wykorzystaniem różnych metod ataku oraz generowanie raportów. Jest to cenny narzędzie dla każdego, kto zajmuje się bezpieczeństwem aplikacji webowych. Ten projekt, może pomóc Ci przy testach z wykorzystaniem Kali Linux czy Parrot OS do pozyskania informacji w celach testowych. Jeżeli jesteście zainteresowani działką Security to zapraszamy do zakładki Bezpieczeństwo.

Zastrzeżenie

Wapiti to narzędzie, które służy tylko i wyłącznie do odpowiedzialnego i autoryzowanego użytku. Jako użytkownik jesteś odpowiedzialny za swoje działania. W przypadku dokonywania nielegalnych działań z użyciem tego narzędzia, mogą Ci grozić konsekwencje z kodeksu karnego.