Pentesty

Testy penetracyjne infrastruktury IT i aplikacji webowych

Pentesty dowolnych elementów IT – systemów wewnętrznych i zewnętrznych, usług sieciowych, aplikacji webowych oraz sieci WiFi

Dlaczego warto przeprowadzać pentesty?

  • Pozwalają zapobiegać takim problemom, jak ransomware czy wycieki danych. Testowanie jest o wiele tańsze niż usuwanie skutków takich ataków.
  • Pozwalają zidentyfikować rzeczywiste słabości, które mogą być wykorzystane do przejęcia kontroli nad systemami organizacji.
  • koniecznością dla firm zobowiązanych do przestrzegania określonych przepisów, wymogów, norm lub standardów, np. RODO, wytyczne KNF, SOX, ISO27001, PCI, HIPPA.
  • Pozwalają zweryfikować możliwości wewnętrznych zespołów w zakresie monitorowania nadużyć.

Kiedy wykonywać testy penetracyjne?

  • W przypadku podejrzenia lub wykrycia istnienia zagrożeń bezpieczeństwa IT w organizacji
  • W przypadku zmiany kluczowych elementów infrastruktury lub oprogramowania
  • Po zmianie siedziby biura lub trybu pracy na całkowicie zdalny
  • Po wdrożeniu nowych polityk bezpieczeństwa dla użytkowników końcowych
  • Po uprzednich atakach

Co wchodzi w skład pentestów?

Testy penetracyjne infrastruktury IT

  1. Rekonesans pasywny z wykorzystaniem technik OSINT w celu identyfikacji zasobów publicznych organizacji.
  2. Analiza infrastruktury w celu identyfikacji działających usług oraz otwartych portów.
  3. Enumeracja w celu uzyskania szczegółowych informacji o systemie, usługach, ich nazwach oraz wersjach.
  4. Analiza podatności przy wykorzystaniu narzędzi automatycznych, wspierana ręczną weryfikacją znanych i opublikowanych podatności dotyczących wykrytych na wcześniejszych etapach usług i systemów.
  5. Kontrolowane próby wykorzystania zidentyfikowanych podatności przy użyciu m.in. publicznie dostępnych exploitów w celu uzyskania nieautoryzowanego dostępu do systemów.

Testy penetracyjne aplikacji www

Testy realizujemy w oparciu o OWASP Testing Guide.

  1. Analiza odporności badanego systemu na ataki internetowe wg OWASP TOP 10:
    • Injection,
    • Broken Authentication,
    • Sensitive Data Exposure,
    • XML External Entities (XXE),
    • Broken Access control,
    • Security misconfigurations,
    • Cross Site Scripting (XSS),
    • Insecure Deserialization,
    • Using Components with known vulnerabilities,
    • Insufficient logging and monitoring.
  2. Weryfikacja mechanizmów zapewniania poufności i integralności komunikacji użytkownika z serwisem.
  3. Weryfikacja poprawności walidacji przez serwer obsługujący serwis danych przesyłanych w zapytaniach GET i POST.
  4. Bezpieczeństwo mechanizmów odpowiedzialnych za obsługę sesji użytkownika, wygasanie sesji, odporność na ataki typu session poisoning oraz session hijacking, ochrona ciasteczek.
  5. Analiza możliwości przeprowadzenia ewentualnych nadużyć w systemie przez użytkowników o różnych poziomach uprawnień (w tym bez uprawnień w aplikacji).
  6. Analiza możliwości ujawniania przez system poufnych lub wrażliwych danych, w tym:
    • danych osobowych (imiona, nazwiska, PESELE, numery klientów, itp.),
    • danych bankowych (np. numery kont),
    • danych służących do potwierdzania tożsamości (ciasteczka, tokeny SSO, itp.).
  7. Weryfikacja możliwości pozyskania jak największej ilości informacji o wykorzystywanych frameworkach, bibliotekach, wersji systemu operacyjnego i serwera aplikacji.
  8. Analiza możliwości oraz sposobu poznania architektury i logiki badanego systemu.
  9. Weryfikacja testowanej aplikacji pod kątem możliwości wpłynięcia na poufność, integralność i dostępność samej aplikacji oraz całego systemu.
  10. Weryfikacja możliwości łamania loginów oraz haseł, ominięcia mechanizmów autoryzacji, Directory Traversal, przeprowadzenia ataków typu Cross Site Request Forgery oraz HTTP Response Splitting; analiza mechanizmów przypomnienia/resetu hasła, analiza funkcji wylogowania, weryfikacja sposobu przekazywania i zarządzania identyfikatorem sesji.
  11. Weryfikacja możliwości przeprowadzenia ataków typu Cross Site Scripting, SQL Injection, LDAP Injection, XPATH Injection, XML Injection, prób wywołania poleceń systemowych, przepełnienia buforów w pamięci, przekroczenia limitów przydzielonych zasobów dla użytkownika, itp.

Przebieg pentestów

1. Wstępne ustalenia

Uzgodnienie ze zleceniodawcą metodologii, zakresu analizowanych lub testowanych systemów oraz wyłączeń elementów, które nie powinny być testowane. Ustalone zostają również warunki, przy których testy zostaną uznane za zakończone.

2. OSINT – biały wywiad

Zebranie jak największej ilości informacji na temat celów ataku, przy wykorzystaniu publicznie dostępnych informacji, skanerów portów, Google hackingu i innych technik.

3. Wyszukiwanie podatności

Wyszukiwanie błędów w usługach, aplikacjach i innych systemach objętych testami z wykorzystaniem narzędzi manualnych, automatycznych, a także gotowych exploitów. Weryfikacja false-positivów.

4. Eksploitacja

Wykorzystanie wykrytych w poprzednich krokach luk i exploitów w celu przełamania zabezpieczeń systemów.

5. Dalsza analiza i eskalacja uprawnień

Próby podniesienia uprawnień użytkownika, uzyskania trwałego dostępu do systemu oraz przełamania zabezpieczeń kolejnych wykrytych wewnętrznych elementów infrastruktury.

6. Raportowanie i omówienie wyników

Przygotowanie i omówienie raportu zawierającego:
• Szczegóły przeprowadzonych czynności,
• Listę znalezionych luk wraz z opisem technicznym i ryzykiem związanym z ich wykorzystaniem,
• Zalecane działania naprawcze.

Jak zyskać bezpieczeństwo i zgodność z regulacjami?

Bezpieczeństwo i zgodność z regulacjami to dwie kluczowe kwestie, w których wsparcie zapewniają dostawcy chmury prywatnej, pentestów i SZBI.

Sprawdź poradnik

Jesteś zainteresowany pentestami?

Napisz do nas - skontaktujemy się w ciągu 1 dnia roboczego. Wszystkie wyceny są bezpłatne.

    Wolisz porozmawiać? Wybierz termin

    Security Operations Center

    Maciej Bartkowski
    Ekspert ds. Bezpieczeństwa, audytor ISO, CEH (Certified Ethical Hacker), CISA (Certified Information Systems Auditor), członek ISACA i ISSA