Szukanie słabych punktów, czyli uzyskanie wiedzy, jak może zostać zaatakowany, czy też skompromitowany system
Trudno powiedzieć, czy na chwilę obecną, aby sprawdzić podstawowe bezpieczeństwo swojego systemu należy posiadać wyrafinowaną wiedzę. Wszystko praktycznie jest w sieci, ale nie zawsze to co jest napisane sprawdza się albo i nie do końca jest prawdą.
Poniżej pokazano listę najpopularniejszych narzędzi hackerskich, które są skuteczne i co najważniejsze bezpłatne, bo przecież wiadomo, że mamy całą gamę komercyjnych rozwiązań, które są równie dobre, bo wiele czynności automatyzują, a nawet myślą za nas - no ale trzeba za nie zapłacić i czasem nie mało.
Sprawdzenie bezpieczeństwa systemu można rozpocząć od rekonesansu poprzez symulację rzeczywistych ataków, w celu zidentyfikowania słabych punktów. Do tego celu można wykorzystać narzędzie Metasploit, które jest dostępne w wersji open source i w wersji komercyjnej bardziej rozbudowanej, tj. m.in. zawierającej większą bazę exploitów, rozszerzoną listę ataków typu brute force itp. Jeśli nie ma potrzeby zabezpieczania systemu przed wyrafinowanymi technikami włamań, to wystarczająca będzie wersja open source, która jest dostępna na platformę Microsoft Windows, Linux oraz Mac OS X. Metasploit wspierany przez ponad 200k użytkowników jest w zasadzie aktualnie najpopularniejszym narzędziem bezpieczeństwa cybernetycznego, a tym samym jest swego rodzaju środowiskiem, które pozwala nie tylko na wykonywanie kodu exploitów, ale także na tworzenie własnych narzędzi do wykrywania luk bezpieczeństwa na różnych platformach.
Warto wspomnieć, że takim niepodważalnym liderem w tego typu narzędziach jest Nessus firmy Tenable Network Security, dostępny na takie platformy jak Microsoft Windows, Mac OS X, Linux, FreeBSD, Solaris oraz oferujący funkcje wydajnego wykrywania, kontroli konfiguracji, profilowania zasobów, identyfikowania wrażliwych danych i analizy podatności na zagrożenia. Korzystając z Nessusa można skanować wiele rodzajów luk, które obejmują m.in. wykrywanie wad zdalnego dostępu, błędy konfiguracji, odmowę usług względem stosu TCP/IP, wykrywanie szkodliwego oprogramowania, wyszukiwanie danych poufnych itp. Narzędzie to jednak jest bezpłatne wyłącznie dla osobistego użytku w środowisku innym niż korporacyjne. Generalnie znajduje zastosowanie w audytach bezpieczeństwa, ponieważ pozwala na naprawianie błędów zabezpieczeń na podstawie wygenerowanych raportów. Dostępne są różne wersje, w zależności od potrzeb, tj. Nessus Home, Nessus Professional, Nessus Manager i Nessus Cloud. Skanowanie za pomocą Nessusa może być zaplanowane, tj. uruchamiane cyklicznie z jednoczesnym selektywnym skanowaniem określonych hostów, w zależności od wcześniej uzyskanych wyników.
Kolejnym niezwykle ważnym narzędziem w procesie sprawdzania bezpieczeństwa systemu jest Nmap (Network Mapper), dostępny dla wszystkich głównych platform, w tym Microsoft Windows, Linux i Mac OS X i służący głównie do eksploracji sieci, czy też audytu bezpieczeństwa. Zaprojektowano go w taki sposób, aby szybko skanował w zasadzie dowolne sieci, przez co często wykorzystywany jest przez administratorów do inwentaryzacji sieci, zarządzania harmonogramami aktualizacji usług i monitorowania czasu pracy hostów oraz usług. Nmap pozwala dość dobrze zidentyfikować wiele parametrów systemu, jak np. dostępne hosty w sieci wraz z listą oferowanych usług (nazwa i wersja aplikacji), a także określeniem systemów operacyjnych (wersje OS), na których są uruchomione, w tym również zaimplementowanych typów filtrów pakietów/zapór ogniowych itd. Zanim skorzysta się z nmap można w pierwszej kolejności skorzystać również z narzędzia Unicornscan, aby zeskanować wszystkie otwarte porty, a następnie zidentyfikowane porty poddać szczegółowemu skanowaniu za pomocą nmap. Generalnie Unicornscan umożliwia także wiele rodzajów skanowania, jak np. asynchroniczne bezstanowe skanowanie TCP ze wszystkimi odmianami flag TCP, asynchroniczne bezstanowe pobieranie banerów TCP oraz aktywne/pasywne zdalne identyfikowanie systemu operacyjnego, aplikacji i komponentów w oparciu o uzyskane odpowiedzi. Prostym skanerem portów jest również Superscan 4, dostępny dla platformy Microsoft Windows i umożliwiający wykrywanie otwartych portów TCP i UDP na komputerze docelowym.
W dzisiejszych czasach, gdzie praktycznie każda firma jest w sieci nie obejdzie się bez takiego narzędzia jak Acunetix WVS, dostępnego wyłącznie na platformę Microsoft Windows, począwszy od wersji XP. To wielowątkowe narzędzie pozwala na wykrywanie luk bezpieczeństwa na stronach internetowych poprzez indeksację zawartości witryny i identyfikację złośliwych skryptów krzyżowych, a także detekcję iniekcji SQL oraz innych luk w zabezpieczeniach. Doskonale sprawdza się w testowaniu zabezpieczeń witryn opartych na Wordpressie. Acunetix jest wyposażony w rejestrator sekwencji logowania, który umożliwia dostęp do chronionych hasłem obszarów witryn internetowych. Technologie AcuSensor stosowane w tym narzędziu pozwalają zmniejszyć liczbę fałszywych alarmów. Narzędzie to dostępne jest zarówno w wersji open source, jak i komercyjnej.
Uzupełnieniem Acunetix może być Netsparker jako dość łatwy w użyciu skaner bezpieczeństwa aplikacji internetowych, który pozwala na wykrywanie m.in. takich podatności jak np.: SQL Injection i Cross-site Scripting (XSS) na wszystkich typach aplikacji internetowych, niezależnie od platformy i technologii, na które zostały zbudowane. Unikalna technologia Netsparker Proof ScanningTM nie tylko pozwala na dokładną identyfikację luk w zabezpieczeniach, ale także umożliwia eliminowanie tzw. fałszywych alarmów. Innym skanerem tego rodzaju jest w3af (Web Application Attack and Audit Framework), który służy do uzyskiwania informacji o lukach w zabezpieczeniach strony internetowej, które mogą być dalej wykorzystywane w testach penetracyjnych. W pracach nad badaniem bezpieczeństwa strony internetowej można też wesprzeć się narzędziem Burp Suite, który stanowi pewnego rodzaju zintegrowaną platformę do testowania bezpieczeństwa aplikacji internetowych. Posiada wiele narzędzi doskonale współpracujących ze sobą w celu wsparcia całego procesu testowania, od wstępnego mapowania i analizy tzw. attack surface aplikacji, aż po znajdowanie i wykorzystywanie luk w zabezpieczeniach.
Wyszukując luki w zabezpieczeniach systemu nie sposób nie skorzystać ze narzędzia Nikto, pozwalającego na skanowanie i wykrywanie luk, w tym błędów konfiguracji serwerów sieciowych, jak również w luk w nieaktualnych wersjach ponad 1300 serwerów.
Kolejnym z najpopularniejszych darmowych narzędzi bezpieczeństwa jest OWASP Zed, które umożliwia automatyczne wykrywanie luk w zabezpieczeniach aplikacji internetowych podczas ich opracowywania i testowania. Narzędzie to jest skanerem bezpieczeństwa aplikacji webowych doskonale sprawdzającym się do stosowania zarówno przez osoby, które dopiero rozpoczęły swoją przygodę z bezpieczeństwem, jak przez profesjonalnych testerów penetracyjnych.
W trakcie badania bezpieczeństwa nie może zabraknąć takiego narzędzia jak Maltego z grupy tzw. narzędzi informatyki śledczej (computer forensics) pozwalającego na eksploracje danych z różnych źródeł na temat całej otaczającej dany system infrastruktury i wizualizacji tych informacji w formacie graficznym, odpowiednio do uzyskanych wyników z analizy linków i eksploracji danych. Maltego analizuje rzeczywiste powiązania między osobami, firmami, stronami internetowymi, domenami, nazwami DNS, adresami IP, dokumentami itd., przez co pozwala w doskonały sposób zobrazować jak wygląda cała infrastruktura organizacji na zewnątrz i ew. jakie jej elementy mogą zostać wykorzystane do włamania się do niej, czy też jej skompromitowania. Warto również zaznaczyć, że narzędzia takie jak Maltego są często wykorzystywane również do dokonania tzw. rozpoznania danej osoby i/lub firmy poprzez zgromadzenie danych ze wszystkich publicznie dostępnych obszarów sieci Internet. Na podstawie uzyskanych w ten sposób informacji planowane są dalsze działania np. związane z włamaniem, czy też wykonaniem innych nielegalnych działań. Dlatego też warto w procesie badania bezpieczeństwa sprawdzić, co takiego potencjalny sprawca może dowiedzieć się o organizacji i pracujących w niej osobach, co mogłoby ułatwić np. skompromitowanie organizacji.
W procesie badania bezpieczeństwa nie może zabraknąć analizatora protokołów sieciowych Wireshark (sniffer), pierwotnie znanego pod nazwą Ethereal, dostępnego również w wersji wiersza poleceń o nazwie TShark, pozwalającego na przechwytywanie i interaktywne przeglądanie zawartości ramek sieciowych w formacie czytelnym dla człowieka. Wireshark zawiera różnego rodzaju filtry, a także kodowanie kolorami i inne funkcje, które pozwalają dość łatwo zagłębić się w ruch sieciowy i sprawdzić poszczególne pakiety pod względem ich bezpieczeństwa, czy też zawierania informacji, które mogę być wykorzystane przez potencjalnego intruza.
Zaawansowanym narzędziem specjalnie zaprojektowanym do wykonywania zaawansowanych symulacji wielu typów ataków z obszaru inżynierii społecznej, takich jak np.: zbieranie danych, ataki typu phishing jest Social-Engineer Toolkit (SET), dostępny na platformę Linux oraz częściowo obsługiwany w systemach Mac OS X i Windows. SET wprowadził ataki, których nigdy wcześniej nie widziano w zestawie narzędzi do eksploatacji i szybko stał się standardowym narzędziem w arsenale testerów penetracyjnych. Narzędzie to pozwala na wykonywanie testów penetracyjnych poprzez m.in. automatyzowanie serii ataków i generowanie wiadomości e-mail, złośliwych stron internetowych itp.
Do grupy narzędzi pozwalających na detekcję sieci bezprzewodowych, analizowanie pakietów danych i wykrywanie włamań (IDS) należy Kismet, który w praktyce działa z każdą bezprzewodową kartą obsługującą tzw. tryb monitorowania rfmon i może badać ruch w sieciach 802.11a, 802.11b, 802.11g i 802.11n. Zasadniczą zaletą tego narzędzia, w stosunku do innych tego typu snifferów, jest działanie pasywne polegające na tym, że nie są wysyłane żadne tzw. logujące pakiety w momencie m.in. detekcji bezprzewodowych punktów dostępowych i klientów bezprzewodowych.
Sprawdzenie jakości haseł dostępowych jest równie ważne co zastosowanie innych technicznych środków ochrony i dlatego też w procesie szukania luk w zabezpieczeniach należy wykorzystywać narzędzia pozwalające na przetestowanie, czy wdrożone hasła są wystarczająco silne. Do tego celu można wykorzystać oclHashcat i John the Ripper, jako jedne z najlepiej sprawdzających się w praktyce narzędzi do łamania haseł, z uwagi na fakt, że łączą w sobie (szczególnie John the Ripper) wiele programów do łamania haseł w jednym pakiecie i pozwalają na automatyczne wykrywanie typów haszowania haseł, w tym zawierają konfigurowalny cracker. Narzędzia te mogą również posłużyć do sprawdzania siły haseł sieci wifi. Poza tym do sprawdzenia haseł sieci wifi można wykorzystać Aircrack-ng, w którego skład wchodzi m.in. detektor, sniffer pakietów, cracker WEP i WPA/WPA2-PSK oraz narzędzia analityczne. Narzędzia Aircrack-ng można generalnie wykorzystać do monitorowania sieci wifi, jak również do testów penetracyjnych i łamania haseł.
-
Skanery podatności systemów i aplikacji webowych
zautomatyzowane narzędzie do testowania bezpieczeństwa aplikacji sieciowych, pozwalające m.in. na sprawdzanie luk w zabezpieczeniach, takich jak np. SQL Injection czy Cross-Site Scripting.
rodzina narzędzi do testowania i monitorowania bezpieczeństwa sieci pod kątem luk w zabezpieczeniach podczas procesu tworzenia oprogramowania.
narzędzie do wykonywania testów penetracyjnych, koncentrujące się na przeglądarce internetowej.
zintegrowana platforma do testowania bezpieczeństwa aplikacji internetowych zawierająca różne narzędzia współpracujące ze sobą w celu wsparcia całego procesu testowania, od wstępnego mapowania i analizy tzw. attack surface aplikacji, aż po identyfikację i wykorzystywanie luk w zabezpieczeniach.
wszechstronna platforma do wyszukiwania luk w zabezpieczeniach, wykonywania testów penetracyjnych oraz oceny poziomu zabezpieczeń.
narzędzie do audytu bezpieczeństwa dla systemu Microsoft Windows NT/XP/200x., pozwalające na tworzenie raportów dotyczących konfiguracji zabezpieczeń.
narzędzie do wyszukiwania i usuwania złośliwego oprogramowania.
platforma oprogramowania do testowania i wykonywania kodu exploitów, w tym do testów penetracyjnych, a także do tworzenia narzędzi do testowania bezpieczeństwa i modułów wykorzystujących luki w zabezpieczeniach.
skaner luk w zabezpieczeniach opracowany przez Tenable Network Security. pozwalający m.in. na wykrywanie wad zdalnego dostępu, błędy konfiguracji, odmowę usług względem stosu TCP/IP, wykrywanie szkodliwego oprogramowania, wyszukiwanie danych poufnych itp.
zautomatyzowany skaner bezpieczeństwa pozwalajacy na wykrywanie luk bezpieczeństwa w witrynach, aplikacjach internetowych i serwisach internetowych, wykorzystujący unikalną technologię Netsparker Proof ScanningTM, która nie tylko pozwala na dokładną identyfikację luk w zabezpieczeniach, ale także umożliwia eliminowanie tzw. fałszywych alarmów.
skaner podatności usług www, testujący serwery pod kątem niebezpiecznych plików/CGI, przestarzałego oprogramowania zainstalowanego na serwerze i innych problemów, które mogą być wykorzystane przez potencjalnego intruza.
wieloplatformowe narzędzie napisane w języku Java i dostępne we wszystkich popularnych systemach operacyjnych, w tym Microsoft Windows, Linux i Mac OS X, pozwalające na wyszukiwanie luk w zabezpieczeniach aplikacji webowych.
serwer proxy dla usług Web oparty na języku Java służący do oceny podatności aplikacji www, zawierający m.in. rejestrator ruchu sieciowego oraz skaner do testowania typowych ataków aplikacji internetowych, takich jak np. SQL Injection i Cross-site Scripting (XSS).
narzędzie do wykrywania i wykorzystywania luk w zabezpieczeniach baz danych, takich jak: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird i SAP MaxDB, umożliwiajace wprowadzanie szkodliwych kodów do nich, a także edytowanie i usuwanie danych oraz przeglądanie danych w tabelach.
narzędzie do monitorowania i ostrzegania o konkretnych zmianach w plikach.
służy do uzyskiwania, przy wykorzystaniu graficznego interfejsu użytkownika lub wiersza poleceń, informacji o lukach w zabezpieczeniach strony internetowej, które mogą być dalej wykorzystywane w testach penetracyjnych.
niezabezpieczona aplikacja, pozwalająca testować podatności powszechnie spotykane w aplikacjach opartych na Javie.
Skanery portów
wieloplatformowy skaner sieciowy szeroko stosowany przez administratorów sieci i zaprojektowany tak, aby był szybki i prosty w użyciu, pozwalajacy m.in. na skanowanie adresów IP i portów.
zbiór ponad 40 narzędzi sieciowych dla systemu Windows, zaprojektowanych z myślą o łatwym użyciu przy wykorzystaniu interfejsu graficznego, zawierający narzędzia DNS, skaner ping i portów, traceroute i inne narzędzia.
narzędzie do wykrywania sieci i audytu bezpieczeństwa, pozwalające dość dobrze zidentyfikować wiele parametrów systemu, jak np. dostępne hosty w sieci wraz z listą oferowanych usług (nazwa i wersja aplikacji), a także określeniem systemów operacyjnych (wersje OS), na których są uruchomione, w tym również zaimplementowanych typów filtrów pakietów/zapór ogniowych itd.
prosty skanerem portów, dostępny dla platformy Microsoft Windows, umożliwiający wykrywanie otwartych portów TCP i UDP na komputerze docelowym.
narzędzie umożliwiające wiele rodzajów skanowania, jak np. asynchroniczne bezstanowe skanowanie TCP ze wszystkimi odmianami flag TCP, asynchroniczne bezstanowe pobieranie banerów TCP oraz aktywne/pasywne zdalne identyfikowanie systemu operacyjnego, aplikacji i komponentów w oparciu o uzyskane odpowiedzi.
Narzędzia do łamania haseł
kompletny zestaw narzędzi do oceny bezpieczeństwa sieci WiFi, pozwalający na monitorowanie (przechwytywanie pakietów i eksportowanie danych do plików tekstowych w celu dalszego ich przetwarzania), przeprowadzanie rzeczywistych ataków (replay attacks, deauthentication, fake access points), testowanie (przechwytywanie i iniekcja) i crackowanie (WEP i WPA PSK).
tzw. zrównoleglony cracker obsługujący wiele protokołów, w celu uzyskania nieautoryzowanego dostępu do systemu.
narzędzie do testowania i łamania haseł, działające na wielu różnych platformach (Unix, DOS, Win32, BeOS i OpenVMS), łączące wiele programów do łamania haseł w jednym pakiecie, automatycznie wykrywające typy haszowania haseł i zawierające konfigurowalny cracker.
narzędzie do odzyskiwania haseł poprzez łamanie haszy, takich jak np.: MD5, SHA-1, Skype, hasła Microsoft Windows, WiFi WPA2, wykorzystujące procesor karty graficznej w procesie obliczeń.
narzędzie do łamania haseł do systemu Windows umożliwiające importowanie skrótów z różnych formatów, w tym również zrzutów bezpośrednio z plików SAM systemu Windows.
Narzędzia monitorowania ruchu w sieci
aplikacja do monitorowania systemów, sieci i infrastruktury.
swego rodzaju sonda ruchu sieciowego, która monitoruje wykorzystanie sieci, gdzie w trybie interaktywnym pozwala na wyświetlanie statusu sieci na terminalu użytkownika, a w trybie sieciowym działa jako serwer www, tworząc zrzut html stanu sieci.
oprogramowanie do przechwytywania, indeksowania i korelowania danych w czasie rzeczywistym w przeszukiwanym repozytorium, z którego można generować wykresy, raporty, alerty, kokpity menedżerskie i różne wizualizacje.
analizator protokołów sieciowych, pierwotnie znany pod nazwą Ethereal, dostępny również w wersji wiersza poleceń o nazwie TShark, pozwalający na przechwytywanie i interaktywne przeglądanie zawartości ramek sieciowych w formacie czytelnym dla człowieka.
Narzędzia informatyki śledczej (forensic) i inne
zaawansowane narzędzie wykorzystywane w informatyce śledczej przez organy ścigania, pozwalające m.in. na przeglądanie i analizę zapisów na nośnikach elektronicznych, w tym również odzyskiwanie usuniętych plików z dotychczas nieprzydzielonej przestrzeni.
stanowi zestaw produktów do wykonywania badań kryminalistycznych z obszaru cyberbezpieczeństwa, analizy bezpieczeństwa i tzw. e-discovery, czyli rozpoznawania, gromadzenia i przetwarzania danych elektronicznych pochodzących m.in. z korespondencji e-maili, różnych dokumentów, prezentacji, baz danych, poczty głosowej, plików audio i wideo, mediów społecznościowych i stron internetowych, a także umożliwia przeprowadzenie dogłębnej analizy plików użytkownika w celu zebrania dowodów, takich jak dokumenty, zdjęcia, historia przeglądania zasobów Internetu i np. informacje z rejestru systemu Windows.
zestaw narzędzi wykorzystywanych w informatyce śledczej pozwalający na precyzyjne zbadanie zdarzenia związanego z bezpieczeństwem komputerowym, w tym zgromadzenie niezbędnych dowodów związanych z danym incydentem.
rozbudowane narzędzie, działające z kartą bezprzewodową obsługującą tzw. tryb monitorowania rfmon, pozwalające na wykrywanie sieci, podglądanie pakietów (sniffer), a także wykrywanie włamań w bezprzewodowych sieciach LAN 802.11.
interaktywne narzędzie do eksploracji danych na temat całej otaczającej dany system infrastruktury, pozwalające na wizualizację uzyskanych wyników w postaci powiązań między osobami, firmami, stronami internetowymi, domenami, nazwami DNS, adresami IP, dokumentami itd., w tym umożliwiające w doskonały sposób zobrazować jak wygląda cała infrastruktura organizacji na zewnątrz i ew. jakie jej elementy mogą zostać wykorzystane do włamania się do niej, czy też jej skompromitowania.
zestaw narzędzi z obszaru inżynierii społecznej (socjotechniki) wspomagający wykonywanie testów penetracyjnych ukierunkowanych na ludzi i na organizacje, w celu takiego zamanipulowania daną osobą i/lub organizacją, aby uzyskać np. nieautoryzowany dostęp do systemu, danych, czy też wykonać nieuprawnioną operację.
Regularne skanowanie podatności, przy wykorzystaniu omówionych narzędzi, jest jedną z najważniejszych czynności jakie powinna wdrożyć każda z organizacji, celem zapewnienia kontroli bezpieczeństwa. Tego typu działania są rekomendowane m.in. przez SANS Institute w ramach tzw. krytycznej kontroli bezpieczeństwa dla zapewnienia efektywnej cyberobrony oraz przez NIST w ramach kontroli zarządzania bezpieczeństwem.
Nie można jednak założyć, że regularne stosowanie ww. narzędzi, nawet w wersjach komercyjnych bardziej rozbudowanych, pozwoli na wyeliminowanie wszyskich zagrożeń, tj. zidentyfikowanie wszyskich luk bezpieczeństwa. Poza tym każde z tych narzędzi w zasadzie pokaże niekoniecznie takie same wyniki i tutaj wyłącznie od doświadczenia oraz wiedzy testera zależy skuteczność ich stosowania. W każdym przypadku wykonywania testów podatności systemu na zagrożenia należy dokładnie przeanalizować uzyskane wyniki pod względem dokładności poprzez m.in. wyeliminowanie tzw. fałszywych alarmów i uwzględnienie tzw. fałszywych negatywów, które de facto stanowią zagrożenie, a przez użyte narzędzie zostały zakwalifikowane np. jako niegroźne luki bezpieczeństwa. Z tego też powodu zaleca się m.in. dostosowywać proces skanowania luk w zabezpieczeniach do konkretnych wymagań zarówno organizacji, jak i środowiska, w którym dana organizacja się obraca i które ją otacza. Ponadto, podczas wykonywania testów należy korzystać z wielu narzędzi jedocześnie, co umożliwi potwierdzanie wykrytych luk bezpieczeństwa i pomijanie tych, dla których nie został przekroczony określony próg dopuszczalnego ryzyka.
Źródło:
Top Best Hacking Tools Of 2018 For Windows, Linux and Mac OS X, Hacker Tools Top Ten
Brute Force Attack explained and demonstrated
Running an SQL Injection Attack
Bruteforce a WPA2/WPA wifi network
Publikacja jest dostępna na licencji Creative Commons Uznanie autorstwa 4.0 Międzynarodowe, pewne prawa zastrzeżone na rzecz autora i machnacz.eu. Zezwala się na dowolne wykorzystywanie treści publikacji pod warunkiem wskazania autora i podania informacji o licencji.