Kali Linux и тестирование на проникновение. Библия
Товар
- 0 раз купили
- 4.88 оценка
- 2 осталось
- 34 отзыва
Доставка
Характеристики
Описание
Kali Linux i testy penetracyjne. Biblia
Jesse Liberty
Najlepszą metodą unikania udanego cyberataku jest utrzymywanie w gotowości zabezpieczeń systemowych. Szczególna rola na tym polu przypada pentesterom, którzy używając tych samych technik co napastnicy, wyszukują podatności i przełamują zabezpieczenia. To pozwala lepiej dostroić działanie mechanizmów obronnych. Ulubionym systemem pentesterów jest Kali - popularna i potężna dystrybucja Linuxa. Zawiera ona przebogatą bibliotekę narzędzi służących do przeprowadzania testów penetracyjnych, analiz informatyki śledczej i inżynierii wstecznej.
Ta książka jest praktycznym i wyczerpującym przewodnikiem, dzięki któremu w pełni wykorzystasz możliwości Kali Linux. Opisano w niej wiele interesujących zagadnień związanych z przeprowadzaniem testów penetracyjnych. Dowiesz się, jak zbudować nowoczesne środowisko testowe z użyciem kontenerów Docker, przyswoisz podstawy języka powłoki bash, nauczysz się wyszukiwania podatności i luk w zabezpieczeniach, a także identyfikacji podatności fałszywie pozytywnych. Od strony praktycznej poznasz metodologię pentestów. Znajdziesz tu również wskazówki, jak używać Pythona do automatyzacji testów penetracyjnych. W przewodniku nie zabrakło bardziej zaawansowanych zagadnień, takich jak przepełnienie bufora, eskalacja uprawnień i wiele innych.
W książce:
- przygotowanie laboratorium
- podstawy języka powłoki bash
- wyszukiwanie podatności i luk w zabezpieczeniach
- zaawansowane techniki ataku, w tym przepełnienie bufora i eskalacja uprawnień
- metodologia przeprowadzania testów penetracyjnych
- nowoczesny cykl tworzenia bezpiecznych aplikacji internetowych
- automatyzacja testów penetracyjnych za pomocą Pythona
Chcesz się skutecznie obronić? Poznaj techniki ataku!
O autorze
Gus Khawaja - ekspert w dziedzinie bezpieczeństwa aplikacji i przeprowadzania testów penetracyjnych, konsultant do spraw cyberbezpieczeństwa w Montrealu w Kanadzie. Zdobył bogate doświadczenie w pracy z wieloma organizacjami, gdy zajmował się zwiększaniem stopnia ochrony ich zasobów przed cyberatakami. Jest autorem licznych publikacji w tej dziedzinie.
Spis treści:
O autorze
O korektorze merytorycznym
Podziękowania
Wstęp
Rozdział 1. Praca z oknem terminala
- System plików w Kali Linux
Podstawowe polecenia okna terminala
Okno terminala Tmux
Uruchamianie terminala Tmux
Skróty klawiszowe w oknie terminala Tmux
Zarządzanie sesjami terminala Tmux
Nawigacja wewnątrz okna terminala Tmux
Opis poleceń terminala Tmux
- Zarządzanie użytkownikami i grupami w systemie Kali Linux
Polecenia związane z zarządzaniem użytkownikami
Polecenia związane z zarządzaniem grupami
Zarządzanie hasłami w systemie Kali Linux
- Zarządzanie plikami i katalogami w systemie Kali Linux
Wyświetlanie plików i folderów
Prawa dostępu
Operacje na plikach w systemie Kali Linux
Wyszukiwanie plików
Kompresowanie plików
Operowanie na katalogach w systemie Kali Linux
Montowanie katalogów
Praca z plikami tekstowymi w systemie Kali Linux
Edytor vim kontra nano
Wyszukiwanie i filtrowanie tekstu
- Połączenia z systemami zdalnymi
Protokół RDP
Secure Shell
Połączenie SSH z danymi uwierzytelniającymi
Połączenia SSH bez używania hasła
- Zarządzanie systemem Kali Linux
Informacje o nazwie hosta systemu Linux
Informacje o systemie operacyjnym Linux
Informacje o sprzęcie
Zarządzanie usługami
Zarządzanie pakietami
Zarządzanie procesami
- Połączenia sieciowe w systemie Kali Linux
Interfejs sieciowy
Zakresy adresów prywatnych IPv4
Statyczne adresy IP
DNS
Wyświetlanie listy aktywnych połączeń
Przesyłanie plików
- Podsumowanie
Rozdział 2. Skrypty powłoki bash
- Tworzenie prostych skryptów powłoki bash
- Wyświetlanie informacji i danych na ekranie
- Zmienne
Zmienne zawierające polecenia
- Parametry wywołania skryptów
- Dane wejściowe wprowadzane przez użytkownika
- Funkcje
- Instrukcje warunkowe i pętle
Instrukcje warunkowe
Pętle
Iteracje po plikach
- Podsumowanie
Rozdział 3. Skanowanie hostów sieciowych
- Podstawy działania sieci
Protokoły sieciowe
TCP
UDP
Inne protokoły sieciowe
Adresowanie IP
IPv4
Podsieci i notacja CIDR
IPv6
Numery portów
- Skanowanie sieci
Identyfikacja aktywnych hostów w sieci
Ping
ARP
Nmap
Skanowanie portów i identyfikacja usług
Skanowanie portów - TCP SYN Scan
Skanowanie portów - UDP Scan
Podstawy skanowania z użyciem programu Nmap
Identyfikacja usług
OS Fingerprinting - identyfikacja systemu operacyjnego
Silnik skryptowy skanera Nmap
NSE Category Scan
Argumenty wywołania skryptów NSE
- Wyliczanie DNS
DNS brute force
Transfer stref DNS
Narzędzia do wyszukiwania subdomen DNS
Pakiet Fierce
- Podsumowanie
Rozdział 4. Zbieranie informacji z internetu
- Pasywne zbieranie informacji i rekonesans
Wyszukiwarki internetowe
Wyszukiwarka Shodan
Zapytania Google
Zbieranie informacji przy użyciu systemu Kali Linux
Baza danych Whois
TheHarvester
DMitry
Maltego
- Podsumowanie
Rozdział 5. Ataki socjotechniczne
- Ataki typu spear phishing
Wysyłanie wiadomości e-mail
Pakiet SET
Wysyłanie wiadomości e-mail przy użyciu języka Python
Kradzież poświadczeń
- Ładunki i procesy nasłuchujące
Czym się różni powłoka Bind Shell od Reverse Shell
Powłoka dowiązana (Bind Shell)
Powłoka odwrócona (Reverse Shell)
Tworzenie połączenia typu Reverse Shell za pomocą pakietu SET
- Ataki socjotechniczne z wykorzystaniem klucza USB Rubber Ducky
Praktyczny przykład nawiązania połączenia Reverse Shell z wykorzystaniem klucza USB Rubber Ducky i powłoki PowerShell
Generowanie skryptu powłoki PowerShell
Uruchamianie listenera
Hostowanie skryptu powłoki PowerShell
Uruchomienie powłoki PowerShell
Pobieranie i uruchamianie skryptu powłoki PowerShell
Odwrócona powłoka
Replikacja ataku przy użyciu klucza USB Rubber Ducky
- Podsumowanie
Rozdział 6. Zaawansowane wyszukiwanie usług sieciowych
- Protokoły przesyłania plików
FTP (port 21)
Scenariusze ataków na serwer FTP
Jak wyszukiwać działające usługi sieciowe?
Skanowanie w poszukiwaniu usług
Zaawansowane skanowanie z wykorzystaniem skryptów Nmapa
Inne rodzaje ataków typu brute force
SSH (port 22)
Scenariusze ataków na serwer SSH
Zaawansowane skanowanie z wykorzystaniem skryptów Nmapa
Atak brute force na SSH za pomocą pakietu Hydra
Zaawansowane ataki typu brute force
Telnet (port 23)
Scenariusze ataków na serwer Telnet
Wykrywanie i identyfikacja usługi telnet
Skanowanie w poszukiwaniu usługi
Zaawansowane skanowanie z wykorzystaniem skryptów Nmapa
Atak brute force za pomocą pakietu Hydra
- Protokoły poczty elektronicznej
Protokół SMTP (port 25)
Podstawowe skanowanie Nmapem
Zaawansowane skanowanie z użyciem skryptów Nmapa
Wyliczanie użytkowników
Protokoły POP3 (Port 110) i IMAP4 (Port 143)
Atak brute force na konta e-mail POP3
- Protokoły baz danych
Microsoft SQL Server (port 1433)
Serwer bazy danych Oracle (port 1521)
Baza danych MySQL (port 3306)
- Protokoły CI/CD
Docker (port 2375)
Jenkins (Port 8080/50000)
Atak brute force na portal WWW przy użyciu Hydry
Krok 1 - ustaw proxy
Krok 2 - przechwytywanie żądania logowania
Krok 3 - wyciąganie danych z formularza i atak brute force za pomocą Hydry
- Protokoły sieciowe na portach 80/443
- Protokoły wykorzystywane do zdalnych połączeń GUI
RDP (port 3389)
Atak typu brute force na usługę RDP
VNC (Port 5900)
- Protokoły współdzielenia plików
SMB (port 445)
Atak typu brute force na SMB
SNMP (port UDP 161)
Wyliczanie SNMP
- Podsumowanie
Rozdział 7. Faza eksploracji
- Ocena podatności
Przebieg procesu oceny podatności
Skanowanie podatności za pomocą pakietu OpenVAS
Instalacja pakietu OpenVAS
Skanowanie przy użyciu OpenVAS
Wyszukiwanie exploitów
SearchSploit
- Wykorzystywanie podatności i luk w zabezpieczeniach usług
Wykorzystywanie podatności usługi FTP
Logowanie do serwera FTP
Zdalne wykonanie kodu
Wywoływanie sesji powłoki
Wykorzystywanie podatności usługi SSH
Logowanie do SSH
Wykorzystywanie podatności usługi Telnet
Logowanie przez telnet
Wyszukiwanie informacji przesyłanych otwartym tekstem
Wykorzystywanie podatności serwera poczty elektronicznej
Wykorzystywanie podatności Dockera
Testowanie połączenia z Dockerem
Tworzenie nowego zdalnego kontenera Kali
Uruchamianie powłoki w kontenerze Kali
Wykorzystywanie podatności hosta Docker
Wykorzystywanie podatności Jenkinsa
Odwrócone powłoki
Wykorzystanie powłok z pakietu Metasploit
Wykorzystywanie podatności protokołu SMB
Uzyskiwanie dostępu do udziałów SMB
Exploit SMB Eternal Blue
- Podsumowanie
Rozdział 8. Podatności i luki w zabezpieczeniach aplikacji internetowych
- Podatności w aplikacjach internetowych
Instalacja pakietu Mutillidae
Instalacja serwera WWW Apache
Konfiguracja zapory sieciowej
Instalacja PHP
Instalacja i konfiguracja bazy danych
Instalacja pakietu Mutillidae
Podatności typu XSS (Cross-Site Scripting)
Podatność typu Reflected XSS
Podatność typu Stored XSS
Wykorzystywanie podatności XSS przy użyciu nagłówka
Omijanie walidacji w skryptach JavaScript
Wstrzykiwanie kodu SQL
Zapytania do bazy danych
Obchodzenie strony logowania
Wykonywanie poleceń w bazie danych za pomocą SQLi
Automatyzacja wstrzykiwania kodu SQL za pomocą programu SQLMap
Testowanie podatności na ataki SQL Injection
Wstrzykiwanie poleceń
Podatność na dołączanie plików
LFI - dołączanie plików lokalnych
RFI - dołączanie plików zdalnych
Podatności typu CSRF
Przebieg ataku z punktu widzenia napastnika
Przebieg ataku z punktu widzenia ofiary
Przesyłanie plików
Proste przesyłanie plików
Omijanie walidacji
Kodowanie
Lista OWASP Top 10
- Podsumowanie
Rozdział 9. Testy penetracyjne aplikacji sieciowych i cykl tworzenia bezpiecznego oprogramowania
- Wyszukiwanie i wykorzystywanie podatności aplikacji sieciowych
Burp Suite Pro
Testy penetracyjne aplikacji sieciowych z użyciem pakietu Burp Suite
Jeszcze więcej wyliczania
Nmap
Crawling
Ocena podatności na zagrożenia
Lista kontrolna wspomagająca przeprowadzanie testów penetracyjnych aplikacji sieciowych
Wspólna lista kontrolna
Lista kontrolna dla stron specjalnych
- SDLC - cykl tworzenia i rozwoju bezpiecznego oprogramowania
Faza analizy i planowania
Modelowanie zagrożeń aplikacji
Aktywa
Punkty wejścia
Elementy i podmioty trzecie
Poziomy zaufania
Diagram przepływu danych
Faza tworzenia/rozwoju
Faza testowania
Wdrożenie w środowisku produkcyjnym
- Podsumowanie
Rozdział 10. Eskalacja uprawnień w systemie Linux
- Wprowadzenie do exploitów jądra systemu i błędów w konfiguracji
- Exploity jądra systemu
Exploit jądra - Dirty Cow
- Wykorzystywanie uprawnienia SUID
- Nadpisywanie pliku passwd
- CRON - eskalacja uprawnień zadań
Podstawy CRON
Crontab
Anacrontab
Wyliczanie zadań i wykorzystywanie podatności CRON-a
- Plik sudoers
Eskalacja uprawnień z wykorzystaniem sudo
Wykorzystanie polecenia Find
Edycja pliku sudoers
- Wykorzystywanie działających usług
- Zautomatyzowane skrypty
- Podsumowanie
Rozdział 11. Eskalacja uprawnień w systemie Windows
- Pozyskiwanie informacji o systemie Windows
Informacje o systemie
Architektura systemu Windows
Wyświetlanie listy napędów dyskowych
Lista zainstalowanych aktualizacji
Whoami, czyli kim jestem?
Lista użytkowników i grup
Informacje o sieci
Wyświetlanie niepoprawnych (słabych) uprawnień
Wyświetlanie listy zainstalowanych programów
Wyświetlanie listy zadań i procesów
- Przesyłanie plików
Cel - komputer z systemem Windows
Cel - komputer z systemem Linux
- Wykorzystywanie podatności i luk w zabezpieczeniach systemu Windows
Exploity dla jądra systemu Windows
Sprawdzanie wersji systemu operacyjnego
Wyszukiwanie odpowiedniego exploita
Uruchamianie exploita i uzyskanie powłoki na prawach administratora
Eskalacja uprawnień - magia Metasploita
Wykorzystywanie podatności i luk w zabezpieczeniach aplikacji Windows
Uruchamianie poleceń w kontekście innego użytkownika systemu Windows
Program PSExec
Wykorzystywanie podatności i luk w zabezpieczeniach usług w systemie Windows
Interakcja z usługami Windows
Nieprawidłowo skonfigurowane uprawnienia usług
Nadpisywanie pliku wykonywalnego usługi
Niepoprawnie skonfigurowana ścieżka usługi
Nieprawidłowe uprawnienia w rejestrze
Wykorzystywanie podatności i luk w zabezpieczeniach zaplanowanych zadań
Zautomatyzowane narzędzia wspomagające eskalację uprawnień
PowerUp
WinPEAS
- Podsumowanie
Rozdział 12. Pivoting i ruch poprzeczny
- Wyodrębnianie skrótów haseł w systemie Windows
Skróty NTLM haseł w systemie Windows
Plik SAM i wyodrębnianie skrótów haseł
Korzystanie ze skrótów haseł
Mimikatz
Pobieranie skrótów haseł z Active Directory
Ponowne wykorzystanie haseł i ich skrótów
Atak z przekazywaniem skrótu hasła
- Pivoting z przekierowywaniem portów
Koncepcje przekierowywania portów
Tunelowanie SSH i lokalne przekierowywanie portów
Przekierowywanie portów zdalnych przy użyciu SSH
Dynamiczne przekierowywanie portów
Dynamiczne przekierowywanie portów przy użyciu SSH
- Podsumowanie
Rozdział 13. Kryptografia i łamanie skrótów haseł
- Podstawy kryptografii
Podstawy haszowania
Jednokierunkowe funkcje skrótu
Zastosowania funkcji skrótu
Algorytmy haszujące
Algorytm MD5
Algorytm SHA
Haszowanie haseł
Zabezpieczanie haseł za pomocą haszowania
Algorytm HMAC
Podstawy szyfrowania
Szyfrowanie symetryczne
Algorytm AES
Szyfrowanie asymetryczne
Algorytm RSA
- Łamanie haseł za pomocą programu Hashcat
Testowanie wydajności
Łamanie haszy w praktyce
Tryby ataku
Tryb prosty
Atak kombinatoryczny
Maski i ataki typu brute force
Ataki typu brute force
Ataki hybrydowe
Łamanie skrótów - jak to wygląda w praktyce
- Podsumowanie
Rozdział 14. Raportowanie
- Znaczenie raportów w testach penetracyjnych
- Ocena poziomu krytyczności podatności i luk w zabezpieczeniach
CVSS v3.1 - otwarty system oceny podatności na zagrożenia
- Prezentacja raportu
Strona tytułowa
Dzienniki zmian
Podsumowanie raportu
Sekcja podatności
- Podsumowanie
Rozdział 15. Język asembler i inżynieria odwrotna
- Rejestry procesora
Rejestry ogólnego przeznaczenia
Rejestry indeksowe
Rejestry wskaźnikowe
Rejestry segmentów
Rejestr flag
- Instrukcje języka asembler
Kolejność bajtów - little endian
- Typy danych
- Segmenty pamięci
- Tryby adresowania
- Przykład inżynierii odwrotnej
Pakiet Visual Studio Code dla języka C/C++
Pakiet Immunity Debugger do inżynierii odwrotnej
- Podsumowanie
Rozdział 16. Przepełnienia bufora i stosu
- Jak działa przepełnienie stosu?
Jak działa stos?
Instrukcja PUSH
Instrukcja POP
Przykład programu w języku C
Analiza bufora za pomocą programu Immunity Debugger
Przepełnienie stosu
Mechanizm przepełnienia stosu
- Wykorzystywanie podatności na przepełnienie stosu
Wyposażenie naszego laboratorium
Aplikacja podatna na przepełnienie bufora
Faza 1. Testowanie
Testowanie szczęśliwej ścieżki
Testowanie awarii serwera
Faza 2. Rozmiar bufora
Tworzenie wzorca
Lokalizacja przesunięcia
Faza 3. Sterowanie wskaźnikiem EIP
Dodawanie instrukcji JMP
Faza 4. Wstrzyknięcie ładunku i uzyskanie zdalnej powłoki
Generowanie ładunku
Niepoprawne znaki
Shellcode w skrypcie Pythona
- Podsumowanie
Rozdział 17. Programowanie w języku Python
- Podstawy języka Python
- Uruchamianie skryptów języka Python
- Debugowanie skryptów w języku Python
Instalowanie pakietu Visual Studio Code w systemie Kali Linux
- Programowanie w języku Python
- Podstawowa składnia poleceń języka Python
Wiersz shebang w języku Python
Komentarze w języku Python
Wcięcia wierszy i importowanie modułów
Wprowadzanie danych i wyświetlanie informacji na ekranie
Wyświetlanie argumentów przekazanych w wierszu wywołania
- Zmienne
Zmienne numeryczne
Operatory arytmetyczne
Ciągi znaków
Formatowanie ciągów znaków
Funkcje tekstowe
Listy
Odczytywanie wartości z listy
Aktualizowanie elementów listy
Usuwanie elementów listy
Krotki
Słowniki
- Inne techniki programowania w języku Python
Funkcje
Zwracanie wartości
Argumenty opcjonalne
Zmienne globalne
Zmiana wartości zmiennych globalnych
Instrukcje warunkowe
Instrukcja if-else
Operatory porównania
Pętle
Pętla while
Pętla for
Zarządzanie plikami
Obsługa wyjątków
Znaki specjalne
Niestandardowe obiekty w języku Python
- Podsumowanie
Rozdział 18. Automatyzacja testów penetracyjnych za pomocą Pythona
- Program Pentest Robot
Sposób działania aplikacji
Pakiety dla języka Python
Uruchamianie aplikacji
Walidacja danych wejściowych
Refaktoryzacja kodu
Skanowanie w poszukiwaniu aktywnych hostów
Skanowanie portów i usług
Atak na dane uwierzytelniające i zapisywanie wyników działania
- Podsumowanie
Dodatek A. Kali Linux Desktop w skrócie
- Pobieranie i uruchamianie maszyny wirtualnej z systemem Kali Linux
Pierwsze uruchomienie maszyny wirtualnej
- Pulpit środowiska Xfce w systemie Kali Linux
Menu interfejsu graficznego Xfce w systemie Kali Linux
Pasek wyszukiwania
Menu Favorites
Menu Usual Applications
Inne polecenia menu
Menedżer ustawień środowiska Xfce
Zaawansowana konfiguracja ustawień sieci
Okno Appearance
Okno Desktop
Okno Display
File Manager
Okno Keyboard
Okno MIME Type Editor
Okno Mouse and Touchpad
Panel górny
Okno Workspaces
Okno Window Manager
Praktyczny przykład dostosowywania pulpitu do własnych potrzeb
Edycja górnego panelu
Dodawanie nowego panelu dolnego
Zmiana wyglądu pulpitu
Instalowanie systemu Kali Linux od podstaw
- Podsumowanie
Dodatek B. Tworzenie środowiska laboratoryjnego przy użyciu Dockera
- Technologia Docker
Podstawy pracy z Dockerem
Instalacja Dockera
Obrazy i rejestry obrazów
Kontenery
Dockerfile
Woluminy
Praca w sieci
Kontener Mutillidae
- Podsumowanie
Skorowidz
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.