The Shellcoders Handbook, fragmenty-ksiazek-heliona

[ Pobierz całość w formacie PDF ]
IDZ DO
PRZYK£ADOW
The Shellcoders Handbook.
Edycja polska
SPIS TRECI
KATALOG KSI¥¯EK
Autorzy: J. Koziol, D. Litchfield, D. Aitel,
Ch. Anley, S. Eren, N. Mehta, R. Hassell
T³umaczenie: Jaromir Senczyk
ISBN: 83-7361-597-0
Tytu³ orygina³
Format: B5, stron: 560
Przyk³ady na ftp: 165 kB
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Usuñ luki w zabezpieczeniach programów i systemów operacyjnych
• Poznaj przyczyny powstawania luk
• Naucz siê sposobów w³amañ do systemów
• Podejmij odpowiednie rodki zapobiegawcze
Niemal co tydzieñ dowiadujemy siê o nowych „³atach” usuwaj¹cych luki
w zabezpieczeniach systemów operacyjnych i programów. Niestety — czêsto, zanim ³ata
zostanie rozpowszechniona i zainstalowana na komputerach, kto wykorzysta „dziurê”
w systemie i w³amie siê do niego. Có¿ wiêc zrobiæ, aby zabezpieczyæ swoje dane przez
atakiem hakera? Jak znaleæ s³abe punkty zabezpieczeñ i usun¹æ je? W jaki sposób
zaimplementowaæ odpowiednie zabezpieczenia w tworzonym przez siebie
oprogramowaniu?
Ksi¹¿ka „The Shellcoder’s handbook. Edycja polska” zawiera odpowiedzi na wszystkie
te pytania. Ksi¹¿ka bêd¹ca efektem pracy zespo³u z³o¿onego ze specjalistów w zakresie
bezpieczeñstwa systemów komputerowych, analityków i hakerów przedstawia sposoby
wykrywania s³abych punktów oprogramowania tworzonego w jêzyku C i sprawdzenia
mo¿liwoci ich wykorzystania. Opisuje luki w istniej¹cych systemach i programach
oraz sposoby ich zabezpieczenia. Zawarte w niej wiadomoci pozwol¹ na tworzenie
w³asnych systemów wykrywania b³êdów i pomog¹ ustaliæ, czy b³êdy te stanowi¹
potencjalne zagro¿enie.
• Podstawowe metody w³amañ do ró¿nych systemów operacyjnych
• Techniki przepe³niania stosu, wykorzystywania kodu pow³oki
i b³êdów ³añcuchów formatuj¹cych
• Kontrola s³abych punktów programów metodami wstrzykiwania kodu i fuzzingu
• Kontrola kodu ród³owego programów
• Klasy b³êdów
• Sposoby ledzenia s³abych punktów
• Analiza kodu binarnego
• Tworzenie eksploitów
• Ataki na systemy zarz¹dzania bazami danych
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
O Autorach......................................................................................13
Cz I Wprowadzenie do metod włama:
Linux na procesorach x86 ..............................................15
Rozdział 1. Wprowadzenie .................................................................................17
Podstawowe pojcia ........................................................................................................ 17
Zarzdzanie pamici................................................................................................ 18
Asembler ................................................................................................................... 20
Rozpoznawanie przekładu kodu C++ w jzyku asemblera.............................................. 21
Podsumowanie ................................................................................................................ 23
Rozdział 2. Przepełnienia stosu..........................................................................25
Bufory ............................................................................................................................. 25
Stos.................................................................................................................................. 27
Wywołania funkcji i stos........................................................................................... 28
Przepełnianie buforów na stosie ...................................................................................... 31
Wykorzystanie rejestru EIP....................................................................................... 32
Zdobywanie uprawnie. root............................................................................................ 34
Problem adresu.......................................................................................................... 36
Metoda rozkazów NOP ............................................................................................. 39
Stos zabraniajcy wykonywania rozkazów ..................................................................... 41
Metoda powrotu do biblioteki libc ............................................................................ 41
Podsumowanie ................................................................................................................ 44
Rozdział 3. Kod powłoki.....................................................................................45
Wywołania systemowe.................................................................................................... 46
Kod powłoki u6ywajcy wywołania systemowego exit()................................................ 48
Wstrzykiwanie kodu powłoki.......................................................................................... 51
Tworzenie nowej powłoki ............................................................................................... 53
Podsumowanie ................................................................................................................ 61
Rozdział 4. Bł!dy ła#cuchów formatuj(cych .......................................................63
Warunki wstpne............................................................................................................. 63
Ła.cuchy formatujce ..................................................................................................... 63
Błdy ła.cuchów formatujcych ..................................................................................... 65
 6
The Shellcoder's Handbook. Edycja polska
Włamania za pomoc ła.cuchów formatujcych............................................................. 69
Atak na usług........................................................................................................... 70
Ujawnianie informacji............................................................................................... 71
Przejcie sterowania ........................................................................................................ 76
Jak to mo6liwe? ............................................................................................................... 85
Przegld technik ła.cucha formatujcego ....................................................................... 85
Podsumowanie ................................................................................................................ 88
Rozdział 5. Wprowadzenie do metod przepełnienia sterty....................................89
Sterta ............................................................................................................................... 89
Zarzdzanie stert...................................................................................................... 91
Wyszukiwanie przepełnie. sterty .................................................................................... 91
Podstawowe metody przepełniania sterty.................................................................. 92
Arednio zaawansowane metody przepełniania stosu ................................................. 98
Zaawansowane przepełnienia sterty ........................................................................ 104
Podsumowanie .............................................................................................................. 105
Cz II Włamania na platformach Windows, Solaris i Tru64.......107
Rozdział 6. Wprowadzenie do systemu Windows...............................................109
Ró6nice midzy systemami Linux i Windows............................................................... 109
Win32 i PE-COFF................................................................................................... 110
Sterty ............................................................................................................................. 112
Wtki....................................................................................................................... 113
Zalety i wady DCOM i DCE-RPC ................................................................................ 114
Rozpoznanie............................................................................................................ 116
Włamania ................................................................................................................ 117
Tokeny i podszywanie............................................................................................. 118
Obsługa wyjtków w Win32 ................................................................................... 120
Aledzenie działania programów w systemie Windows .................................................. 121
Błdy w Win32 ....................................................................................................... 122
Tworzenie kodu powłoki w systemie Windows ...................................................... 122
Przewodnik hakera po funkcjach Win32................................................................. 123
Rodzina systemów Windows z punktu widzenia hakera......................................... 123
Podsumowanie .............................................................................................................. 124
Rozdział 7. Kody powłoki w Windows...............................................................125
Składnia i filtry.............................................................................................................. 125
Przygotowywanie kodu powłoki ................................................................................... 126
Parsowanie bloków PEB ............................................................................................... 127
Analiza kodu heapoverflow.c.................................................................................. 128
Przeszukiwanie z u6yciem obsługi wyjtków................................................................ 143
Tworzenie nowej powłoki ............................................................................................. 146
Dlaczego nie warto tworzyG nowej powłoki w Windows ....................................... 147
Podsumowanie .............................................................................................................. 148
Rozdział 8. Przepełnienia w systemie Windows.................................................149
Przepełnienia buforów na stosie .................................................................................... 149
Procedury obsługi wyjtków dla ramek wywoła. funkcji....................................... 150
Wykorzystanie procedur obsługi wyjtków na platformie Windows 2003 Server.. 154
Ko.cowe uwagi na temat nadpisa. procedur obsługi wyjtków ............................. 158
Ochrona stosu i Windows 2003 Server ......................................................................... 159
Przepełnienia sterty ....................................................................................................... 164
Sterta procesu.......................................................................................................... 164
Sterty dynamiczne ................................................................................................... 165
Spis treci
7
Korzystanie ze sterty ............................................................................................... 165
Jak działa sterta ....................................................................................................... 165
Wykorzystanie przepełnie. sterty.................................................................................. 168
Nadpisanie wskaHnika funkcji RtlEnterCriticalSection w bloku PEB..................... 169
Nadpisanie wskaHnika pierwszej wektoryzowanej procedury obsługi wyjtków
pod adresem 77FC3210 ........................................................................................ 171
Nadpisanie wskaHnika filtra nieobsłu6onych wyjtków .......................................... 174
Nadpisanie wskaHnika procedury obsługi wyjtków w bloku TEB ........................ 179
Naprawa sterty ........................................................................................................ 180
Inne aspekty przepełnie. sterty ............................................................................... 182
Podsumowanie przepełnie. sterty ........................................................................... 183
Inne przepełnienia ......................................................................................................... 183
Przepełnienia sekcji .data ........................................................................................ 183
Przepełnienia bloków TEB i PEB ........................................................................... 185
Przepełnienie buforów i stosy zabraniajce wykonania kodu........................................ 185
Podsumowanie .............................................................................................................. 190
Rozdział 9. Filtry.............................................................................................191
Tworzenie eksploitów i filtry alfanumeryczne .............................................................. 191
Tworzenie eksploitów i filtry Unicode .......................................................................... 195
Unicode ................................................................................................................... 195
Konwersja z ASCII na Unicode .............................................................................. 196
Wykorzystanie słabych punktów zwizanych z kodem Unicode .................................. 196
Zbiór rozkazów dostpnych dla eksploitów Unicode.............................................. 197
Metoda wenecka............................................................................................................ 198
Implementacja metody weneckiej dla kodu ASCII ................................................. 199
Dekoder i dekodowanie................................................................................................. 202
Kod dekodera .......................................................................................................... 203
Ustalenie adresu bufora........................................................................................... 204
Podsumowanie .............................................................................................................. 205
Rozdział 10.Wprowadzenie do włama# w systemie Solaris.................................207
Wprowadzenie do architektury SPARC ........................................................................ 208
Rejestry i okna rejestrów......................................................................................... 208
Szczelina zwłoki ..................................................................................................... 210
Rozkazy zło6one ..................................................................................................... 211
Kody powłoki na platformie Solaris/SPARC ................................................................ 211
Kod powłoki i okreJlanie własnego poło6enia ........................................................ 212
Prosty kod powłoki dla platformy SPARC.............................................................. 212
Przydatne wywołania systemu Solaris .................................................................... 213
Rozkaz NOP i rozkazy wypełniajce ...................................................................... 214
Ramki na stosie platformy Solaris/SPARC ................................................................... 214
Techniki przepełnie. stosu ............................................................................................ 215
Przepełnienia o dowolnym rozmiarze ..................................................................... 215
Okna rejestrów komplikuj przepełnienia stosu...................................................... 216
Inne czynniki utrudniajce przepełnienia stosu....................................................... 216
Mo6liwe rozwizania .............................................................................................. 217
Przepełnienia jednym bajtem .................................................................................. 217
Poło6enie kodu powłoki .......................................................................................... 218
Przykłady przepełnie. stosu .......................................................................................... 219
Atakowany program................................................................................................ 219
Eksploit ................................................................................................................... 221
Przepełnienia sterty na platformie Solaris/SPARC........................................................ 224
Wprowadzenie do sterty systemu Solaris................................................................ 224
Struktura drzewa sterty............................................................................................ 225
8
The Shellcoder's Handbook. Edycja polska
Metoda podstawowa (t_delete)...................................................................................... 243
Ograniczenia standardowych przepełnie. sterty ..................................................... 246
Cele nadpisa. .......................................................................................................... 247
Inne słabe punkty sterty................................................................................................. 249
Przepełnienia jednym bajtem .................................................................................. 250
Podwójne zwolnienie .............................................................................................. 250
Inne błdy funkcji free().......................................................................................... 250
Przykład przepełnienia sterty......................................................................................... 251
Atakowany program................................................................................................ 251
Inne techniki włama. w systemie Solaris...................................................................... 255
Przepełnienia danych statycznych........................................................................... 255
ObejJcie zabezpieczenia stosu................................................................................. 255
Podsumowanie .............................................................................................................. 256
Rozdział 11.Zaawansowane metody włama# w systemie Solaris........................257
Aledzenie modułu dynamicznej konsolidacji krok po kroku ......................................... 258
Sztuczki przepełnie. sterty Solaris/SPARC .................................................................. 271
Zaawansowany kod powłoki na platformie Solaris/SPARC ......................................... 273
Podsumowanie .............................................................................................................. 284
Rozdział 12.Włamania w systemie HP Tru64 Unix .............................................285
Architektura procesorów Alpha..................................................................................... 286
Rejestry procesorów Alpha ..................................................................................... 286
Zbiór rozkazów ....................................................................................................... 287
Konwencje wywoła................................................................................................ 287
Pobieranie licznika rozkazów (GetPC).......................................................................... 289
Wywołania systemowe.................................................................................................. 291
Dekoder XOR dla kodu powłoki ................................................................................... 291
Kod powłoki setuid + execve ........................................................................................ 293
Wywołania systemowe setuid(0) i execve("/bin/sh", ...) ......................................... 293
Kompilacja kodu w asemblerze i wyodrbnienie kodu powłoki ............................. 294
Kodowanie uzyskanych kodów powłoki funkcj XOR........................................... 295
Dołczenie zakodowanego kodu do dekodera XOR ............................................... 296
Kompilacja i wyodrbnienie ostatecznej postaci kodu powłoki.............................. 297
Kod powłoki zestawiajcy połczenie zwrotne ............................................................. 299
Kod powłoki wyszukujcy gniazdo sieciowe ................................................................ 300
Kod powłoki dowizujcy gniazdo sieciowe................................................................. 301
Przepełnienia stosu........................................................................................................ 303
ObejJcie ochrony stosu ........................................................................................... 303
Włamanie do usługi rpc.ttdbserver ................................................................................ 304
Podsumowanie .............................................................................................................. 311
Cz III Wykrywanie słabych punktów.......................................313
Rozdział 13.Tworzenie 5rodowiska pracy...........................................................315
Pródła informacji........................................................................................................... 316
Narzdzia do tworzenia kodu ........................................................................................ 316
gcc ........................................................................................................................... 316
gdb .......................................................................................................................... 317
NASM ..................................................................................................................... 317
WinDbg................................................................................................................... 317
OllyDbg................................................................................................................... 317
SoftICE ................................................................................................................... 318
Visual C++ .............................................................................................................. 318
Python ..................................................................................................................... 318
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shinnobi.opx.pl
  •