Twój Biznes - Nasze Kompetencje IT

Banner image

Testy penetracyjne


Czym są testy penetracyjne?

Testy penetracyjne to próba kontrolowanego włamania do systemów operacyjnych lub aplikacji webowych. Polegają na szukaniu podatności, ich ocenie i możliwości wykorzystania w realnym ataku, zanim zrobi to osoba niepożądana.

Niektóre krytyczne podatności mogą być wykorzystane do podniesienia uprawnień w systemie (ze zwykłego użytkownika do użytkownika root lub administrator) lub od razu do całkowitego przejęcia systemu/aplikacji.

Ponieważ bezpieczeństwo to nie stan stały, a dynamicznie zmieniający się proces w czasie, to ilość znalezionych podatności jest wprost proporcjonalna do wieku działającego systemu.

Testy penetracyjne nie podnoszą bezpieczeństwa same z siebie, ale wystawiają ocenę bezpieczeństwa stanu bieżącego. Dopiero zastosowanie zaleceń z testów podnosi stan bezpieczeństwa.

Czym jest ocena podatności?

Niektóre firmy oferujące testy penetracyjne mają na myśli Vulnerability Assessment, czyli ocenę podatności. Zwykle jest to automatyczny skan zawierający listę podatności oraz kroki zmierzające do ich wyeliminowania, najczęściej poprzez instalację poprawki.

Nie są to testy penetracyjne, a jedynie wstęp do nich.

Przeprowadzane przez nas testy penetracyjne są wykonywane automatycznie i manualnie. Narzędzia automatyczne są jedynie pomocą dla pentestera (osoby wykonującej testy penetracyjne). Nie można przeprowadzić testu penetracyjnego jedynie automatycznie, gdyż niektóre podatności wymagają interakcji użytkownika. Testy kończą się raportem z listą podatności, przejętych funkcji lub systemów (jeśli takie podatności występowały) oraz zaleceniami naprawczymi.

Znalezione podatności oceniane są wg CVSS (Common Vulnerability Scoring System) [Wikipedia] oraz CWE (Common Weakness Enumeration) [Wikipedia]. Podawane jest również rozwiązanie problemu.

Testujemy infrastrukturę (systemy operacyjne, urządzenia IoT, urządzenia dostępowe: routery, przełączniki, drukarki, itp.), jak również aplikacje i powiązane z nimi API oraz aplikacje mobilne.

Czynności wykonywane w ramach testów penetracyjnych

Testy podstawowe:

  • skanowanie usług (otwartych portów)
  • szukanie podatnych, przestarzałych usług
  • szukanie błędów w konfiguracji serwera powstałych podczas konfigurowania przez administratora
  • próba uzyskania kontroli nad usługą
  • próba eskalacji uprawnień do użytkownika administrator lub root

Testy aplikacji webowej koncentrują się głównie na poszukiwaniu popularnych podatności, które zostały wprowadzone nieintencjonalnie w trakcie tworzenia aplikacji. Błędy takie powstają przez niewiedzę programisty, produkcję aplikacji w pośpiechu lub niestosowanie frameworków do pisania aplikacji webowych.

Niektóre z tych błędów to:

  • RCE (Remote Code Execution), czyli zdalne wykonanie kodu co przeważnie kończy się przejęciem serwisu
  • SQLi (SQL injection), czyli wstrzykiwanie poleceń SQL celem wykonania kodu SQL, np. modyfikacja lub zrzut bazy danych
  • RFI (Remote File Inclusion), czyli wgrywanie plików z serwisów zewnętrznych, celem ich wykonania (tzw. webshell)
  • LFI (Local File Inclusion), czyli wgrywanie plików z systemu operacyjnego, na którym działa aplikacja web, celem ich pobrania
  • XSS (Cross Site Scripting), czyli wstrzyknięcie kodu do przeglądarki użytkownika z odwiedzanej strony
  • CSRF (Cros Site Request Forgery), czyli wykonanie określonej czynności na prawach zalogowanego użytkownika

Oprócz tego wykonywane są następujące testy:

  • testy działania aplikacji na prawach użytkownika uwierzytelnionego (po zalogowaniu) i nieuwierzytelnionego (bez logowania, funkcja gość)
  • testy API (Application Programming Interface), np. (REST) Representational State Transfer z zastosowaniem różnych formatów, np. Extensible Markup Language (XML), JavaScript Object Notation (JSON) i inne
  • sprawdzanie siły szyfrowania TLS
  • testy obsługi sesji
  • testy uwierzytelniania i autoryzacji
  • testy obsługi błędów
  • testy podatności opisanych w OWASP Top 10 - 2017
  • testy podatności zawartych w OWASP ASVS

Kompetencje osób wykonujących testy penetracyjne

Nasi specjaliści posiadają certyfikację OSCP (Offensive Security Certified Professional). OSCP jest cenionym i rozpoznawalnym na świecie certyfikatem. [Link]

Jest to jedyny w swoim rodzaju certyfikat testujący praktyczne umiejętności osoby certyfikowanej z zakresu testów bezpieczeństwa.