Etyczny haking. Praktyczne wprowadzenie do hakingu - ebook
Etyczny haking. Praktyczne wprowadzenie do hakingu - ebook
Zdajesz sobie sprawę, że tylko w 2021 roku cyberprzestępcy ukradli ponad 100 milionów dolarów w kryptowalutach, próbowali zatruć wodę na Florydzie, włamali się do sieci firmowej Pfizer Pharmaceuticals, zaatakowali Colonial Pipeline przy użyciu oprogramowania ransomware, atakowali agencje rządowe i działaczy politycznych licznych państw? Tego rodzaju ataki mogą mieć poważne konsekwencje społeczne i ekonomiczne. Nasze bezpieczeństwo zależy więc od możliwości zabezpieczenia infrastruktury. W tym celu potrzebujemy etycznych hakerów, którzy odkrywają luki w zabezpieczeniach, zanim zostaną wykorzystane przez niebezpiecznych i bezwzględnych ludzi.
Ta książka, będąca szybkim kursem nowoczesnych technik hakerskich, przedstawia różne rodzaje cyberataków, wyjaśnia ich podstawy technologiczne i omawia służące im narzędzia. Dowiesz się, w jaki sposób przechwytywać ruch sieciowy i badać pozyskane pakiety. Nauczysz się zdalnie uruchamiać polecenia na komputerze ofiary i napiszesz własny ransomware. Przeczytasz o tym, jak wykrywać nowe luki w oprogramowaniu, jak tworzyć trojany i rootkity, a także jak używać techniki wstrzykiwania SQL. Zapoznasz się również z szeroką gamą narzędzi do przeprowadzania testów penetracyjnych (takich jak Metasploit Framework, mimikatz i BeEF), rozeznasz się w działaniu zaawansowanych fuzzerów i sposobach szyfrowania ruchu internetowego. Poznasz też wewnętrzne mechanizmy złośliwego oprogramowania.
Dowiedz się, jak:
- prowadzić ataki typu cross-site scripting
- pisać własne narzędzia hakerskie w języku Python
- przechwytywać hasła w firmowej sieci Windows
- skanować urządzenia w internecie i znajdować potencjalne ofiary
- instalować linuksowe rootkity i modyfikować system operacyjny ofiary
Włamuj się jak prawdziwy ekspert!
Spis treści
Przedmowa
Wstęp
- Dlaczego warto przeczytać tę książkę?
- Instalowanie Pythona
- Jakie informacje znajdują się w książce?
1. Konfiguracja środowiska
- Wirtualne laboratorium
- Konfiguracja VirtualBox
- Konfiguracja pfSense
- Konfiguracja sieci wewnętrznej
- Konfiguracja pfSense
- Konfigurowanie Metasploitable
- Konfigurowanie Kali Linux
- Konfigurowanie maszyny Ubuntu Linux Desktop
- Twój pierwszy atak: wykorzystanie backdoora w Metasploitable
- Uzyskiwanie adresu IP serwera Metasploitable
- Korzystanie z backdoora w celu uzyskania dostępu
Część I. Podstawy sieci
2. Przechwytywanie ruchu za pomocą techniki ARP spoofing
- Jak przesyłane są dane w Internecie
- Pakiety
- Adresy MAC
- Adresy IP
- Tabele ARP
- Ataki ARP spoofing
- Wykonywanie ataku ARP spoofing
- Wykrywanie ataku ARP spoofing
- Ćwiczenia
- Sprawdź tabele ARP
- Zaimplementuj ARP spoofer w Pythonie
- MAC flooding
3. Analiza przechwyconego ruchu
- Pakiety i stos protokołów internetowych
- Pięciowarstwowy stos protokołów internetowych
- Przeglądanie pakietów w Wiresharku
- Analizowanie pakietów zebranych przez zaporę sieciową
- Przechwytywanie ruchu na porcie 80
- Ćwiczenia
- pfSense
- Eksplorowanie pakietów w narzędziu Wireshark
4. Tworzenie powłok TCP i botnetów
- Gniazda i komunikacja międzyprocesowa
- Uzgadnianie połączenia TCP (ang. TCP handshake)
- Odwrócona powłoka TCP (ang. TCP reverse shell)
- Dostęp do maszyny ofiary
- Skanowanie w poszukiwaniu otwartych portów
- Tworzenie klienta odwróconej powłoki
- Tworzenie serwera TCP, który czeka na połączenia klientów
- Ładowanie odwróconej powłoki na serwer Metasploitable
- Botnety
- Ćwiczenia
- Serwer botów dla wielu klientów
- Skany SYN
- Wykrywanie skanów XMas
Część II. Kryptografia
5. Kryptografia i ransomware
- Szyfrowanie
- Szyfr z kluczem jednorazowym
- Generatory liczb pseudolosowych
- Niebezpieczne tryby szyfru blokowego
- Bezpieczne tryby szyfru blokowego
- Szyfrowanie i odszyfrowywanie pliku
- Szyfrowanie wiadomości e-mail
- Kryptografia klucza publicznego
- Teoria Rivesta-Shamira-Adlemana
- Podstawy matematyczne RSA
- Szyfrowanie pliku za pomocą RSA
- Optymalne dopełnienie szyfrowania asymetrycznego
- Tworzenie oprogramowania ransomware
- Ćwiczenia
- Serwer ransomware
- Rozszerzanie funkcjonalności klienta ransomware
- Nierozwiązane szyfrogramy
6. TLS i protokół Diffiego-Hellmana
- Zabezpieczenia warstwy transportowej (TLS)
- Uwierzytelnianie wiadomości
- Urzędy certyfikacji i podpisy
- Urzędy certyfikacji
- Używanie algorytmu Diffiego-Hellmana do obliczania klucza współdzielonego
- Krok 1.: Generowanie parametrów współdzielonych
- Krok 2.: Generowanie pary kluczy publiczny - prywatny
- Dlaczego haker nie może obliczyć klucza prywatnego?
- Krok 3.: Wymiana klucza i klucz jednorazowy
- Krok 4.: Obliczanie współdzielonego tajnego klucza
- Krok 5.: Otrzymywanie klucza
- Atak na algorytm Diffiego-Hellmana
- Krzywa eliptyczna Diffiego-Hellmana
- Matematyka krzywych eliptycznych
- Algorytm podwajania i dodawania
- Dlaczego haker nie może użyć Gxy i axy do obliczenia klucza prywatnego A?
- Zapisywanie do gniazd TLS
- Bezpieczne gniazdo klienta
- Bezpieczne gniazdo serwera
- Usuwanie SSL (ang. stripping SSL) i obejście HSTS (ang. HSTS bypass)
- Ćwiczenie: Dodaj szyfrowanie do serwera ransomware
Część III. Socjotechnika
7. Phishing i deepfake
- Fałszywe e-maile
- Wykonywanie wyszukiwania DNS (ang. DNS lookup) przez serwer pocztowy
- Komunikacja za pomocą SMTP
- Tworzenie sfałszowanego e-maila
- Podszywanie się pod e-maile w protokole SMTPS
- Fałszowanie stron internetowych
- Tworzenie fałszywych filmów
- Dostęp do Google Colab
- Importowanie modeli uczenia maszynowego
- Ćwiczenia
- Klonowanie głosu
- Wyłudzanie informacji
- Audyt SMTP
8. Skanowanie celów
- Analiza sieci powiązań
- Maltego
- Bazy danych z ujawnionymi poświadczeniami
- Przejmowanie karty SIM
- Google dorking
- Skanowanie całego Internetu
- Masscan
- Shodan
- Ograniczenia IPv6 i NAT
- Protokół internetowy w wersji 6 (IPv6)
- NAT
- Bazy danych podatności
- Skanery podatności
- Ćwiczenia
- Skanowanie za pomocą nmap
- Discover
- Tworzenie własnego narzędzia OSINT
Część IV. Wykorzystanie luk
9. Zastosowanie metody fuzzingu dla podatności typu zero-day
- Studium przypadku: Wykorzystanie luki Heartbleed dla OpenSSL
- Tworzenie exploita
- Rozpoczęcie programu
- Tworzenie wiadomości Client Hello
- Odczytywanie odpowiedzi serwera
- Tworzenie złośliwego żądania Heartbeat
- Nieuprawniony odczyt pamięci
- Tworzenie funkcji exploita
- Składanie wszystkiego w całość
- Fuzzing
- Prosty przykład
- Tworzenie własnego fuzzera
- American Fuzzy Lop
- Wykonanie symboliczne
- Wykonanie symboliczne dla programu testowego
- Ograniczenia wykonania symbolicznego
- Dynamiczne wykonanie symboliczne
- Używanie DSE do łamania hasła
- Tworzenie wykonywalnego pliku binarnego
- Instalowanie i uruchamianie Angr
- Program Angr
- Ćwiczenia
- Zdobądź flagę za pomocą Angr
- Fuzzing protokołów internetowych
- Fuzzing projektu open source
- Zaimplementuj własny mechanizm DSE
10. Tworzenie trojanów
- Studium przypadku: Odtworzenie działania Drovoruba za pomocą Metasploita
- Budowanie serwera atakującego
- Tworzenie klienta ofiary
- Wgrywanie złośliwego oprogramowania
- Korzystanie z agenta atakującego
- Dlaczego potrzebujemy modułu jądra ofiary
- Tworzenie trojana
- Hosting trojana
- Pobieranie zainfekowanego pliku
- Kontrolowanie pracy złośliwego kodu
- Omijanie antywirusa za pomocą enkoderów
- Enkoder Base64
- Tworzenie modułu Metasploit
- Enkoder Shikata Ga Nai
- Tworzenie trojana Windows
- Ukrywanie trojana w grze Saper
- Ukrywanie trojana w dokumencie programu Word (lub innym pliku)
- Tworzenie trojana na Androida
- Dekonstrukcja pliku APK w celu wyświetlenia złośliwego kodu
- Ponowne budowanie i podpisywanie pliku APK
- Testowanie trojana na Androida
- Ćwiczenia
- Evil-Droid
- Tworzenie własnej złośliwej aplikacji w Pythonie
- Zaciemnij kod
- Zbuduj plik wykonywalny dla konkretnej platformy
11. Budowanie i instalowanie rootkitów w Linuxie
- Tworzenie modułu jądra Linux
- Tworzenie kopii zapasowej maszyny wirtualnej Kali Linux
- Pisanie kodu modułu
- Kompilowanie i uruchamianie modułu jądra
- Modyfikowanie wywołań systemowych
- Jak działają wywołania systemowe
- Zastosowanie techniki hookingu dla wywołań systemowych
- Przechwytywanie wywołania systemowego odpowiedzialnego za zamknięcie systemu
- Ukrywanie plików
- Struktura linux_dirent
- Tworzenie kodu do hookingu
- Zastosowanie Armitage do włamywania się do hosta i instalowania rootkita
- Skanowanie sieci
- Wykorzystywanie luki hosta
- Instalowanie rootkita
- Ćwiczenia
- Keylogger
- Samoukrywający się moduł
12. Kradzież i łamanie haseł
- SQL injection
- Kradzież haseł z bazy danych witryny
- Wyszukiwanie plików na serwerze WWW
- Wykonywanie ataku typu SQL injection
- Tworzenie własnego narzędzia do wstrzykiwania zapytań SQL
- Omówienie żądań HTTP
- Tworzenie programu do wstrzykiwania zapytań
- Korzystanie z SQLMap
- Uzyskiwanie skrótu hasła
- Anatomia skrótu MD5
- Łamanie skrótów
- Solenie skrótu za pomocą klucza jednorazowego
- Popularne narzędzia do łamania skrótów i do brutalnego łamania haseł
- John the Ripper
- Hashcat
- Hydra
- Ćwiczenia
- Wstrzykiwanie kodu NoSQL
- Brutalne logowanie do aplikacji webowej
- Burp Suite
13. Atak typu cross-site scripting
- Cross-site scripting
- W jaki sposób kod JavaScript może się stać złośliwy
- Ataki typu stored XSS
- Ataki typu reflected XSS
- Korzystanie z narzędzia Browser Exploitation Framework
- Wstrzykiwanie zaczepu BeEF
- Wykonywanie ataku socjotechnicznego
- Przejście z przeglądarki do komputera
- Studium przypadku: Ominięcie zabezpieczeń starej wersji przeglądarki Chrome
- Instalowanie rootkitów poprzez wykorzystanie luk w serwisie internetowym
- Ćwiczenie: Polowanie na błędy w ramach programu Bug Bounty
Część V. Kontrolowanie sieci
14. Pivoting i podnoszenie uprawnień
- Pivoting za pomocą urządzenia dual-homed
- Konfiguracja urządzenia dual-homed
- Podłączanie maszyny do sieci prywatnej
- Pivoting za pomocą Metasploita
- Tworzenie proxy po stronie atakującego
- Gdzie Linux przechowuje nazwy i hasła użytkowników
- Wykonywanie ataku Dirty COW w celu podniesienia uprawnień
- Ćwiczenia
- Dodawanie obsługi NAT do urządzenia dual-homed
- Przydatne informacje na temat podnoszenia uprawnień w systemie Windows
15. Poruszanie się po korporacyjnej sieci windows
- Przekazywanie skrótu za pomocą NT LAN Manager
- Eksploracja firmowej sieci Windows
- Atakowanie usługi DNS
- Atakowanie usług Active Directory i LDAP
- Tworzenie klienta zapytań LDAP
- Używanie SharpHound i BloodHound w celu sondowania usługi LDAP
- Atakowanie Kerberosa
- Atak typu pass-the-ticket
- Ataki golden ticket i DC sync
- Ćwiczenie: Kerberoasting
16. Następne kroki
- Konfigurowanie bezpiecznego środowiska hakerskiego
- Jak pozostać anonimowym dzięki narzędziom Tor i Tails
- Konfigurowanie wirtualnego serwera prywatnego
- Konfigurowanie SSH
- Instalowanie narzędzi hakerskich
- Utwardzanie serwera
- Audyt utwardzonego serwera
- Inne tematy
- Radia definiowane programowo
- Atakowanie infrastruktury telefonii komórkowej
- Omijanie sieci typu Air Gap
- Inżynieria wsteczna
- Fizyczne narzędzia hakerskie
- Informatyka śledcza
- Hakowanie systemów przemysłowych
- Obliczenia kwantowe
- Bądź aktywny
Skorowidz
Kategoria: | Hacking |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-9431-5 |
Rozmiar pliku: | 13 MB |