GRAY HAT C# JĘZYK C# W KONTROLI I ŁAMANIU ZABEZPIECZEŃ

53.10

Na stanie

SPIS TREŚCI

Słowo wstępne (11)

Przedmowa (15)

  • Dlaczego należy ufać Mono? (16)
  • Dla kogo jest ta książka? (16)
  • Organizacja tej książki (17)
  • Podziękowania (19)
  • Ostatnia uwaga (19)

1. Błyskawiczny kurs języka C# (21)

  • Wybór środowiska IDE (22)
  • Prosty przykład (22)
  • Wprowadzenie do klas i interfejsów (24)
    • Tworzenie klasy (24)
    • Tworzenie interfejsu (25)
    • Tworzenie podklas klasy abstrakcyjnej i implementacja interfejsu (26)
    • Powiązanie wszystkiego z metodą Main() (28)
    • Uruchamianie metody Main() (30)
  • Metody anonimowe (30)
    • Przypisywanie delegata do metody (30)
    • Aktualizacja klasy Firefighter (31)
    • Tworzenie argumentów opcjonalnych (31)
    • Aktualizacja metody Main() (32)
    • Uruchomienie zaktualizowanej metody Main() (33)
  • Integracja z bibliotekami natywnymi (34)
  • Podsumowanie (35)

2. Fuzzing. Wykorzystanie XSS oraz iniekcji SQL (37)

  • Konfigurowanie maszyny wirtualnej (38)
    • Dodawanie sieci wirtualnej „tylko do hosta” (38)
    • Tworzenie maszyny wirtualnej (39)
    • Uruchamianie maszyny wirtualnej z obrazu ISO z systemem BadStore (39)
  • Iniekcje SQL (41)
  • Skrypty krzyżowe (43)
  • Fuzzing żądań GET z wykorzystaniem fuzzera mutacyjnego (45)
    • Preparowanie parametrów i testowanie luk (46)
    • Budowanie żądań HTTP (47)
    • Testowanie fuzzowanego kodu (48)
  • Fuzzowanie żądań POST (49)
    • Pisanie fuzzera żądania POST (50)
    • Rozpoczyna się fuzzing (52)
    • Fuzzowanie parametrów (54)
  • Fuzzowanie danych w formacie JSON (56)
    • Konfigurowanie wrażliwego urządzenia (56)
    • Przechwytywanie wrażliwych żądań JSON (56)
    • Tworzenie fuzzera JSON (57)
    • Testowanie fuzzera JSON (62)
  • Wykorzystywanie iniekcji SQL (63)
    • Wykorzystywanie eksploita bazującego na instrukcji UNION ręcznie (64)
    • Wykorzystywanie eksploita bazującego na instrukcji UNION programowo (66)
    • Wykorzystywanie luk SQL typu Boolean-blind (70)
  • Podsumowanie (79)

3. Fuzzowanie punktów końcowych SOAP (81)

  • Konfiguracja wrażliwych punktów końcowych (82)
  • Parsowanie pliku WSDL (83)
    • Tworzenie klasy dla dokumentu WSDL (84)
    • Podstawowe metody parsowania (85)
    • Klasy dla typu SOAP i parametrów (87)
    • Tworzenie klasy SoapMessage definiującej przesyłane dane (90)
    • Implementacja klasy reprezentującej części komunikatu (90)
    • Definiowanie operacji portu za pomocą klasy SoapPortType (91)
    • Implementacja klasy zawierającej operacje na porcie (93)
    • Definiowanie protokołów używanych w powiązaniach SOAP (93)
    • Kompilacja listy operacji węzłów potomnych (95)
    • Znajdowanie usług SOAP w portach (96)
  • Automatyczne fuzzowanie punktów końcowych SOAP pod kątem wrażliwości na iniekcje SQL (98)
    • Fuzzowanie pojedynczych usług SOAP (99)
    • Fuzzowanie portów SOAP HTTP POST (103)
    • Fuzzowanie portu XML usługi SOAP (106)
    • Uruchomienie fuzzera (110)
  • Podsumowanie (111)

4. Pisanie ładunków typu connect-back, bind i metasploit (113)

  • Tworzenie ładunku Connect-Back (114)
    • Strumień sieci (114)
    • Uruchomienie polecenia (116)
    • Uruchomienie ładunku (117)
  • Wiązanie ładunku (118)
    • Odbieranie danych, uruchamianie poleceń i zwracanie wyników (119)
    • Uruchamianie poleceń ze strumienia (120)
  • Wykorzystanie protokołu UDP do ataku na sieć (121)
    • Kod dla komputera docelowego (122)
    • Kod napastnika (125)
  • Uruchamianie ładunków typu Metasploit x86 i x86-64 za pomocą języka C# (128)
    • Konfigurowanie frameworka Metasploit (128)
    • Generowanie ładunków (130)
    • Wykonywanie natywnych ładunków systemu Windows jako kodu niezarządzanego (131)
    • Uruchamianie natywnych ładunków w systemie Linux (133)
  • Podsumowanie (137)

5. Automatyzacja skanera Nessus (139)

  • REST i API systemu Nessus (140)
  • Klasa NessusSession (141)
    • Wykonywanie żądań HTTP (142)
    • Wylogowanie i sprzątanie (144)
    • Testowanie klasy NessusSession (145)
  • Klasa NessusManager (146)
  • Wykonywanie skanowania Nessus (148)
  • Podsumowanie (150)

6. Automatyzacja Nexpose (153)

  • Instalacja Nexpose (154)
    • Aktywacja i testowanie (155)
    • Żargon Nexpose (156)
  • Klasa NexposeSession (157)
    • Metoda ExecuteCommand() (158)
    • Wylogowanie i zniszczenie sesji (161)
    • Znajdowanie wersji interfejsu API (162)
    • Korzystanie z Nexpose API (163)
  • Klasa NexposeManager (163)
  • Automatyzacja skanowania słabych punktów (165)
    • Tworzenie lokalizacji z aktywami (165)
    • Rozpoczynanie skanowania (166)
  • Tworzenie raportu na temat lokalizacji w formacie PDF i usuwanie lokalizacji (167)
  • Kompletowanie rozwiązania (168)
    • Rozpoczęcie skanowania (169)
    • Generowanie raportu i usuwanie lokalizacji (170)
    • Uruchamianie automatyzacji (170)
  • Podsumowanie (171)

7. Automatyzacja OpenVas (173)

  • Instalacja systemu OpenVAS (173)
  • Budowanie klas (174)
  • Klasa OpenVaSSession (175)
    • Uwierzytelnianie na serwerze OpenVAS (176)
    • Tworzenie metody do uruchamiania poleceń OpenVAS (177)
    • Odczytywanie komunikatu z serwera (177)
    • Konfiguracja strumienia TCP do wysyłania i odbierania poleceń (178)
    • Walidacja certyfikatów i odśmiecanie (179)
    • Odczytywanie wersji OpenVAS (180)
  • Klasa OpenVASManager (181)
    • Pobieranie konfiguracji skanowania i tworzenie celów (182)
    • Opakowanie automatyzacji (186)
    • Uruchamianie automatyzacji (187)
  • Podsumowanie (187)

8. Automatyzowanie programu Cuckoo Sandbox (189)

  • Konfigurowanie Cuckoo Sandbox (190)
  • Ręczne uruchamianie API systemu Cuckoo Sandbox (190)
    • Uruchamianie API (191)
    • Sprawdzanie stanu środowiska Cuckoo (192)
  • Tworzenie klasy CuckooSession (193)
    • Metody ExecuteCommand() do obsługi żądań HTTP (194)
    • Tworzenie wieloczęściowych danych HTTP za pomocą metody GetMultipartFormData() (196)
    • Przetwarzanie danych z pliku za pomocą klasy FileParameter (198)
    • Testowanie klasy CuckooSession i klas pomocniczych (199)
  • Klasa CuckooManager (201)
    • Metoda CreateTask() (201)
    • Szczegóły zadania i metody tworzenia raportów (203)
    • Tworzenie abstrakcyjnej klasy Task (204)
    • Sortowanie i tworzenie różnych typów klas (205)
  • Połączenie elementów ze sobą (207)
  • Testowanie aplikacji (209)
  • Podsumowanie (211)

9. Automatyzacja sqlmap (213)

  • Uruchamianie sqlmap (214)
    • Interfejs API REST programu sqlmap (215)
    • Testowanie API programu sqlmap za pomocą curl (216)
  • Tworzenie sesji dla programu sqlmap (220)
    • Tworzenie metody do wykonywania żądań GET (221)
    • Wykonywanie żądania POST (222)
    • Testowanie klasy obsługi sesji (223)
  • Klasa SqlmapManager (225)
    • Lista opcji sqlmap (227)
    • Tworzenie metod realizujących skanowanie (229)
    • Nowa metoda Main() (230)
  • Raport ze skanowania (231)
  • Automatyzowanie pełnego skanu sqlmap (232)
  • Integracja sqlmap z fuzzerem SOAP (234)
    • Dodanie obsługi żądań GET do fuzzera SOAP (235)
    • Dodanie obsługi żądań POST do programu sqlmap (236)
    • Wywoływanie nowych metod (238)
  • Podsumowanie (240)

10. Automatyzacja ClamAV (241)

  • Instalacja programu ClamAV (242)
  • Natywna biblioteka ClamaAV kontra demon sieciowy clamd (243)
  • Automatyzacja z wykorzystaniem natywnych bibliotek ClamAV (244)
    • Pomocnicze enumeracje i klasy (244)
    • Dostęp do funkcji natywnej biblioteki ClamAV (247)
    • Kompilacja silnika programu ClamAV (248)
    • Skanowanie plików (250)
    • Sprzątanie (252)
    • Testowanie programu przez skanowanie pliku EICAR (252)
  • Automatyzacja z wykorzystaniem demona clamd (254)
    • Instalacja demona clamd (254)
    • Uruchamianie demona clamd (255)
    • Tworzenie klasy obsługi sesji dla demona clamd (255)
    • Tworzenie klasy menedżera demona clamd (257)
    • Testowanie z wykorzystaniem demona clamd (258)
  • Podsumowanie (259)

11. Automatyzacja Metasploit (261)

  • Uruchamianie serwera RPC (262)
  • Instalacja Metasploitable (263)
  • Pobranie biblioteki MSGPACK (264)
    • Instalowanie menedżera pakietów NuGet w środowisku MonoDevelop (264)
    • Instalacja biblioteki MSGPACK (265)
    • Dodanie referencji do biblioteki MSGPACK (266)
  • Klasa MetasploitSession (267)
    • Tworzenie metody Execute() dla żądań HTTP i interakcje z biblioteką MSGPACK (268)
    • Przekształcanie danych odpowiedzi z formatu MSGPACK (270)
  • Testowanie klasy sesji (272)
  • Klasa MetasploitManager (273)
  • Scalamy komponenty w całość (275)
    • Uruchamianie eksploita (276)
    • Interakcje z powłoką (277)
    • Pobieranie powłok (278)
  • Podsumowanie (279)

12. Automatyzacja Arachni (281)

  • Instalacja Arachni (281)
  • Interfejs API REST systemu Arachni (282)
    • Tworzenie klasy ArachniHTTPSession (284)
    • Tworzenie klasy ArachniHTTPManager (285)
  • Połączenie klas sesji i menedżera (286)
  • RPC systemu Arachni (287)
    • Ręczne uruchamianie mechanizmu RPC (288)
    • Klasa ArachniRPCSession (290)
    • Metody pomocnicze operacji ExecuteCommand() (292)
    • Metoda ExecuteCommand() (293)
    • Klasa ArachniRPCManager (296)
  • Scalamy komponenty w całość (297)
  • Podsumowanie (300)

13. Dekompilacja i inżynieria wsteczna zarządzanych zestawów (301)

  • Dekompilacja zestawów zarządzanych (302)
  • Testowanie dekompilatora (305)
  • Wykorzystanie narzędzia monodis do analizowania zestawu (306)
  • Podsumowanie (309)

14. Czytanie gałęzi rejestru w trybie offline (311)

  • Struktura gałęzi rejestru (312)
  • Pobieranie gałęzi rejestru (313)
  • Czytanie gałęzi rejestru (314)
    • Klasa do parsowania pliku gałęzi rejestru (315)
    • Tworzenie klasy reprezentującej klucze węzłów (316)
    • Implementacja klasy do przechowywania kluczy wartości (321)
  • Testowanie biblioteki (322)
  • Zrzucanie klucza Boot (323)
    • Metoda GetBootKey() (323)
    • Metoda GetValueKey() (325)
    • Metoda GetNodeKey() (325)
    • Metoda StringToByteArray() (326)
    • Uzyskanie klucza rozruchowego (327)
    • Weryfikacja klucza rozruchowego (327)
  • Podsumowanie (328)

Skorowidz (331)

Autor

ISBN

978-83-283-4063-3

Liczba stron

Rok wydania

Wydawca

Recenzje

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „GRAY HAT C# JĘZYK C# W KONTROLI I ŁAMANIU ZABEZPIECZEŃ”