W dzisiejszej lekcji zaprezentujemy w praktyce przykładowy symulowany atak hakerski na webowy system WordPress. Dowiesz się również czym jest zbieranie informacji, mapowanie zagrożeń, analiza podatności, sam atak, eksploracja systemu i raport bezpieczeństwa. Film dosyć długi, ciekawy i w sposób praktyczny podsumowujący informacje z całego naszego kursu Web Application Pentesting.
Wiele osób nie zdaje sobie sprawy, że prawdziwy audyt bezpieczeństwa składa się z tych sześciu kluczowych elementów. Oczywiście w dzisiejszym wideo wykorzystamy wiele wektorów ataku, a nawet gotowe exploity LFI/SQL Injection ogólnodostępne w sieci Internet.
Wideo prezentujące atak hakerski
W poniższym wideo został skompensowany do 30 minut przykładowy przebieg bardzo uproszczonego testu penetracyjnego zorganizowanego w lokalnym środowisku operacyjnym Microsoft Windows.
Zostało w nim również zaprezentowane kilka nowych drobnych narzędzi w systemie Kali Linux.
Kurs WEP #23 | Haker Film
Podsumowanie o testach penetracyjnych
Jak pewnie widzisz samych płaszczyzn ataku może być kilkanaście naraz. To tylko od doświadczenia i umiejętności audytora zależy w jaki sposób przeprowadzi badanie bezpieczeństwa witryny internetowej, tym samym dochodząc do etapu eksploracji systemu który jest celem testów. Wiele też zależy od umowy podpisanej z klientem zlecającym audyt bezpieczeństwa www, ponieważ czasami wyklucza się pewne formy testów.
Przykładowo czasami ma się do czynienia z testami funkcjonalnymi potocznie nazywane testami czarnej skrzynki, w których nie masz dostępu do żadnych informacji na temat oprogramowania na serwerze. Mam na myśli również kodu źródłowego. Te testy symulują atak prawdziwego hakera. Pierwszy etap takich testów przypomina trochę opisany już na blogu temat footprintingu no i oczywiście dzisiejszy poradnik filmowy, który już widziałeś.
Warto zadać sobie jeszcze pytanie czy phishing lub ataki XSS na użytkowników w odniesieniu do ogólnych audytów bezpieczeństwa mają sens? Oczywiście że tak! Wiele firm zleca również ataki socjotechniczne, w celu sprawdzenia przeszkolenia wiedzy swojego personelu. Bardzo ważnym aspektem w firmie jest edukacja na temat zagrożeń płynących z sieci, ale i nie tylko…
Audytor może potencjalnie wynająć prawdziwego aktora podszywającego się np: pod technika informatycznego, w celu przeprowadzenia fizycznie ataku socjotechnicznego na miejscu w firmie. Już o podrzucaniu nośników USB nie wspominamy… Poddawane są wtedy weryfikacji procedury polityki bezpieczeństwa w firmie klienta.
Brute-force i ataki słownikowe w audytach bezpieczeństwa www
Natomiast, czy stosuje się w testach penetracyjnych ataki brute-force? Oczywiście że tak. Jest to forma audytu siły haseł użytkowników systemu (kolejny praktyczny test z zakresu respektowania wiedzy z szkoleń pracowniczych).
Używa się wtedy głównie słowników spersonalizowanych do tego celu i statystycznie zawężonych tylko do tych prawdopodobnych w odniesieniu do firmy/lokalizacji/systemu. Sprawdzanie i łamanie bardzo silnych i dobrych haseł w długim okresie czasu mija się z celem, bo z definicji są bezpieczne.
Już praktycznie dobiegliśmy do końca naszego kursu Web Application Pentesting. Dzisiejszy film miał na celu uświadomienie Tobie, że nie istnieje jeden ogólny wektor ataku. Musisz być bardzo elastyczny i nabierać doświadczenia. Do końca kursu pozostał tylko jeden wpis i film. Powodzenia cześć! 🙂
Rozumiem, że będąc osobą wykonującą na na poważnie testy penetracyjne, trzeba wiedzieć, w jaki sposób można wykonać, zmodyfikować i zrozumieć kod wykorzystujący lukę. A więc, do tego niezbędna jest doskonała znajomość ASM?
Kolejna lekcja chyba o tym będzie, a dzisiejsza lekcja to tylko przykład. Bo żaden test penetracyjny nie trwa ~30-60 minut… Nie trzeba potrafić ASM. Polecam Tobie poczytanie wpisu jak zostać hakerem. Z niego dowiesz się, że jest bardzo dużo dziedzin sztuki hakerskiej.
W przypadku audytowania aplikacji webowych (a przecież nikt nie zajmuje się wszystkim), jak pewnie zauważysz przeglądając cały kurs znajomość ASM nie jest wymagana. Tak naprawdę znaleźliśmy wszystkie luki ręcznie, a exploita możesz sobie napisać do nich w dowolnym języku programowania (w celu automatyzacji testów w przyszłości).
Inną sprawą są laboratoria badawcze, które np: badają oprogramowanie desktopowe/serwerowe. Oni poddają analizie całą aplikacje (audyt kodu i audyt typu „czarna skrzynka). Jeśli nie mają dostępu do kodu źródłowego (technika czarnej skrzynki), to wtedy czasem wykorzystują oprogramowanie do reverse engineering (debbugery itd). Najczęściej bada się w ten sposób pamięć programu i co w niej się dzieje w przypadku wprowadzania różnych danych. Tutaj wykorzystuje się takie ataki jak np: przepełnienie bufora (buffer overflow). Również do tego są aplikacje. Potem mogą publikować swoje badania w postaci raportu w sieci lub exploita.
Ale jest to zupełnie inna dziedzina niż web penetracja. Wyobrażasz sobie ile musiałby trwać test penetracyjny, gdyby ekipa go przeprowadzająca nie automatyzowała testów na web aplikacji, nie sprawdzała ręcznie tylko powierzchownie widocznych możliwych miejsc i nie automatyzowała szukając ZNANYCH, podkreślam ZNANYCH już znalezionych luk w oprogramowaniu serwerowym?
Gdyby to ten zespół bezpieczeństwa miał sam analizować ZNANE i badane przez specjalistyczne laboratoria i osoby trzecie (w przypadku wolnego oprogramowania) oprogramowanie serwerowe to by musiał na to poświęcić kilka lat.
Inna sprawa to przeprowadzanie testu penetracyjnego (defakto próba znalezienia możliwych miejsc w których cyberprzestępca może się prześliznąć), a inna sprawa szukanie poważnych luk oprogramowania. Możesz również pracować w drużynie bezpieczeństwa takiego projektu firmowego jak dla przykładu WordPress. Tam mają na pewno też chłopaków od analizy kodu i podatności w nim, więc tutaj jak widzisz również wiedza nie jest wymagana z zakresu ASM.
Najczęściej spotkasz się z ofertami pracy (szukaj np: na pracuj.pl pod frazami „bezpieczeństwo”, „security” lub „haker”, „audyt”), w których firma ma swój wewnętrzny web produkt/stronę przez nią tworzony i po prostu nim opiekujesz się podczas tworzenia i pilnujesz by przed wypuszczeniem na rynek jego lub pewnych aktualizacji nie pojawiły się nowe dziury mogące skompromitować firmę i klientów.
Dziękuję za wyczerpującą i szczegółową odpowiedź. Wiele mi rozjaśniła.
Mam kilka stron na hostingu w nazwie.pl. Zainstalowałem sobie testowo wordpressa i na podstawie filmiku chciałem się „pobawić”. Niestety okazuje się że w życiu codziennym nie ma Anonimowych użytkowników ani kont bez haseł. Autor nagrania robi świetną robotę i wszystko działa ale dopiero jak podam login oraz hasło do konta w ftp jak i mysql które sam utworzyłem. Jeżeli nie znam tych danych to mogę się jakoś dostać np do ftp? Moglibyście poświęcić temu kilka chwili?
Czytam każdy was wpis! Robicie świetną robotę.