Testy penetracyjne

Testy penetracyjne aplikacji webowych, testy penetracyjne sieci 

Celem testów penetracyjnych jest m.in. praktyczna ocena ogólnego poziomu bezpieczeństwa gwarantowanego przez przedmiot badań, wykrycie obecności podatności oraz zweryfikowanie odporności na próby sforsowania zabezpieczeń.
W ramach testów penetracyjnych zidentyfikujemy podatności w objętej badaniem systemie oraz zaproponujemy szczegółowe działania naprawcze mające na celu ograniczenie zidentyfikowanych ryzyk. 

Do każdego testu podchodzimy indywidualnie, co pozwala na przeprowadzenie analizy uwzględniającej potencjalne wektory ataków. Podstawowe założenia testów to:

  • niezależne określenie stanu bezpieczeństwa aplikacji webowej,
  • wykrycie podatności aplikacji,
  • wskazanie rekomendacji zwiększających bezpieczeństwo.

Zakres usługi

Rekonesans aktywny i pasywny (w przypadku aplikacji dostępnych w Internecie):

  • Próby lokalizacji aplikacji dostępnej pod innym adresem (np. aplikacja deweloperska w infrastrukturze dostawcy, publicznie dostępna aplikacja w wersji testowej)
  • Próby lokalizacji ukrytych katalogów i plików
  • Próby wywołania błędów / wyjątków w aplikacji
  • Poszukiwanie innych domen dostępnych na tym samym adresie IP co domena bazowa
  • Poszukiwanie wycieków danych (np. technika Google Hacking, analiza pliku robots.txt).

Poszukiwanie podatności:

  • Podatności klasy injection (np. SQL injection,)
  • Podatność XXE (użycie zewnętrznych encji XML)
  • Podatność XSS (Cross Site Scripting)
  • Analiza problemów z uwierzytelnianiem i autoryzacją (np. próby dostępu do zasobów bez uwierzytelnienia, próby dostępu do zasobów administracyjnych przez zwykłego użytkownika, próby przełamania ekranów logowania – w tym próby brute force danych dostępowych).
  • Możliwości otrzymania nieautoryzowanego dostępu na poziomie systemu operacyjnego i uzyskanie w ten sposób dostępu do źródeł aplikacji, bazy danych, innych poufnych informacji.
  • Próby realizacji aplikacyjnych ataków typu DoS (po wcześniejszym uzgodnieniu)
  • Analiza błędów logicznych
  • Próby wykrycia innych, znanych podatności, np.: Path Traversal, Open Redirection, Cross Site Request Forgery, Server Side Request Forgery, Server Side Template Injection.
  • Detekcja ogólnie znanego oprogramowania (aplikacje, biblioteki, systemy wspomagające).
  • Po wykryciu nieaktualnych wersji, próby lokalizacji znanych, istotnych podatności w kilku wybranych źródłach

 Przykładowy zakres testów WordPress

  • Ustalenie wykorzystywanej wersji systemu WordPress.
  • Enumeracja wersji wykorzystywanych szablonów (themes) oraz wtyczek (plugins) -próby wykrycia nieaktualnych komponentów.
  • Enumeracja wykorzystania nadmiarowych (niewykorzystywanych) szablonów i wtyczek.
  • Weryfikacja ujawniania nadmiarowych informacji o systemie WordPress (pliki readme, możliwość enumeracji użytkowników systemu, etc).
  • Weryfikacja zabezpieczenia dostępu do panelu administracyjnego WordPress.
  • Weryfikacja obecności dodatkowych technik hardeningowych metodami blackbox (np. modyfikacja domyślnych ścieżek do plików szablonów oraz wtyczek).

Metoda testów 

  • Wariant blackbox – badania realizowane są z perspektywy potencjalnego agresora, w związku z tym pentesterowi nie są przekazywane żadne dodatkowe informacje nt. przedmiotu badań poza dostępnymi publicznie w sieci Internet (np. adres URL aplikacji internetowej, która podlega badaniom). W takim wariancie audytor musi sam rozpoznać środowisko działania badanego obiektu, pozyskać niezbędne informacje m.in. nt. jego konfiguracji, podjąć próby założenia konta (np. klienta w aplikacji internetowej), aby na tej podstawie przygotować scenariusze potencjalnie skutecznych nadużyć.
  • Testy w wariancie graybox obejmują weryfikację obiektu badań zarówno z poziomu użytkownika niezalogowanego, jak i zalogowanego (najczęściej na konta o różnym poziomie uprawnień). W przypadku tych testów weryfikowana jest przede wszystkim poprawność działania mechanizmów odpowiedzialnych za przydzielanie i ograniczanie dostępu do poszczególnych części składowych aplikacji w zależności od nadanych uprawnień. Dodatkowo audytorzy podejmują próby eskalacji uprawnień, które zrealizowane w sposób skuteczny pozwolą uzyskać szerszy dostęp do przedmiotu badań, np. dostęp do funkcji administracyjnych z poziomu konta „zwykłego” użytkownika. Testy graybox często odpowiadają scenariuszowi, w którym agresor uzyskał dostęp do komputera pracownika i realizuje próby nadużyć, bądź agresorem jest sam pracownik.
  • Wariant whitebox, który cechuje się realizacją testów penetracyjnych z wykorzystaniem niemal pełnej wiedzy o badanym obiekcie. W przypadku tych testów audytorzy posiadają dodatkowo (względem wariantu graybox) m.in. dostęp do dokumentacji rozwiązania, niezaciemnionego kodu źródłowego, konfiguracji urządzeń sieciowych obsługujących środowisko pracy systemu itp

Metodyka:

  • OWASP (Open Web Application Security Project);
  • OWASP ASVS (Application Security Verification Standard Project)
  • PN-ISO/IEC serii 27000.

Narzędzia:

 Do realizacji testów wykorzystujemy sprawdzone narzędzia zarówno komercyjne jak również tworzone przez naszych inżynierów bezpieczeństwa. Nasze narzędzia są projektowane i tworzone pod konkretne systemy i zagrożenia, tak aby zapewnić ich najwyższą skuteczność w realizacji testów.

  • Burp Suite
  • Nmap
  • Nikto2
  • Scapy
  • Nessus
  • W3af
  • OpenVAS
  • Dirbuster
  • SQLmap
  • Metasploit
  • Własne skrypty i narzędzia

Wyniki:

    • Raport dla zarządu:
      • Podsumowanie wykonanych prac.
      • Skrótowy opis najistotniejszych znalezionych podatności (tj. błędów bezpieczeństwa).
      • Szacowany poziom bezpieczeństwa aplikacji (odporności na ataki).
    • Szczegółowy raport techniczny:
      • Cel i zakres.
      • Metodyka oraz narzędzia.
      • Zidentyfikowane podatności i rekomendacje ich naprawy.
      • Dowody potwierdzające zidentyfikowane podatności.
      • Klasyfikacja podatności – Tabela ryzyk.

Zapytaj naszych specjalistów

Jeśli oczekujesz porady – skontakuj się z nami 

Jednym zdaniem

Dlaczego właśnie my?

Jesteśmy zespołem specjalistów. Łączymy unikalną wiedzę prawniczą ze specjalistyczną znajomością zagadnień informatycznych. Naszym niewątpliwym atutem jest dogłębna znajomość środowiska biznesowego. 

Jak realizujemy nasze projekty?

Pomagamy naszym nowym Klientom na każdym etapie usługi

Ponieważ nasi nowi Klienci nie mają specjalistycznej wiedzy staramy się na każdym etapie naszej współpracy pomagać im  dobrze zrozumieć cel naszych działań.  Poniżej opisujemy kilka typowych kroków realizowanych standardowo w przypadku nowego projektu:

Jak wygląda współpraca z Klientem?

Przez lata praktyki zrozumieliśmy, że właściwe postępowanie w relacjach z Klientami jest kluczem do sukcesu. Jeśli tym sukcesem będzie zadowolenie naszego Klienta na pewno będziemy stale rozwijać naszą firmę. Filozofia wydaje się prosta ale jednak jej realizacja nastręcza w praktyce wielu problemów. Czasami jest to pragnienie szybkiego i skutecznego osiągnięcia celu a czasami zwykłe niezrozumienie oczekiwań naszych partnerów biznesowych. Jeśli jednak będziemy współpracować na zasadzie poszanowania własnych praw i interesów zrealizujemy wspólne cele. Takie partnerskie podejście tylko w teorii jest codziennością. My jednak wzięliśmy te proste zasady na poważnie. Dzięki temu nieprzerwanie od kilkunastu lat rozwijamy naszą firmę. 

1. Poznajemy potrzeby naszych Klientów

Spotkanie wstępne lub rozmowa z osobą kontaktową wiele nam mówi o sytuacji naszego Klienta i pozwala poznać jego realne potrzeby.

2. Inwentaryzujemy problemy

Właściwe poznanie stanu faktycznego daje największą szansę na znalezienie najlepszego rozwiązania.

3. Określamy ostateczny cel naszych wspólnych działań

Jeśli nie ustalimy dokąd zmierzamy - nigdy tam nie dojdziemy. Dla nas najważniejszy jest cel jaki stawia sobie nasz Klient!

4. Planujemy prace

Plan pozwala nie tylko na sprawny przebieg projektu ale pozwala kontrolować i korygować działania na każdym etapie. Harmonogram jest także niezbędny dla naszych Klientów, których czas jest tutaj bardzo istotny.

5. Realizujemy prace

Podczas realizacji prac działamy systematycznie, zgodnie z planem i harmonogramem. Realizacja prac jest stale monitorowana przez koordynatora projektu.