PowerShell w cyberbezpiecze - Helion

Autor: Miriam C. Wiesner, Tanya Janca (foreword)
ISBN: 978-83-289-2225-9
okładka: mi
Księgarnia: Helion
ISBN: 978-83-289-2225-9
okładka: mi
Księgarnia: Helion
Książka będzie dostępna od kwietnia 2025
Zobacz także:
- Biologika Sukcesji Pokoleniowej. Sezon 3. Konflikty na terytorium 117,27 zł, (12,90 zł -89%)
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Podręcznik startupu. Budowa wielkiej firmy krok po kroku 92,14 zł, (12,90 zł -86%)
- Ruby on Rails. Ćwiczenia 18,75 zł, (3,00 zł -84%)
- Prawa ludzkiej natury 75,88 zł, (12,90 zł -83%)
Spis treści
PowerShell w cyberbezpieczeństwie. Automatyzacja zadań, tworzenie skryptów, hakowanie i obrona. Red Team kontra Blue Team -- spis treści
O autorce
O recenzentach
Przedmowa
Wstęp
CZĘŚĆ 1. Podstawy PowerShella
- Rozdział 1. Pierwsze kroki z PowerShellem
- Wymagania techniczne
- Czym jest PowerShell?
- Historia powłoki PowerShell
- Dlaczego powłoka PowerShell jest tak użyteczna w kontekście cyberbezpieczeństwa?
- Rozpoczęcie pracy z PowerShellem
- Wprowadzenie do programowania zorientowanego obiektowo (OOP)
- Windows PowerShell
- PowerShell Core
- Polityka wykonywania skryptów (Execution Policy)
- System pomocy
- Wersje PowerShella
- Edytory skryptów powłoki PowerShell
- Podsumowanie
- Gdzie warto zajrzeć?
- Rozdział 2. Podstawy skryptów PowerShell
- Wymagania techniczne
- Zmienne
- Typy danych
- Zmienne automatyczne
- Zmienne środowiskowe
- Słowa zastrzeżone i słowa kluczowe
- Zasięg zmiennych
- Operatory
- Operatory arytmetyczne
- Operatory porównania
- Operatory przypisania
- Operatory logiczne
- Struktury sterujące
- Warunki
- Pętle i iteracje
- Konwencje nazewnictwa
- Wyszukiwanie zatwierdzonych czasowników
- Profile PowerShell
- Dyski PSDrives w PowerShellu
- Tworzenie kodu wielokrotnego użytku
- Polecenia cmdlet
- Funkcje
- Różnica między poleceniami cmdlet a funkcjami zaawansowanymi
- Aliasy
- Moduły
- Podsumowanie
- Gdzie warto zajrzeć?
- Rozdział 3. Technologie PowerShell Remote Management i PSRemoting
- Wymagania techniczne
- Praca zdalna z PowerShellem
- PowerShell Remoting przy użyciu WinRM
- Windows Management Instrumentation (WMI) i Common Information Model (CIM)
- Open Management Infrastructure (OMI)
- PowerShell Remoting przy użyciu SSH
- Włączanie PowerShell Remoting
- Ręczne włączanie PowerShell Remoting
- Konfigurowanie PowerShell Remoting za pomocą zasad grupy (Group Policy)
- Punkty końcowe PowerShell (konfiguracje sesji)
- Łączenie się z określonym punktem końcowym
- Tworzenie niestandardowego punktu końcowego - spojrzenie na JEA
- Uwierzytelnianie i kwestie bezpieczeństwa PowerShell Remoting
- Uwierzytelnianie
- Protokoły uwierzytelniania
- Zagadnienia związane z bezpieczeństwem uwierzytelniania typu Basic
- Kradzież poświadczeń w kontekście PowerShell Remoting
- Wykonywanie poleceń przy użyciu PowerShell Remoting
- Wykonywanie pojedynczych poleceń i bloków skryptów
- Praca z sesjami PowerShell
- Najlepsze praktyki
- Podsumowanie
- Gdzie warto zajrzeć?
- Rozdział 4. Wykrywanie - audyt i monitorowanie
- Wymagania techniczne
- Konfigurowanie rejestrowania zdarzeń PowerShell
- Logowanie działania modułów PowerShell
- Rejestrowanie działania bloków skryptów PowerShell
- Chronione rejestrowanie zdarzeń
- Transkrypcje PowerShell
- Analiza dzienników zdarzeń
- Wyszukiwanie dzienników zdarzeń dostępnych w systemie
- Ogólne zapytania dotyczące zdarzeń
- Jaki kod został wykonany w systemie?
- Ataki typu downgrade
- EventList
- Wprowadzenie do rejestrowania zdarzeń
- Przegląd najważniejszych dzienników zdarzeń związanych z PowerShellem
- Zwiększanie maksymalnego rozmiaru dziennika
- Podsumowanie
- Gdzie warto zajrzeć?
CZĘŚĆ 2. Odkrywamy tajemnice - AD/AAD, tożsamości, dostęp do systemu i codzienne zadania związane z bezpieczeństwem
- Rozdział 5. PowerShell to narzędzie o ogromnych możliwościach - dostęp do systemu i interfejsów API
- Wymagania techniczne
- Wprowadzenie do rejestru systemu Windows
- Praca z rejestrem
- Scenariusze użycia rejestru w kontekście bezpieczeństwa
- Uprawnienia użytkownika
- Konfiguracja praw dostępu użytkownika
- Minimalizacja ryzyka poprzez nadawanie uprawnień do tworzenia kopii zapasowych i przywracania danych
- Delegowanie i personifikacja
- Zapobieganie fałszowaniu dzienników zdarzeń
- Zapobieganie kradzieży poświadczeń i atakom z wykorzystaniem pakietu Mimikatz
- Dostęp do systemu i domeny
- Zmiana ustawień czasu systemowego
- Sprawdzanie i konfigurowanie uprawnień użytkownika
- Podstawy interfejsu Windows API
- Wprowadzenie do .NET Framework
- .NET Framework a .NET Core
- Kompilacja kodu C# przy użyciu .NET Framework
- Zastosowanie polecenia Add-Type do bezpośredniej interakcji z .NET
- Ładowanie niestandardowej biblioteki DLL z poziomu PowerShella
- Wywoływanie Windows API za pomocą mechanizmu P/Invoke
- Model COM i zagrożenia związane z przechwytywaniem COM
- Ataki typu COM hijacking
- Common Information Model (CIM)/WMI
- Przestrzenie nazw
- Dostawcy
- Subskrypcje zdarzeń
- Monitorowanie subskrypcji zdarzeń WMI/CIM
- Manipulowanie instancjami CIM
- Enumeracja
- Gdzie znajduje się baza danych WMI/CIM?
- Uruchamianie PowerShella bez powershell.exe
- Używanie istniejących narzędzi do wywoływania funkcji zestawów
- Binarne pliki wykonywalne
- Wykonywanie poleceń PowerShell z poziomu .NET Framework przy użyciu C#
- Podsumowanie
- Gdzie warto zajrzeć?
- Rozdział 6. Active Directory - ataki i przeciwdziałanie
- Wymagania techniczne
- Wprowadzenie do Active Directory w kontekście bezpieczeństwa
- Jak przebiegają ataki w środowisku korporacyjnym?
- ADSI, akceleratory ADSI, LDAP i przestrzeń nazw System.DirectoryServices
- Wyliczanie
- Wyliczanie kont użytkowników
- Wyliczanie obiektów GPO
- Wyliczanie grup
- Konta i grupy uprzywilejowane
- Wbudowane grupy uprzywilejowane w usłudze AD
- Ataki typu password spraying
- Zapobieganie atakom
- Prawa dostępu
- Czym jest identyfikator SID?
- Listy kontroli dostępu
- Listy ACL dla jednostek OU
- GPO ACL
- Listy ACL dla domeny
- Relacje zaufania domen
- Kradzież danych uwierzytelniających
- Protokoły uwierzytelniania
- Atakowanie uwierzytelniania AD - kradzież danych uwierzytelniających i ruchy boczne
- Zapobieganie
- Konfiguracje bazowe i zestaw narzędzi Microsoft Security Compliance Toolkit
- Podsumowanie
- Gdzie warto zajrzeć?
- Rozdział 7. Hakowanie w chmurze - wykorzystywanie luk i podatności w Azure Active Directory (Entra ID)
- Wymagania techniczne
- Różnice między AD a AAD
- Uwierzytelnianie w AAD
- Tożsamość urządzenia - łączenie urządzeń z AAD
- Tożsamości hybrydowe
- Protokoły i koncepcje
- Uprzywilejowane konta i role
- Dostęp do AAD z poziomu PowerShella
- Azure CLI
- Azure PowerShell
- Ataki na Azure AD
- Anonimowe wyliczanie kont i zasobów AAD
- Ataki typu password spraying
- Uwierzytelnione wyliczanie kont i zasobów AAD
- Kradzież danych uwierzytelniających
- Kradzież tokenów
- Atak typu wyrażenie zgody - trwały dostęp dzięki uprawnieniom aplikacji
- Nadużywanie jednokrotnego logowania (SSO) w Azure AD
- Ataki na uwierzytelnianie typu pass-through (PTA)
- Środki zaradcze
- Podsumowanie
- Gdzie warto zajrzeć?
- Rozdział 8. Zadania i poradnik operacyjny dla zespołów Red Team
- Wymagania techniczne
- Fazy ataków
- Narzędzia PowerShell dla zespołów Red Team
- PowerSploit
- Invoke-Mimikatz
- Empire
- Inveigh
- PowerUpSQL
- AADInternals
- Red Team Cookbook - poradnik operacyjny
- Rekonesans
- Wykonanie
- Trwałość
- Unikanie wykrycia
- Dostęp do danych uwierzytelniających
- Odkrywanie
- Ruch boczny
- Command and Control (C2)
- Eksfiltracja
- Uderzenie
- Podsumowanie
- Gdzie warto zajrzeć?
- Rozdział 9. Zadania i poradnik operacyjny dla zespołów Blue Team
- Wymagania techniczne
- Ochrona, wykrywanie i reagowanie
- Ochrona
- Wykrywanie
- Reagowanie
- Popularne narzędzia PowerShell dla zespołów Blue Team
- PSGumshoe
- PowerShellArsenal
- AtomicTestHarnesses
- PowerForensics
- NtObjectManager
- DSInternals
- PSScriptAnalyzer i InjectionHunter
- Revoke-Obfuscation
- Posh-VirusTotal
- EventList
- JEAnalyzer
- Blue Team Cookbook - poradnik operacyjny
- Sprawdzanie zainstalowanych aktualizacji
- Sprawdzanie brakujących aktualizacji
- Przeglądanie historii poleceń PowerShell wszystkich użytkowników
- Sprawdzanie dziennika zdarzeń zdalnego hosta
- Monitorowanie wykonywania poleceń PowerShell z pominięciem powershell.exe
- Przeglądanie wybranych reguł zapory sieciowej
- Ograniczenie komunikacji PowerShell do prywatnych zakresów adresów IP
- Izolowanie zagrożonego systemu
- Zdalne sprawdzanie zainstalowanego oprogramowania
- Uruchamianie transkrypcji PowerShell
- Sprawdzanie ważności certyfikatów
- Weryfikacja podpisu cyfrowego pliku lub skryptu
- Sprawdzanie praw dostępu do plików i folderów
- Wyświetlanie listy wszystkich uruchomionych usług
- Zatrzymywanie usług
- Wyświetlanie wszystkich procesów
- Zatrzymywanie procesów
- Wyłączanie konta lokalnego
- Włączanie konta lokalnego
- Wyłączanie konta domenowego
- Włączanie konta domenowego
- Wyświetlanie wszystkich ostatnio utworzonych kont domenowych
- Sprawdzanie, czy wybrany port jest otwarty
- Wyświetlanie połączeń TCP i ich procesów inicjujących
- Wyświetlanie połączeń UDP i ich procesów inicjujących
- Wykrywanie ataków typu downgrade przy użyciu dziennika zdarzeń systemu Windows
- Zapobieganie atakom typu downgrade
- Podsumowanie
- Gdzie warto zajrzeć?
CZĘŚĆ 3. Zabezpieczanie PowerShella - skuteczne metody ochrony
- Rozdział 10. Tryby językowe sesji PowerShell i technologia JEA
- Wymagania techniczne
- Czym są tryby językowe w PowerShellu?
- Tryb Full Language
- Tryb Restricted Language
- Tryb No Language
- Tryb Constrained Language
- Czym jest JEA?
- Wprowadzenie do JEA
- Planowanie wdrożenia JEA
- Plik definicji roli
- Plik konfiguracji sesji
- Wdrażanie JEA
- Nawiązywanie połączenia z sesją JEA
- Upraszczanie wdrożenia JEA przy użyciu modułu JEAnalyzer
- Konwersja skryptów na konfigurację JEA
- Wykorzystanie audytu do utworzenia początkowej konfiguracji JEA
- Rejestrowanie zdarzeń w sesjach JEA
- Transkrypcja na żywo
- Dzienniki zdarzeń PowerShell
- Inne dzienniki zdarzeń
- Najlepsze praktyki - minimalizowanie zagrożeń i podatności
- Podsumowanie
- Gdzie warto zajrzeć?
- Rozdział 11. AppLocker, kontrolowanie aplikacji i podpisywanie kodu
- Wymagania techniczne
- Zapobieganie nieautoryzowanemu wykonywaniu skryptów za pomocą podpisywania kodu
- Kontrolowanie aplikacji i skryptów
- Planowanie kontroli aplikacji
- Wbudowane rozwiązania do kontroli aplikacji
- Pierwsze kroki z Microsoft AppLocker
- Wdrażanie funkcji AppLocker
- Audyt zdarzeń AppLocker
- Odkrywamy technologię Windows Defender Application Control
- Tworzenie zasad integralności kodu
- Bezpieczeństwo oparte na wirtualizacji (VBS)
- Wdrażanie WDAC
- Jak zmienia się działanie PowerShella, gdy włączona jest kontrola aplikacji?
- Podsumowanie
- Gdzie warto zajrzeć?
- Rozdział 12. Tajniki interfejsu AMSI
- Wymagania techniczne
- Czym jest AMSI i jak to działa?
- Dlaczego AMSI? Praktyczny przykład
- Przykład 1.
- Przykład 2.
- Przykład 3.
- Przykład 4.
- Przykład 5.
- Przykład 6.
- Omijanie mechanizmu AMSI
- Zapobieganie wykrywaniu plików lub tymczasowe wyłączenie AMSI
- Zaciemnianie kodu
- Kodowanie Base64
- Podsumowanie
- Gdzie warto zajrzeć?
- Rozdział 13. Co jeszcze warto wiedzieć? Dodatkowe metody ochrony i inne przydatne zasoby
- Wymagania techniczne
- Bezpieczne skrypty
- PSScriptAnalyzer
- InjectionHunter
- Poznajemy konfigurację żądanego stanu
- DSC 1.1
- DSC 2.0
- DSC 3.0
- Konfiguracja
- Utwardzanie systemów i środowisk
- Bazowe konfiguracje zabezpieczeń
- Instalacja aktualizacji zabezpieczeń i monitorowanie zgodności poprawek
- Zapobieganie ruchowi bocznemu
- Uwierzytelnianie wieloskładnikowe przy podnoszeniu uprawnień
- Czasowo ograniczone uprawnienia (administracja na żądanie)
- Wykrywanie ataków - identyfikacja i reakcja na zagrożenia w punktach końcowych
- Aktywacja darmowych funkcji ochrony punktów końcowych Microsoft Defender
- Podsumowanie
- Gdzie warto zajrzeć?
Skorowidz