Description
Powtarzające się przypadki masowego naruszania bezpieczeństwa informacji, nielegalnego gromadzenia danych wrażliwych o użytkownikach czy nieuprawnionego wykorzystywania systemów do dezinformacji zmuszają organizacje do uznania cyberbezpieczeństwa za swój priorytet. Z drugiej strony coraz krótszy cykl rozwojowy aplikacji i usług sieciowych, a także rosnąca liczba technologii o coraz większej złożoności sprawiają, że projektant aplikacji nie jest w stanie w pełni przetestować tworzonego oprogramowania pod kątem bezpieczeństwa. W tych warunkach rośnie rola specjalistów w dziedzinie testów bezpieczeństwa. Wśród narzędzi dla profesjonalnych pentesterów słynny system Kali Linux zasługuje na szczególną uwagę.To trzecie, uzupełnione i zaktualizowane wydanie znakomitego przewodnika dla testerów aplikacji. Wyjaśniono w nim koncepcję etycznego hakingu i testów penetracyjnych oraz omówiono narzędzia dostępne w systemie Kali Linux. Przedstawiono mechanikę klasycznych ataków, również tych z wstrzykiwaniem kodu SQL i poleceń. Bardzo dokładnie przeanalizowano kwestie kontroli danych wejściowych. Ważną część książki stanowi omówienie najnowszych problemów z warstwami kryptograficznymi w komunikacji sieciowej, a także prezentacja zautomatyzowanych fuzzerów do wykrywania potencjalnych luk i podatności w aplikacjach internetowych. Oprócz opisów poszczególnych technik ataków znalazły się tu również wskazówki dotyczące zapobiegania tym atakom i łagodzenia ich skutków.Najciekawsze zagadnienia:metodyki testów penetracyjnych i podstawowe pojęcia z tym związaneklasyczne metody ataków: wstrzykiwanie kodu, ataki XSS i CSRFwykorzystywanie podatności kryptograficznychataki file inclusion, HTTP Parameter Pollution (HPP) oraz wycieki informacjiprowadzenie ataku ze strony klientazautomatyzowane skanery i fuzzeryKali Linux. Sprawdź, czy na pewno jesteś bezpieczny!Spis treści:O autorach 11O korektorze merytorycznym 12Przedmowa 13Rozdział 1. Wprowadzenie do testów penetracyjnych i aplikacji sieciowych 19Aktywne testowanie zabezpieczeń 20Różne metodyki testowania 20Co należy brać pod uwagę podczas przeprowadzania testów penetracyjnych 22Reguły prowadzenia testu penetracyjnego 22Ograniczenia testów penetracyjnych 24Dlaczego należy testować aplikacje sieciowe 26Dlaczego aplikacje sieciowe należy chronić przed atakami 27Kali Linux 28Aplikacje sieciowe – wprowadzenie dla pentesterów 28Protokół HTTP 29Żądania i odpowiedzi HTTP 29Obsługa sesji HTTP 33Dane HTML w odpowiedzi HTTP 36Wielowarstwowe aplikacje sieciowe 37Podsumowanie 46Rozdział 2. Konfiguracja środowiska testowego z systemem Kali Linux 47Kali Linux 48Udoskonalenia wprowadzone w systemie Kali Linux 48Instalowanie systemu Kali Linux 49Instalacja systemu Kali Linux na platformie VirtualBox 51Najważniejsze narzędzia w systemie Kali Linux 58Narzędzia do identyfikacji frameworków i systemów CMS 59Serwery proxy aplikacji sieciowych 60Roboty sieciowe i siłowe przeszukiwanie struktury katalogów 64Sieciowe skanery podatności i luk w zabezpieczeniach 65Inne narzędzia 66Podatne aplikacje i serwery, których można użyć do ćwiczeń 70Projekt OWASP Broken Web Applications 70Hackazon 72Web Security Dojo 72Inne zasoby 73Podsumowanie 73Rozdział 3. Rekonesans i profilowanie serwerów WWW 75Rekonesans 76Rekonesans pasywny kontra rekonesans aktywny 77Gromadzenie informacji 77Szczegółowe informacje o rejestracji domeny 78Identyfikacja powiązanych hostów za pomocą DNS 80Używanie wyszukiwarek i publicznych usług sieciowych do zbierania informacji 86Narzędzie Recon-ng – system gromadzenia informacji 89Skanowanie – badanie celu 94Skanowanie portów za pomocą skanera Nmap 95Profilowanie serwera 98Skanowanie serwerów sieciowych w poszukiwaniu luk i błędów konfiguracyjnych 106Zastosowanie robotów indeksujących do przeszukiwania aplikacji sieciowych (web spidering) 112Podsumowanie 119Rozdział 4. Podatności uwierzytelniania i zarządzania sesjami 121Schematy uwierzytelniania w aplikacjach internetowych 122Uwierzytelnianie na poziomie platformy 122Uwierzytelnianie oparte na formularzach 125Uwierzytelnianie dwuskładnikowe 126OAuth 127Mechanizmy zarządzania sesjami 127Sesje oparte na uwierzytelnianiu platformy 127Identyfikatory sesji 127Typowe błędy uwierzytelniania w aplikacjach internetowych 129Brak uwierzytelnienia lub nieprawidłowa weryfikacja uwierzytelniania 129Wyszukiwanie nazw kont użytkowników 129Pozyskiwanie haseł za pomocą ataków typu brute force i ataków słownikowych 134Mechanizm resetowania hasła 144Luki w implementacjach mechanizmu 2FA 145Wykrywanie i wykorzystywanie niewłaściwego zarządzania sesjami 146Zastosowanie modułu Burp Sequencer do oceny jakości identyfikatorów sesji 147Przewidywanie wartości identyfikatorów sesji 149Ataki typu Session Fixation 154Zapobieganie atakom na uwierzytelnianie i sesje 157Wytyczne dotyczące uwierzytelniania 157Wskazówki dotyczące zarządzania sesjami 159Podsumowanie 160Rozdział 5. Wykrywanie i wykorzystywanie podatności pozwalających na wstrzykiwanie kodu 161Wstrzykiwanie poleceń 162Identyfikacja parametrów do wstrzykiwania danych 164Wykorzystywanie luki Shellshock 167Wstrzykiwanie zapytań SQL 172Podstawowe zagadnienia związane z językiem SQL 173Przykład kodu podatnego na atak ze wstrzykiwaniem kodu 174Metodologia testowania podatności na wstrzykiwanie kodu SQL 175Pobieranie danych za pomocą wstrzykiwania kodu SQL 178Automatyzacja procesu wykorzystywania luk typu SQL injection 187Możliwości ataków z wykorzystaniem wstrzykiwania kodu SQL 194Wstrzykiwanie kodu XML 195Ataki typu XPath injection 195Ataki ze wstrzykiwaniem kodu XML External Entity 199Ataki typu Entity Expansion 201Ataki ze wstrzykiwaniem kodu NoSQL 202Testowanie podatności na wstrzykiwanie kodu NoSQL 203Wykorzystywanie możliwości wstrzykiwania kodu NoSQL 203Łagodzenie skutków i zapobieganie podatnościom na wstrzykiwanie kodu 205Podsumowanie 206Rozdział 6. Wyszukiwanie i wykorzystywanie podatności typu Cross-site scripting (XSS) 207Przegląd podatności typu Cross-site scripting 208Ataki typu Persistent XSS 210Ataki typu Reflected XSS 211Ataki typu DOM-based XSS 211Ataki typu XSS z użyciem metody POST 213Wykorzystywanie podatności typu Cross-site scripting 214Wykradanie plików cookie 214Podmiana zawartości witryny 216Keylogger – rejestrowanie naciśnięć klawiszy 217Przejmowanie kontroli nad przeglądarką użytkownika za pomocą pakietu BeEF-XSS 220Skanowanie w poszukiwaniu luk typu XSS 223XSSer 223XSS-Sniper 225Zapobieganie skutkom ataków typu Cross-site scripting 226Podsumowanie 227Rozdział 7. Wyszukiwanie i wykorzystywanie podatności typu Cross-site request forgery (CSRF/XSRF) 229Wyszukiwanie podatności typu CSRF 230Wykorzystywanie podatności typu CSRF 233Wykorzystywanie podatności CSRF z użyciem żądania POST 233Ataki typu CSRF na usługi sieciowe 236Zastosowanie podatności XSS do ominięcia zabezpieczeń przed atakami CSRF 238Zapobieganie atakom CSRF 242Podsumowanie 243Rozdział 8. Ataki z wykorzystaniem podatności kryptograficznych 245Podstawowe zagadnienia związane z kryptografią 246Algorytmy i tryby szyfrowania 247Funkcje haszujące 250Bezpieczna komunikacja z użyciem protokołu SSL/TLS 251Bezpieczna komunikacja w aplikacjach sieciowych 252Identyfikacja słabych implementacji SSL/TLS 254Polecenie OpenSSL 254SSLScan 257SSLyze 258Testowanie konfiguracji SSL za pomocą skanera Nmap 259Wykorzystywanie luki Heartbleed 261Luka POODLE 263Niestandardowe protokoły szyfrowania 264Identyfikacja zaszyfrowanych i zakodowanych informacji 264Najczęstsze błędy popełniane podczas przechowywania i przesyłania poufnych danych 272Używanie narzędzi do łamania haseł offline 273Zapobieganie błędom w implementacjach kryptograficznych 277Podsumowanie 278Rozdział 9. AJAX, HTML5 i ataki po stronie klienta 279Przeszukiwanie aplikacji AJAX 279AJAX Crawling Tool 280Sprajax 281AJAX Spider – OWASP ZAP 281Analizowanie magazynu danych i kodu po stronie klienta 283Narzędzia programistyczne przeglądarki sieciowej 284HTML5 dla pentesterów 288Nowe wektory ataków XSS 288Lokalne magazyny danych i bazy klienta 289Web Messaging 291WebSockets 291Inne ważne cechy HTML5 296Omijanie mechanizmów kontroli działających po stronie klienta 297Łagodzenie skutków luk w zabezpieczeniach AJAX, HTML5 i innych podatności po stronie klienta 301Podsumowanie 302Rozdział 10. Inne często spotykane podatności aplikacji sieciowych 303Niezabezpieczone bezpośrednie odwołania do obiektów 304Bezpośrednie odwołania do obiektów w usługach sieciowych 306Ataki typu path traversal 306Ataki typu file inclusion 308Ataki typu Local File Inclusion 309Ataki typu Remote File Inclusion 312Ataki typu HTTP parameter pollution 312Wycieki informacji 313Zapobieganie atakom 316Niezabezpieczone bezpośrednie odwołania do obiektów 316Ataki typu file inclusion 316Ataki typu HTTP parameter pollution 317Wycieki informacji 317Podsumowanie 317Rozdział 11. Skanowanie aplikacji sieciowych przy użyciu zautomatyzowanych skanerów podatności 319Zanim zaczniesz używać automatycznego skanera podatności 320Skanery podatności aplikacji sieciowych dostępne w systemie Kali Linux 321Nikto 321Skipfish 323Wapiti 325Skaner OWASP ZAP 327Skanery podatności dla systemów CMS 329WPScan 330JoomScan 331CMSmap 332Fuzzing aplikacji internetowych 333Korzystanie z fuzzera OWASP ZAP 334Moduł Burp Intruder 338Postępowanie po zakończeniu skanowania 342Podsumowanie 342Skorowidz 345
Informatyka
e szkolenia poczta polska, dom kamila stocha, weiss, komenda wojewódzka psp lublin, zus pue infolinia, marek zagórski