E-book details

Laboratorium cyberbezpieczeństwa w Dockerze. Zrób to sam

Laboratorium cyberbezpieczeństwa w Dockerze. Zrób to sam

Krzysztof Godzisz

Ebook

Izolacja procesów i środowisk to dziś jeden z najważniejszych mechanizmów zapewniania bezpieczeństwa systemów IT. Dzięki temu możemy nie tylko bezpiecznie uruchamiać niezaufane zasoby, ale przede wszystkim przeprowadzać testy penetracyjne i badać złośliwe oprogramowanie bez ryzyka, że zainfekuje ono natywne środowisko. Jedną z najwyższych form izolacji jest konteneryzacja - użytkownik ma wówczas praktycznie całkowitą kontrolę na relacją pomiędzy kontenerem a systemem operacyjnym hosta.

W ostatnich latach na lidera konteneryzacji wyrosło środowisko uruchomieniowe Docker. Dzięki funkcjonalności, wygodnej obsłudze i szerokiej kompatybilności z różnymi systemami operacyjnymi stanowi on dziś techniczny standard. Docker otwiera przed badaczami cyberbezpieczeństwa nowe możliwości testowania oprogramowania pod kątem bezpieczeństwa i analizy wszelkiej maści malware bez konieczności budowania kosztownej infrastruktury - dzięki Dockerowi i konteneryzacji swoje laboratorium można zbudować w obrębie pojedynczej stacji roboczej.

Laboratorium cyberbezpieczeństwa w Dockerze. Zrób to sam to przewodnik instruujący krok po kroku, jak zbudować własne laboratorium w kontenerze Dockera. Szczegółowo omawia proces instalacji środowiska na różnych dystrybucjach Linuksa i jego konfiguracji, a także kwestie związane z zarządzaniem kontenerami i budowaniem zależności.

Najważniejsze zagadnienia:

  • instalacja i konfiguracja Dockera
  • zarządzanie kontenerami
  • budowanie sieci Dockera
  • obsługa narzędzi pentesterskich
  • budowanie i uruchamianie multikontenerów
  • zarządzanie podatnościami

Zbuduj własny cybersec lab - najlepiej w Dockerze!

Przedmowy

Od autora

ROZDZIAŁ 1. Czym jest Docker

  • 1.1. Kontenery
  • 1.2. Obrazy
  • 1.3. Komunikacja między kontenerami
  • 1.4. Czy Docker jest dla mnie?
  • Podsumowanie

ROZDZIAŁ 2. Instalacja Dockera w systemach Linux

  • 2.1. Dystrybucja Debian
    • 2.1.1. Instalacja z wykorzystaniem repozytorium Debiana
    • 2.1.2. Instalacja z wykorzystaniem repozytorium Dockera
    • 2.1.3. Instalacja określonej wersji dockera
  • 2.2. Dystrybucja Ubuntu
    • 2.2.1. Instalacja z wykorzystaniem repozytorium Ubuntu
    • 2.2.2. Instalacja z wykorzystaniem repozytorium Dockera
    • 2.2.3. Instalacja określonej wersji Dockera
  • 2.3. Dystrybucja Fedora
    • 2.3.1. Instalacja z wykorzystaniem repozytorium Fedory
    • 2.3.2. Instalacja z wykorzystaniem repozytorium Dockera
    • 2.3.3. Instalacja określonej wersji Dockera
  • 2.4. Dystrybucja CentOS
    • 2.4.1. Instalacja z wykorzystaniem repozytorium CentOS
    • 2.4.2. Instalacja z wykorzystaniem repozytorium Dockera
    • 2.4.3. Instalacja określonej wersji Dockera
  • 2.5. Instalacja z paczki
    • 2.5.1. Instalacja w systemach Debian oraz Ubuntu
    • 2.5.2. Dla systemu Fedora
    • 2.5.3. Dla systemu CentOS
  • 2.6. Instalacja Dockera za pomocą plików binarnych
  • 2.7. Sprawdzenie, czy instalacja zakończyła się powodzeniem
  • 2.8. Błędy, z jakimi możesz się spotkać
    • 2.8.1. Błąd podczas uruchomienia
    • 2.8.2. Zduplikowane repozytoria
    • 2.8.3. Brak uprawnień
  • 2.9. Korzystanie z Dockera na koncie bez uprawnień administracyjnych
  • Podsumowanie

ROZDZIAŁ 3. Obrazy Dockera

  • 3.1. Obrazy w Dockerze
    • 3.1.1. Obrazy oficjalne
    • 3.1.2. Obrazy użytkownika
  • 3.2. Wyświetlanie obrazów
  • 3.3. Usuwanie zbędnych obrazów
  • 3.4. Obrazy dystrybucji Linux a obrazy systemu Windows
  • 3.5. Jak szukać obrazów
  • Podsumowanie

ROZDZIAŁ 4. Kontenery Dockera

  • 4.1. Tworzenie kontenera
  • 4.2. Usuwanie zbędnych kontenerów
  • 4.3. Uruchomienie kontenera
  • 4.4. Uruchomienie istniejącego kontenera
  • 4.5. Wejście do powłoki kontenera
  • 4.6. Zatrzymanie działania kontenera
  • 4.7. Dlaczego musimy tworzyć kontener w taki sposób?
  • Podsumowanie

ROZDZIAŁ 5. Sieci Dockera

  • 5.1. Automatycznie generowana sieć Dockera
  • 5.2. Własna sieć
  • 5.3. Podłączenie do sieci
  • 5.4. Odłączanie od sieci
  • 5.5. Testujemy naszą sieć
  • 5.6. Dodawanie kontenera do nowej sieci w trakcie jego tworzenia
  • Podsumowanie

ROZDZIAŁ 6. Metasploitable2 i Docker

  • 6.1. Czym jest Metasploitable
  • 6.2. Utworzenie własnej sieci
  • 6.3. Pobranie obrazów oraz utworzenie kontenerów
  • 6.4. Instalacja niezbędnego oprogramowania w kontenerze
  • 6.5. Uzyskujemy dostęp do kontenera
  • Podsumowanie

ROZDZIAŁ 7. Uruchamianie DVWA, czyli porty oraz kopiowanie i zamiana plików w kontenerze

  • 7.1. Pobranie obrazu DVWA
  • 7.2. Utworzenie oraz uruchomienie kontenera
  • 7.3. Operacje na plikach
    • 7.3.1. Modyfikacja plików wewnątrz kontenera
    • 7.3.2. Modyfikacja plików kontenera poza kontenerem
  • 7.4. reCAPTCHA key
  • 7.5. Start DVWA
  • Podsumowanie

ROZDZIAŁ 8. Kontener Kali Linux z GUI

  • 8.1. Pobranie obrazu, uruchomienie kontenera i wszystko, co do tej pory poznałeś
  • 8.2. Konfiguracja tightvncserver
  • 8.3. Logowanie do kontenera
  • Podsumowanie

ROZDZIAŁ 9. Dockerfile - przygotowujemy obraz Kali Linux

  • 9.1. Tworzenie pliku Dockerfile
  • 9.2. Dodanie systemu bazowego
  • 9.3. Określenie twórcy obrazu
  • 9.4. Instalacja niezbędnego oprogramowania
  • 9.5. Polecenia automatycznie uruchamiane w kontenerze
  • 9.6. Utworzenie obrazu oraz jego uruchomienie
  • 9.7. Serwer Apache
  • 9.8. Opis etykiet, jakie możesz wykorzystać w Dockerfile
    • 9.8.1. FROM
    • 9.8.2. RUN
    • 9.8.3. CMD
    • 9.8.4. ENTRYPOINT
    • 9.8.5. COPY i ADD
    • 9.8.6. EXPOSE
    • 9.8.7. ENV
    • 9.8.8. VOLUME
    • 9.8.9. USER
    • 9.8.10. WORKDIR
  • Podsumowanie

ROZDZIAŁ 10. Woluminy, czyli współdzielenie zasobów w Dockerze

  • 10.1. Tworzenie współdzielonej przestrzeni
  • 10.2. Współdzielenie pomiędzy kontenerami
  • 10.3. Miejsce montowania woluminów
  • 10.4. Pliki dodawane do woluminu poza kontenerami
  • 10.5. Wolumin udostępniony w określonym miejscu
  • 10.6. Praktyczny przykład
  • 10.7. Usuwanie woluminów
  • Podsumowanie

ROZDZIAŁ 11. Multikontener - uruchamiamy Wordpressa

  • 11.1. Instalacja Docker Compose
  • 11.2. Docker Compose i plik .yaml
  • 11.3. Tworzymy pierwszy plik multikontenera
    • 11.3.1. Wersja
    • 11.3.2. Aplikacje - services
  • 11.4. Uruchomienie multikontenera
  • 11.5. Sieć
  • Podsumowanie

ROZDZIAŁ 12. Instalacja oraz obsługa Greenbone Vulnerability Manager

  • 12.1. Instalacja Greenbone Vulnerability Manager
    • 12.1.1. Tworzymy katalog
    • 12.1.2. Dokładniejsze objaśnienie powyższego polecenia
    • 12.1.3. Pobranie pliku
    • 12.1.4. Pobranie obrazów oraz uruchomienie kontenerów
  • 12.2. Zmiana hasła
  • 12.3. Brak bazy SCAP
  • 12.4. Dodawanie kontenerów do sieci
  • 12.5. Uruchomienie Metasploitable2
  • 12.6. Konfigurowanie aplikacji do skanowania
    • 12.6.1. Tworzenie celu
    • 12.6.2. Przeprowadzenie skanowania
  • Podsumowanie

ROZDZIAŁ 13. Greenbone Vulnerability Manager - raporty i wykorzystanie kilku luk

  • 13.1. Wyświetlanie raportu
  • 13.2. Co to jest CVE oraz inne przydatne informacje
  • 13.3. Wykorzystanie pierwszej luki
  • 13.4. Samba MS-RPC Remote Shell Command Execution Vulnerability
  • 13.5. DistCC RCE Vulnerability (CVE-2004-2687)
  • 13.6. PostgreSQL weak password
  • Podsumowanie

ROZDZIAŁ 14. Instalacja Juice Shop oraz przetestowanie kilku luk

  • 14.1. Pwning OWASP Juice Shop
    • 14.1.1. Instalacja aplikacji
  • 14.2. Więcej o Juice Shop
  • 14.3. Pierwsze wyzwanie
  • 14.4. Dostęp do konta administratora
  • 14.5. XSS Injection
  • Podsumowanie

Zakończenie. Co dalej?

DODATEK A. Tworzenie konta na platformie DockerHub i przesyłanie do niej obrazów

DODATEK B. Lista przydatnych narzędzi uruchamianych w Dockerze

DODATEK C. Odnośniki do CTF uruchamianych w Dockerze

  • Title: Laboratorium cyberbezpieczeństwa w Dockerze. Zrób to sam
  • Author: Krzysztof Godzisz
  • ISBN: 978-83-289-0570-2, 9788328905702
  • Date of issue: 2023-07-18
  • Format: Ebook
  • Item ID: twpila
  • Publisher: Helion