SQLMap narzędzie do pentestów

Bezpieczeństwo

Loading

W serii wpisów o testach bezpieczeństwa i pentestach przyszedł czas na kolejną aplikacje. SQLMap narzędzie do pentestów. SQLMap to narzędzie open-source do automatyzacji procesów związanych z atakami na bazy danych SQL. Jest ono powszechnie stosowane przez pentesterów i hakerów do wykrywania i eksploatacji luk w zabezpieczeniach baz danych.

Informacje ogólne

SQLMap jest narzędziem do automatycznego wykrywania i eksploatacji luk w bazach danych SQL. Umożliwia ono wykonywanie różnego rodzaju ataków, takich jak SQL injection, na bazach danych. Narzędzie to jest open-source i dostępne dla każdego, co sprawia, że jest popularne wśród hakerów i pentesterów.SQLMap to narzędzie open-source, które służy do automatyzacji procesów związanych z atakami na bazy danych SQL. Jest ono powszechnie stosowane przez pentesterów i hakerów do wykrywania i eksploatacji luk w zabezpieczeniach baz danych.

Narzędzie to jest skierowane do osób, które chcą przeprowadzić atak na bazę danych. SQLMap umożliwia automatyczne wykrywanie luk w bazach danych, automatyczne generowanie payloadów oraz automatyczne pobieranie danych z bazy danych. Dzięki temu, pentesterzy i hakerzy mogą skupić się na analizie i interpretacji danych, zamiast tracić czas na manualne przeprowadzanie ataków.

SQLMap posiada szereg opcji, które umożliwiają dostosowanie ataku do konkretnej sytuacji. Narzędzie to obsługuje różne rodzaje baz danych, takie jak MySQL, Oracle, PostgreSQL, Microsoft SQL Server, i wiele innych. SQLMap jest również kompatybilny z różnymi platformami, takimi jak Linux, Windows, MacOS.

Narzędzie to posiada również szereg funkcji bezpieczeństwa, takich jak możliwość ustawienia proxy, czy też ukrycie swojego adresu IP. Dzięki temu, atak na bazę danych jest bardziej trudny do wykrycia.

SQLMap jest narzędziem, które jest szczególnie przydatne dla pentesterów i hakerów, którzy chcą przeprowadzić skuteczne ataki na bazy danych. Jego automatyzacja procesów pozwala na skupienie się na analizie i interpretacji danych, co przyczynia się do skuteczniejszego przeprowadzenia ataku. Dodatkowo, możliwości dostosowywania ataku do konkretnej sytuacji oraz funkcje bezpieczeństwa pozwalają na skuteczne przeprowadzenie ataku bez ryzyka wykrycia.

Możliwości aplikacji

SQLMap posiada szereg możliwości, takich jak:

  • Skanowanie podatności SQL injection: SQLMap automatyzuje proces identyfikacji podatności SQL injection w aplikacjach internetowych. Narzędzie pozwala na przeskanowanie całej aplikacji lub tylko wybranych parametrów.
  • Pobieranie danych z bazy danych: SQLMap pozwala na automatyczne pobieranie danych z bazy danych, korzystając z podatności SQL injection. Możliwe jest pobranie całych tabel lub tylko wybranych kolumn.
  • Wprowadzanie danych do bazy danych: SQLMap pozwala na automatyczne wprowadzanie danych do bazy danych, korzystając z podatności SQL injection. Możliwe jest dodanie nowych rekordów do tabel lub zmiana już istniejących.
  • Eksploatacja luk zabezpieczeń: SQLMap pozwala na automatyczne wykorzystanie znalezionych luk zabezpieczeń, takich jak przejęcie kontroli nad bazą danych lub wykonywanie poleceń na serwerze.
  • Tworzenie back-upu bazy danych: SQLMap pozwala na automatyczne tworzenie kopii zapasowej bazy danych.
  • Wsparcie dla różnych typów baz danych: SQLMap wspiera wiele różnych typów baz danych, w tym MySQL, Oracle, PostgreSQL, MS-SQL, SQLite i inne.
  • Wsparcie dla różnych metod autentykacji: SQLMap obsługuje różne metody autentykacji, w tym standardowe formularze logowania, uwierzytelnianie bazowe, uwierzytelnianie certyfikatami i inne.
  • Automatyzacja ataków: SQLMap posiada interfejs API, dzięki czemu ataki można automatyzować oraz integrować z innymi narzędziami.

Instalacja:

Aby zainstalować SQLMap na Linuxie, należy otworzyć terminal i wprowadzić następujące polecenie:

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev

Następnie, przejdź do katalogu, w którym zostało zainstalowane narzędzie, i uruchom plik sqlmap.py:

cd sqlmap-dev
python sqlmap.py

Aby zainstalować SQLMap na Windowsie, należy pobrać plik instalacyjny z oficjalnej strony projektu i uruchomić go. Po zakończeniu instalacji, można uruchomić narzędzie, wpisując w wierszu poleceń:

sqlmap.py
Aby zainstalować SQLMap na MacOS, należy otworzyć terminal i wprowadzić następujące polecenie:
brew install sqlmap

Następnie, aby uruchomić narzędzie, wpisz w terminalu:

sqlmap

Polecenia:

Poniżej przedstawiamy kilka przykładowych poleceń dla SQLMap:

Skanowanie podatności SQL injection:

sqlmap -u "http://example.com/page.php?param1=value1&param2=value2"

Pobieranie danych z bazy danych:

sqlmap -u "http://example.com/page.php?param1=value1&param2=value2" --tables
sqlmap -u "http://example.com/page.php?param1=value1&param2=value2" -D nazwa_bazy -T nazwa_tabeli --dump

Wprowadzanie danych do bazy danych:

sqlmap -u "http://example.com/page.php?param1=value1&param2=value2" --sql-query="INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2');"

Przejęcie kontroli nad bazą danych:

sqlmap -u "http://example.com/page.php?param1=value1&param2=value2" --os-shell

Tworzenie kopii zapasowej bazy danych:

sqlmap -u "http://example.com/page.php?param1=value1&param2=value2" --dump-all -r nazwa_pliku.sql

Automatyzacja ataku z wykorzystaniem interfejsu API:

sqlmapapi -s

Polecenia do wykorzystania w skrypcie:

Polecenia w SQLMap 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 (URL) – to jest parametr wymagany, który określa adres URL podatnego na atak SQL injection skryptu.
  • -dbs – wyświetla nazwy dostępnych baz danych na serwerze.
  • -D (database) – określa nazwę bazy danych, z której chcemy pobrać dane.
  • -T (table) – określa nazwę tabeli, z której chcemy pobrać dane.
  • --dump – wyświetla wszystkie dane z wybranej tabeli.
  • --threads – określa liczbę wątków, które mają być używane podczas ataku.
  • --level – określa poziom trudności wykrywania podatności SQL injection.
  • --risk – określa ryzyko ataku SQL injection.
  • --random-agent – używa losowego agenta przeglądarki podczas ataku.
  • -o – zapisuje wynik działania do pliku tekstowego.
  • -s – umożliwia pracę z interfejsem API SQLMap.

Te opcje to tylko niektóre z dostępnych poleceń. Dokumentacja SQLMap 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 Ubuntu – dostępne na hub.docker.com.
image: ubuntu:20.04

stages:
  - scan

sqlmap:
  stage: scan
  tags:
    - nazwa-runnera
  script:
    - apt-get update
    - apt-get install -y sqlmap
    - sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" --batch --flush-session -o /report
  artifacts:
    paths:
      - /report

Podsumowanie

SQLMap narzędzie do pentestów było kolejnym wpisem z tematyki bezpieczeństwa. SQLMap to narzędzie open-source do automatyzacji procesów związanych z atakami na bazy danych SQL. Jest ono powszechnie stosowane przez pentesterów i hakerów do wykrywania i eksploatacji luk w zabezpieczeniach baz danych. 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

SQLMap 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.