Facebook - konwersja

Gray Hat C#. Język C# w kontroli i łamaniu zabezpieczeń - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
2 marca 2018
Format ebooka:
MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
59,00

Gray Hat C#. Język C# w kontroli i łamaniu zabezpieczeń - ebook

C# to nowoczesny język programowania, który został od podstaw zaprojektowany jako obiektowy. Ta dojrzała technologia jest często wybierana przez twórców oprogramowania, również tego służącego do pokonywania zabezpieczeń systemów. Dzięki temu, że platforma .NET jest oprogramowaniem open source, w C# można pisać kod, który bez problemu będzie działał w każdym systemie operacyjnym. Co prawda język ten jest prosty i łatwy do nauczenia się, jednak dopiero gruntowna znajomość C# umożliwia efektywne tworzenie narzędzi związanych z bezpieczeństwem, służących choćby do wyszukiwania luk w infrastrukturze czy prowadzenia testów penetracyjnych.

Ta książka jest przeznaczona dla specjalistów ds. bezpieczeństwa, którzy chcą korzystać z języka C# do takich zadań jak fuzzowanie, skanowanie w poszukiwaniu luk zabezpieczeń i analiza złośliwego oprogramowania. Opisano tu zarówno podstawy języka C#, jak i jego dość zaawansowane funkcje. Przedstawiono szereg bibliotek dostępnych dla tego języka. Pokazano, jak pisać kod wyszukujący luki w zabezpieczeniach i jak tworzyć eksploity. Przedstawiono sposoby korzystania z takich narzędzi jak Nessus, sqlmap i Cuckoo Sandbox. Dzięki technikom zaprezentowanym w książce administrator bezpieczeństwa bez problemu zautomatyzuje nawet najbardziej żmudne codzienne zadania!

W tej książce między innymi:

  • Podstawowe i zaawansowane funkcjonalności języka C#
  • Generowanie kodu ładunków, również wieloplatformowych
  • Skanery, w tym OpenVAS, Nessus i Nexpose
  • Automatyczna identyfikacja luk umożliwiających wstrzyknięcie kodu SQL
  • Tworzenie w C# narzędzi do inżynierii wstecznej

C#. Sprawdź swój system zabezpieczeń!


Brandon Perry jest programistą i gorącym zwolennikiem idei open source. Odkąd pojawiło się środowisko Mono, pisze aplikacje w języku C#. Tworzy też moduły dla frameworka Metasploit, analizuje pliki binarne i zarządza ciekawymi projektami (https://volatileminds.net/). Fascynuje się badaniami nad bezpieczeństwem systemów informatycznych. Chętnie dzieli się swoją wiedzą, pisze książki i pomaga innym w tworzeniu solidniejszego oprogramowania.

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)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-4064-0
Rozmiar pliku: 4,3 MB

BESTSELLERY

Kategorie: