Wprowadzenie do etycznego hackingu
Przegląd bezpieczenstwa informacjiRozwiń
Dzisiejszy świat w liczbach:
• Na całym świecie jest 4,72 miliarda użytkowników Internetu
• 92,8% osób przegląda strony internetowe za pomocą urządzeń mobilnych
• Przeciętny człowiek spędza w Internecie 6 godzin i 56 minut dziennie
• W sieci znajduje się ponad 1,86 miliarda stron internetowych.
|
|
Dane są dziś najcenniejszym zasobem na świecie
|
• Hakerzy atakują co 39 sekund
• Każdego roku ginie lub zostaje skradzionych 70 milionów telefonów
• Koszty cyberprzestępczości w amerykańskich firmach w 2021 r. wyniosą 3,5 mld dolarów
• 26 inteligentnych urządzeń znajduje się w pobliżu każdego człowieka na Ziemi
|
|
|
|
Dzisiejsze realia:
• Coraz więcej firm skłania się do postawienia na IT
• Rośnie złożoność systemów informatycznych
• Wzrasta liczba ataków cybernetycznych
|
|
Zagrożenia i ich konsekwencje są ważną częścią tych realiów!
|
|
• Wyciek danych
• Podatne na zagrożenia strony internetowe
• Ataki złośliwego oprogramowania (ransomware)
• Nieuprawniony dostęp
• Ataki socjotechniczne (phishing)
• Zaawansowane trwałe zagrożenia
|
|
• Straty pieniężne
• Zmarnowane zasoby/zmniejszona produktywność
• Uszkodzenie wizerunku firmy i spory sądowe
|
Filary bezpieczeństwa w IT:
• Poufność - Dostęp do informacji powinien być udzielany w uzasadnionym przypadku.
• Integralność - Zakłada brak przypadkowej lub nieuprawnionej manipulacji danymi
• Dostępność - Oznacza nieprzerwany dostęp do informacji
• Autentyczność - Jakość danych, komunikacji lub dokumentu.
• Niemożliwość zaprzeczenia - Gwarancja, że nadawca komunikatu nie może zaprzeczyć, że go wysłał, a odbiorca nie może zaprzeczyć, że go otrzyma
|
|
|
Koncepcja hackinguRozwiń
RYZYKO= Podatność* Prawdopodobieństwo * Wpływ
|
Słownik pojęć: |
|
• Hack Value -Potencjalna wartość płynąca z udanego złamania zabezpieczeń
• Podatność na zagrożenia - Luka, błąd projektowy lub wykonawczy, który może prowadzić do nieoczekiwanego zdarzenia zagrażającego bezpieczeństwu systemu.
• Exploit - naruszenie bezpieczeństwa systemu informatycznego poprzez wykorzystanie istniejącej podatności.
• Payload – kod uruchomiony dzięki wykorzystaniu exploita, który wykonuje zamierzone złośliwe działanie.
• Atak dnia zerowego - atak wykorzystujący luki w aplikacjach komputerowych odkryte przed udostępniem poprawki przez producenta aplikacji
• Bot - oprogramowanie, które może być zdalnie sterowane w celu wykonania lub zautomatyzowania wcześniej określonych zadań.
Rodzaje hakerów: |
|
• Białe kapelusze - etyczni hakerzy lub analitycy bezpieczeństwa
• Czarne kapelusze – odpowiedzialni za złośliwe lub destrukcyjne działania, znani również jako crackerzy
• Szare kapelusze – zdarza się im łamać prawo, ale zazwyczaj brakuje im destrukcyjnych zapędów czarnych kapeluszy
• Hakerzy-samobójcy - osoby, które nie obawiają się więzienia, są zainteresowane osiągnięciem swojego celu bez względu na konsekwencje
• Script Kiddies - niewykwalifikowani hakerzy, którzy uruchamiają skrypty i narzędzia stworzone przez innych, nie rozumiejąc ich działania (obecnie najczęściej spotykani w atakach DDOS)
• Cyberterroryści i przestępczość zorganizowana - motywowani korzyściami finansowymi lub przekonaniami politycznymi, mogą wywoływać ataki na wielką skalę
• Hakerzy sponsorowani przez państwo - osoby zatrudnione przez rząd do zapobiegania atakom innych państw i prowadzenia wojny cybernetycznej
• Haktywiści - osoby, które promują swój program polityczny lub przekonania poprzez hacking
|
Elementy bezpieczenstwa informacjiRozwiń
Ataki= Motyw(Cel) + Metoda(Wektor) + Podatność na ataki
Ataki składają się z motywu, metody i podatności. Oto kilka przykładów:
Motywy (Goal)
• Zakłócenie ciągłości działania
• Kradzież informacji i manipulacja danymi
• Straty finansowe celu
• Korzyści osobiste lub finansowe
• Zemsta
• Propagowanie przekonań religijnych lub politycznych
• Cele państwowe lub wojskowe
|
|
|
|
Metoda (wektor)
• Chmura obliczeniowa
• Wirusy i robaki, botnety
• Ransomware
• Zagrożenia mobilne
•Phishing
• Zagrożenia aplikacji internetowych
• Zagrożenia IoT
|
Podatności
Istnieje wiele rodzajów luk w zabezpieczeniach, które mogą zostać wykorzystane przez hakerów:
• Podatność sieci - Są to problemy ze sprzętem lub oprogramowaniem sieci, które narażają ją na włamanie.
• Podatność systemu operacyjnego na ataki - Są to luki w systemie operacyjnym, które hakerzy mogą wykorzystać w celu kontroli urządzeń, na których zainstalowany jest dany system lub w celu spowodowania szkód.
• Ludzkie podatności - Najsłabszym ogniwem w wielu architekturach bezpieczeństwa cybernetycznego jest element ludzki.
• Podatność procesu -Niektóre podatności mogą być spowodowane określonymi krokami procesu (lub ich brakiem)
Gromadzenie informacji
Płaszczyzny atakuRozwiń
Atak hakerski może zostać przeprowadzony na jednej lub wielu płaszczyznach. Oto potencjalne płaszczyzny ataku i ich przykłady:
• Płaszczyzna systemowa - Technologie, urządzenia, systemy operacyjne
• Płaszyzna logiczna/funkcjonalna - Urządzenia/systemowe cele (strona prezentacyjna, ERP)
• Płaszczyzna fizyczna - Siedziba główna, lokalizacja sprzętu
• Płaszczyzna czasowa - Dni i godziny pracy
|
|
|
|
• Płaszczyzna społeczna - Dane o pracownikach
• Płaszczyzna cyklu życia – wykorzystanie nieścisłości bądź luk w jednym z etapów procesu biznesowego
• Płaszczyzna konsekwencji – wykorzystuje luki w braku konsekwencji działań (przykład: brak kontroli nad osobami wchodzącymi do budynku bądź serwerowni)
|
Informacje o celuRozwiń
Gdzie można znaleźć informacje o celu?
• Nazwę przedsiębiorstwa i stronę internetową firmy
• Lokalizację geograficzna
• Nazwiska pracowników
• Adresy IP
• Rezultaty wyszukiwań (wyszukiwarki mogą indeksować poufne strony w wyniku luki)
• Korzystanie z Whois i DNS
• Sieci społecznościowe: Facebook/Meta, Linkedin, Twitter
• Informacje zdobyte w wyniku inżynierii społecznej
|
|
Inne żródłaRozwiń
W celu skutecznego zdobycia informacji często przydaje się użycie różnych wyszukiwarek w zależności od regionu, w którym znajduje się cel. Dla przykładu: Google, Yahoo i Bing przydadzą się bardziej do ataku na użytkowników, lokalizacje i dane z USA i UE, podczas gdy Baidu da lepsze wyniki w przypadku celu w Chinach.
Aby zabezpieczyć się przed ujawnieniem informacji przy pomocy wyszukiwarki Twój dział cyberbezpieczeństwa powinien sprawdzić wszystkie wyszukiwarki i ich regionalne odmiany. Większość narzędzi wyszukiwania spoza USA zbiera i przechowuje dane głównie lub wyłącznie z danego regionu lub kraju. Dane celu z Rosji możesz prędzej znaleźć na Yandex, niż przy pomocy google.com (lub nawet google.ru).
Międzynarodowe wyszukiwarki oferują możliwość wyszukiwania w języku(-ach) ojczystym(-ych). W niektórych przypadkach zapytania przeprowadzane w zestawach znaków innych niż łacińskie mogą lepsze wyniki.
Skanowanie, enumeracja
Skanowanie sieci, koncepcja enumeracjiRozwiń
Skanowanie sieci – Inaczej mapowanie i identyfikacja urządzeń działających w jej obrębie. Pozwala na:
- Aktywną identyfikację systemu, otwartych portów, usług, reguł firewalla, itp.
- Analizę warstwy sieciowej (skanowanie sieci) i systemowej (skanowanie portów)
Enumeracja - Skatalogowanie zasobów celu. Może to być na przykład:
- Określenie kont użytkowników, folderów współdzielonych itp.
- Bezpośrednie przesłuchiwanie: aktywne połączenia
|
|
|
|
|
|
Działania, które opierają się na interakcji z celem:
- Wiele zapytań w celu uzyskania różnych rodzajów informacji
- Działające hosty, otwarte porty, wersja uruchomionej usługi
- System operacyjny, udziały sieciowe, użytkownicy lokalni
- Zależne od miejsca wykonania skanu (z zewnątrz vs wewnątrz sieci)
|
Przykłady narzędzi skanującychRozwiń
• ARP Ping - Pozwala określić cele w sieci lokalnej (LAN)
• TCP Connect - Prosta i szybka metoda, która tworzy kompletne połączenia TCP.
• Identyfikacja systemu operacyjnego:
Pasywna identyfikacja: Analiza pakietów odbieranych przez maszynę - Niska precyzja
Aktywna identyfikacja: Wysyła pakiety do celu, aby sprawdzić reakcję - Wysoka precyzja
• Banner Grabbing – Niektóre protokoły używają portów serwisowych do prezentowania danych o urządzeniu. Choć przydatne w przypadku katalogowania urządzeń, może zostać wykorzystane do ataku.
Koncepcja spideringuRozwiń
• Pierwszym krokiem w procesie atakowania aplikacji jest zebranie i zbadanie kilku kluczowych informacji na jej temat, aby lepiej zrozumieć, z czym masz do czynienia
• Mapowanie rozpoczyna się od wyliczenia zawartości i funkcjonalności aplikacji, aby zrozumieć, co aplikacja robi i jak się zachowuje.
• Wiele z tych funkcji jest łatwych do zidentyfikowania, ale niektóre z nich mogą być ukryte, wymagając pewnego stopnia zgadywania i szczęścia, aby je odkryć.
|
• Rodzaje spideringu:
Automatyczny: przy użyciu narzędzi (Burp, Paros Proxy, itp.)
Kierowany przez użytkownika: zarówno ręcznie jak i automatycznie
|
|
Hakowanie systemu
PojęciaRozwiń
Exploit to fragment zaprogramowanego oprogramowania lub skryptu, który może pozwolić hakerom na przejęcie kontroli nad systemem, wykorzystując jego luki.
Exploit= Ładunek+ Podatność
• Payload - kod, który zostanie wykonany po wykorzystaniu podatności, napisany w języku ASM (Assembly Language)
• Jest zależny od platformy - Windows, Linux, Android, Mac OS – każdy z systemów potrzebuje różnych exploitów do udanego ataku
• Różne typy payload’u:
• zdalnie wykonuje polecenie lub uruchania program
• pobiera/przesyła plik z adresu URL i go uruchamia
• dodaje użytkownika do kont systemowych
• shell - udostępnia interaktywny interfejs do dalszego ataku na cel
Łamanie hasełRozwiń
Hasła to obecnie najpopularniejszy i najczęściej wykorzystywany mechanizm uwierzytelniania.
Jak każdy mechanizm zabezpieczający, są one podatne na niektóre rodzaje ataków.
Z powodu powszechności stosowania haseł, a także częstego braku świadomości o ich poprawnym zabezpieczeniu, kradzież haseł a tym samym internetowej
tożsamości stanowi obecnie "przestępstwo komputerowe" o najwyższym tempie wzrostu.
Jak działają hasła: Kiedy użytkownik wpisuje hasło, jego hash (wynik działania operacji matematycznej wykonanej na haśle nazywanej funkcją skrótu)
jest obliczany i porównywany z tym, które jest przechowywane w bazie danych. Jeśli te dwie wartości są takie same, użytkownik jest uwierzytelniany i logowanie
kończy się sukcesem. Dodatkowym mechanizmem zabezpieczeń jest tzw. sól (ciąg zaburzający). Jest to wprowadzenie losowej wartości do procesu obliczania hash’a.
Wartość soli jest przechowywana razem z wartością hash w bazie danych. Jeśli dwóch użytkowników ma takie same hasła, będą one reprezentowane jako różne
zaszyfrowane wartości w bazie danych (ze względu na różną sól) co sprawi, że haker będzie musiał złamać każde hasło oddzielnie.
Rodzaje ataków na hasłaRozwiń
Jak najczęściej wygląda atak na hasło?
Najpopularniejszą metodą ataków związanych z hasłami jest Brute Force, czyli atak siłowy. Nie wymaga on żadnej finezji ani szczegółowej wiedzy o celu. Polega natomiast na wysyłaniu setek tysięcy kombinacji znaków w celu znalezienia właściwej kombinacji. Może on również używać słów natywnych dla języka ojczystego celu, aby szybciej znaleźć właściwą kombinację (tzw. metoda słownikowa).
Innym sposobem na przejęcie hasła jest sniffing (o którym przeczytacie w dalszym rozdziale), czyli przechwytywanie pakietów sieciowych celu, które następnie są dekodowane i odczytywane przez hakerów. |
|
Oczywiście, ataki na hasła nie ograniczają się tylko do łamania haseł i podsłuchiwania sieci. Pamiętasz jak wspominaliśmy o płaszczyźnie ataków? Haker może równie dobrze dostać się do siedziby firmy przy wykorzystaniu inżynierii socjalnej i wykraść hasła zapisane na biurku bądź przejąć urządzenia na których znajdują się dane logowania, dlatego ważne jest aby Twoja firma nie skupiała się tylko na jednym sposobie zabezpieczeń i wdrażała kompleksową ochronę połączoną z edukacją pracowników.
Zagrożenia związane ze złośliwym oprogramowaniem
Koncepcja złośliwego oprogramowaniaRozwiń
• Złośliwe oprogramowanie zazwyczaj składa się z kodu opracowanego przez cyberprzestępców, zaprojektowanego w celu spowodowania rozległych uszkodzeń danych i systemów lub uzyskania nieautoryzowanego dostępu do sieci.
• Złośliwe oprogramowanie jest zazwyczaj dostarczane w formie linku lub pliku za pośrednictwem poczty elektronicznej i wymaga od użytkownika kliknięcia na link lub otwarcia pliku w celu wykonania złośliwego oprogramowania.
• Złośliwe oprogramowanie stanowi zagrożenie dla osób i organizacji już od wczesnych lat 70-tych, kiedy to po raz pierwszy pojawił się wirus Creeper. Od tego czasu świat jest atakowany przez setki tysięcy różnych wariantów złośliwego oprogramowania, z których wszystkie mają na celu spowodowanie jak największych zakłóceń i szkód.
Złośliwe programyRozwiń
Złośliwe programy
• Istnieją trzy kategorie: Trojany i rootkity, Wirusy, Robaki
• Wirus komputerowy może zainfekować inne pliki
• Wirusy mogą jednak zainfekować urządzenia tylko przy pomocy użytkowników komputerów
Testowanie złośliwego oprogramowania
http://www.virustotal.com
|
|
• Usługa analizująca podejrzane pliki i ułatwiająca szybkie wykrywanie wirusów, robaków, trojanów i wszelkiego rodzaju złośliwego oprogramowania.
• Bezpłatna i niezależna usługa
• Wykorzystuje wiele silników antywirusowych (57 w momencie pisania, liczba stale rośnie)
|
Potencjalnie złośliwe działania mogą obejmować:
• Próby otwierania, przeglądania, usuwania, modyfikowania plików
• Próby formatowania napędów I dysków.
• Modyfikację ustawień systemowych (np. automatyczne uruchamianie złośliwego kodu).
• Inicjowanie komunikacji sieciowej.
|
|
Monitorowanie i wykrywanie robaków internetowych
Robak SQL Slammer, pojawił się w styczniu 2003 roku i w ciągu 10 minut zainfekował ponad 90% podatnych na ataki komputerów w Internecie. Udany atak robaka trwa zazwyczaj kilka dni, infekując setki tysięcy komputerów (Code Red, Nimda, Blaster, itp.);
|
Środki zaradczeRozwiń
Oprogramowanie antywirusowe wykrywa i usuwa wirusy przed wyrządzeniem szkód, integruje się z systemem operacyjnym komputera-hosta i monitoruje zachowanie programów w czasie rzeczywistym w poszukiwaniu złośliwych działań, a także blokuje potencjalnie złośliwe działania, zanim wpłyną one na system.
Wskazówki:
• Zwróć uwagę na instrukcje podczas pobierania plików lub jakichkolwiek programów z Internetu.
• Aktualizuj oprogramowanie antywirusowe tak często, jak to możliwe.
• Zaplanuj regularne skanowanie wszystkich dysków
|
|
Sniffing i przejęcie sesji
Koncepcja sniffinguRozwiń
• Sniffer pakietów to urządzenie bądź program, który monitoruje i przechwytuje pakiety sieciowe w czasie rzeczywistym. Używany jest między innymi do:
Rozwiązywania problemów (w tym związanych z bezpieczeństwem) i analizy sieci.
Rejestrowania sieci w celu późniejszej analizy.
Jako narzędzie hakerskie do przechwytywania nazw użytkowników i haseł
|
|
Narzędzia do snififnguRozwiń
Przykładowe narzędzia używane do sniffingu:
|
tcpdump (http://www.tcpdump.org)
• Platforma Unix
• Działające w linii komend
WinDump (http://www.winpcap.org/windump/)
• tcpdump wersja dla Windows
Ethereal / Wireshark (http://www.wireshark.org/)
• Posiada interfejs graficzny
|
|
Przejęcie sesjiRozwiń
Definicja:
• Wykorzystanie ważnej sesji komputerowej w celu uzyskania nieuprawnionego dostępu do informacji lub usług w systemie komputerowym za pośrednictwem protokołów TCP/UDP
|
Sposoby przejęcia:
• Session fixation -Atakujący podsuwa użytkownikowi znany mu identyfikator sesji, np. wysyłając maila z linkiem zawierającym konkretny identyfikator. Atakujący musi
jedynie poczekać, aż użytkownik zaloguje się na stronie.
• Session sidejacking - Atakujący wykorzystuje sniffing pakietów do odczytania ruchu sieciowego pomiędzy dwoma stronami w celu wykradzenia ciasteczka
sesyjnego.
• Cross-site scripting - Atakujący podstępnie nakłania komputer użytkownika do uruchomienia kodu, który jest traktowany jako wiarygodny, ponieważ
wydaje się należeć do serwera, co pozwala atakującemu na uzyskanie kopii pliku cookie lub wykonanie nieautoryzowanych operacji.
• Złośliwe oprogramowanie i niechciane programy - Może wykorzystywać przeglądarkę do kradzieży plików cookie bez wiedzy użytkownika, a następnie
wykonywać określone działania (takie jak instalowanie aplikacji na systemie Android).
• siłowe wymuszanie informacji o sesji (np. poprzez Telnet)
|
|
|
|
|
|