Webapplication Security Pentest Service Usługa WSPS ma na celu odnalezienie w badanym serwisie internetowym luk bezpieczeństwa, umożliwiających osobom niepowołanym dostęp do danych serwisu internetowego, jego zniszczenie, kompromitację bądź wykorzystanie go w ataku na inne zasoby w sieci Internet. Wynik działania osób niepowołanych Kompromitacja serwisu Dostęp do danych sensytywnych Kradzież tożsamości witryny internetowej Wykorzystanie luk bezpieczeństwa w celu przeprowadzenia ataku na inne serwisy, bądź włączenie serwisu do sieci Botnet Uzyskanie danych osobowych zarejestrowanych użytkowników Dostęp do danych sensytywnych prawdziwych Straty i potencjalne konsekwencje Strata ciągłości działania serwisu Nakład finansowy potrzebny na odtworzenie środowiska po włamaniu Kary finansowe dla Klientów którzy podlegają pod nadzór GIODO Możliwość wykorzystania treści strony do ataku na innych użytkowników Internetu, wyłudzeń informacji z wykorzystaniem wizerunku Klienta, którego serwisy internetowe zostały skompromitowane Odpowiedzialność karna, za straty spowodowane wykorzystaniem zasobów w atakach prowadzonych na inne cele w sieci Obniżenie wydajności działa serwisu internetowego, Odpływ Klientów do serwisów firm konkurencyjnych, które uzyskały dane o zarejestrowanych użytkownikach Odpływ Klientów do serwisów firm konkurencyjnych, które uzyskały dane o zarejestrowanych użytkownikach
Metodyka przeprowadzenia testów bezpieczeństwa: 1. Testy Blackbox Testy w których pentesterzy, posiadają minimalną wiedzę o badanym serwisie (np. tylko informację o adresie internetowym badanego serwisu). Celem tego testu jest odwzorowanie sytuacji, w której osoby niepowołane (potencjalni włamywacze), przy wykorzystaniu luk odnalezionych w badanym serwisie budują wektory ataków, które docelowo mają posłużyć do kompromitacji serwisu. Etapy metody Blackbox: Pozyskanie informacji o zasobach informatycznych, związanych z funkcjonowaniem serwisu internetowego (np. enumeracja strefy dns, określenie wersji i silnika bazy danych, języków programowania, sposobów dostępu do serwisu na poziomie aplikacyjnym oraz systemowym) Analiza znanych podatności dla wybranych komponentów systemu (np. nie aktualnej wersji modułu Wordpress) Próba odwzorowania środowiska w laboratorium MGM Systems, celem przygotowania wektorów ataków na komponenty systemu Przygotowanie scenariusza dla nieinwazyjnych ataków na serwis internetowy Klienta Przygotowanie scenariusza dla testów inwazyjnych (o ile Klient wyraz na nie zgodę) Przeprowadzenie zestawu testów w laboratorium Przeprowadzenie testów w środowisku docelowym Klienta, po wcześniejszym ustaleniu terminu oraz zakresu testów oraz przygotowaniem planu Disaster Recovery środowiska Klienta Przygotowanie raportu poaudytwego wraz z określeniem poziomu zagrożenia dla badanej podatności, informacji o podatności oraz sposobie rozwiązania problemu. Wektory ataków wykorzystywane przy testach bezpieczeństwa badanego systemu: Wektor ataku Opis Typ zagrożenia Path Traversal Remote File Inclusion URL Redirector Abuse Server Side Include Atak ma na celu uzyskanie dostępu do danych poza głównym folderem aplikacji na serwerze Atak ma umożliwić załączenie zdalnego pliku przez skrypty na serwerze i uzyskanie dostępu do danych wrażliwych Atak ma na celu sprawdzanie, czy aplikację webową można użyć do przekierowania użytkowników na zewnętrzne (niebezpieczne strony internetowe) Atak ma na celu sprawdzenie, czy elementy web aplikacji odpowiadającej za dynamiczne generowanie zawartości strony są podatne na wstrzyknięcie spreparowanego kodu umieszczanego przed zawartością (body) wygenerowanej strony Wyciek informacji Kompromitacja serwera, na którym hostowana jest strona internetowa Wyciek informacji/manipulacja informacją Manipulacja informacją/dostęp do fizycznych danych na serwerze/uzyskanie fizycznego dostępu do systemu operacyjnego
Cross Site Scripting / Stored / Reflected SQL Injection Forced Directory Browsing Header Poisoning External Redirect Parameter Tempering Information Gathering Testing: Spiders, robots, and Crawlers Search engine discovery/reconnaissance Analysis of Error Codes Authentication Testing Atak ma na celu sprawdzenie podatności serwisu na taki typu XSS (spreparowanie skryptów JS wywoływanych z adresu serwisu, celem przekierowania użytkownika do stron trzecich, bądź wstrzyknięcia do używanych przez nich przeglądarek kodu pozwalającego na przejęcie kontroli nad systemem użytkownika końcowego) Próba ataków przy użyciu mechanizmów wstrzyknięcia kodu (spreparowanie żądania do serwera aplikacyjnego mające na celu wykonanie własnego zapytania do bazy danych i uzyskanie dostępu do danych wrażliwych, bądź też zniszczenie danych / manipulacja danymi) Próba wylistowania danych, które mają być niewidoczne/niedostępne z poziomu aplikacji webowych Manipulacja nagłówkami celem skierowania użytkowników systemu na spreparowaną stronę wyłudzającą dane (np. próba przekierowania użytkownika do którego wysyłany jest z systemu e- mail z linkiem do zresetowania hasła) Atak ma na celu sprawdzenie, czy aplikację webową można użyć do przekierowania użytkowników na zewnętrzne (niebezpieczne strony internetowe) Próba wykorzystania elementów web aplikacji (takich jak pola ukryte, elementy form, adresy wywołań, ciasteczka do zmanipulowania danych web aplikacji Testy uzyskania informacji o komponentach web aplikacji (systemu operacyjnego, wersji serwera www, bazy danych, innych serwisów działających na serwerze aplikacyjnym Testy wylistowania wszelkich możliwych struktur, ukrytych przed użytkownikiem web aplikacji Próby wykorzystania mechanizmów wyszukiwania w bazie danych do ataków wydajnościowych (wykorzystanie spreparowanych wzorców i dyrektywy wyszukań wzorców) Próba spreparowania błędnych odwołań, na podstawie których można uzyskać informacje o wersjach poszczególnych komponentów aplikacji webowej (serwer www, baza danych, etc) Testy mechanizmów autoryzacji, próby ominięcia mechanizmów autoryzacji oraz uzyskania dostępu do danych użytkowników. Wyciek informacji/manipulacja informacją/zniszczenie danych Wyciek informacji Wyciek informacji / Manipulacja użytkownikami serwisu Manipulacja informacją Uzyskanie informacji sensytywnych o komponentach systemu Impakt na wydajność web aplikacji Uzyskanie informacji sensytywnych o komponentach systemu Manipulacja informacją / Uzyskanie
Authentication Testing Testing for user enumeration Testing For Brute Force Testing for Bypassing authentication schema Testing for Vulnerable remember password and pwd reset Testing for Logout and Browser Cache Management Testing for Exposed Session Variables Testing for SQL Wildcard Attacks Default credentials for known frameworks Testy mechanizmów autoryzacji, próby ominięcia mechanizmów autoryzacji oraz uzyskania dostępu do danych użytkowników. Testy mechanizmów pozwalających na uzyskanie danych zarejestrowanych użytkowników serwisu aplikacyjnego Testy mechanizmów brute force dla uzyskania dostępu do konta użytkownika Testy uzyskania dostępu z pominięciem mechanizmów logowania i autoryzacji Testy podatności na uzyskanie informacji sensytywnych, użycia mechanizmów notyfikacji do wysyłania spamu, uzyskania listy użytkowników z wykorzystaniem mechanizmów resetowania/przypomnienia hasła aplikacji webowej Testy badające podatność na wykorzystanie sesji użytkownika po wylogowaniu, zamknięciu przeglądarki internetowej, testy mechanizmów automatycznego wylogowania lub zamknięcia nawiązanej sesji Próba uzyskania informacji o sposobie autoryzacji użytkowników poprzez analizę "tokenów sesji" (ukrytych pól, ciasteczek i numerów sesji) Próby wykorzystania mechanizmów wyszukiwania w bazie danych do ataków wydajnościowych (wykorzystanie spreparowanych wzorców i dyrektywy sql LIKE) Wykrycie i enumeracja mechanizmów firm trzecich użytych do stworzenia webaplikacji i próba wykorzystania defaultowych presetów do uzyskania Manipulacja informacją / Uzyskanie Uzyskanie nieautoryzowanego dostępu / atak na wydajność serwisu Impakt na wydajność web aplikacji / Pełny dostęp administracyjny 2. Testy Crystal Box Test penetracyjny z pełną wiedzą zespół testujący ma pełny dostęp do dokumentacji projektowej, kodu źródłowego, konfiguracji urządzeń sieciowych itd. W przypadku opierania się wyłącznie na tej wiedzy można mówić o przeglądzie kodu lub przeglądzie konfiguracji.
3. Zasoby Testy penetracyjne aplikacji web, prowadzone są przez doświadczonych Inżynierów Systemowych, Inżynierów Bazodanowych, Programistów, inżynierów sieciowych oraz osoby związane bezpieczeństwem IT od ponad 20 lat. Kompetencje technologiczne w zakresie zespołu pentesterów: Systemy operacyjne Linux / Unix Bazy danych: MySQL, Microsoft SQL, Oracle, DB2, PostgreSQL, SQLite Języki programowania: Assembler, ANSI C, C++, ASP, PHP, Java Script, Java, Cordova, Python, Perl, Ruby Języki proceduralne silników baz danych: MySQL, Microsoft SQL, Oracle, PostgreSQL, Serwery HP, Dell, IBM we wszystkich możliwych architekturach Silniki serwerów WWW: Apache, Nginx, Litespeed, Microsoft IIS Platformy wirtualizacji Citrix XEN, KVM, VMWare ESX, Microsoft Hyper-V Narzędzia wspomagające procesu testów penetracyjnych: Portswigger Burp Suite, OWASP Zap, Rapid 7 Metasploit Framework, Xenotix XSS Exploit Framework