bezpieczeństwo sieci. narzędzia helion.pdf

(7388 KB) Pobierz
710721966 UNPDF
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Bezpieczeñstwo sieci.
SPIS TREŒCI
Narzêdzia
KATALOG KSI¥¯EK
Autorzy: Nitesh Dhanjani, Justin Clarke
T³umaczenie: S³awomir Dzieniszewski (przedmowa,
rozdz. 1–6), Adam Jarczyk (rozdz. 7–11)
ISBN: 83-246-0068-X
Tytu³ orygina³u : Network Security Tools
Format: B5, stron: 320
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Tworzenie i stosowanie narzêdzi do testowania zabezpieczeñ
Stwórz programy do analizowania ruchu sieciowego
Dostosuj gotowe narzêdzia do swoich potrzeb
Zbadaj bezpieczeñstwo w³asnych aplikacji WWW
Coraz czêœciej s³yszymy o w³amaniach do sieci i kradzie¿ach danych. Informacje
o lukach w oprogramowaniu sieciowym pojawiaj¹ szybciej ni¿ jego aktualizacje.
Na administratorach sieci spoczywa trudne zadanie zabezpieczania zgromadzonych
w nich danych przed atakami. W walce z hakerami administratorzy stosuj¹ narzêdzia,
dziêki którym s¹ w stanie wykryæ atak, usun¹æ s³abe punkty sieci i systemu oraz
ochroniæ dane. Czasem jednak standardowe narzêdzia okazuj¹ siê niewystarczaj¹ce.
W takich sytuacjach nale¿y siêgn¹æ po inne rozwi¹zania.
Ksi¹¿ka „Bezpieczeñstwo sieci. Narzêdzia” to podrêcznik dla administratorów oraz
osób zajmuj¹cych siê bezpieczeñstwem sieci. Przedstawia najczêœciej stosowane
modyfikacje i rozszerzenia narzêdzi Nessus, Ettercap i Nikto oraz opisuje zasady
tworzenia zaawansowanych analizatorów ataków œciœle dostosowanych do wymogów
okreœlonego œrodowiska sieciowego. Zawiera równie¿ informacje dotycz¹ce korzystania
z narzêdzi do skanowania portów, iniekcji pakietów, pods³uchiwania ruchu w sieci
i oceny dzia³ania serwisów WWW.
Tworzenie dodatków dla programu Nessus
Budowanie narzêdzi dla szperacza Ettercap
Rozszerzanie mo¿liwoœci programów Hydra i Nikto
Stosowanie narzêdzi do analizy kodów Ÿród³owych
Zabezpieczanie j¹dra Linuksa
Kontrolowanie bezpieczeñstwa serwisów WWW i baz danych
Pisanie w³asnych szperaczy sieciowych oraz narzêdzi do iniekcji pakietów
Ksi¹¿ka „Bezpieczeñstwo sieci. Narzêdzia” jest nieodzownym Ÿród³em wiedzy dla
ka¿dego administratora, który chce dobrze zabezpieczyæ swoj¹ sieæ.
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
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
710721966.005.png 710721966.006.png 710721966.007.png 710721966.008.png
Spis treści
Przedmowa .................................................................................................................... 7
Część I Modyfikowanie i eksplorowanie narzędzi bezpieczeństwa
13
1. Pisanie dodatków dla programu Nessus .....................................................................15
Architektura Nessusa
15
Instalowanie Nessusa
16
Korzystanie z programu Nessus
17
Interpreter języka NASL
21
Przykład „Hello World”
22
Typy danych i zmienne
22
Operatory
25
Instrukcja if…else
26
Pętle
27
Funkcje
28
Predefiniowane zmienne globalne
29
Najważniejsze funkcje języka NASL
31
Dodatki Nessusa
37
2. Programowanie narzędzi sekcjonujących i dodatków
dla szperacza sieciowego Ettercap ............................................................................. 53
Instalacja i korzystanie z programu Ettercap
53
Pisanie narzędzia sekcjonujacego dla Ettercapa
54
Pisanie dodatków dla programu Ettercap
61
3. Poszerzanie możliwości programów Hydra i Nmap .................................................. 67
Rozszerzanie możliwości programu Hydra
67
Dodawanie nowych sygnatur do programu Nmap
81
4. Pisanie dodatków dla skanera luk Nikto .................................................................... 85
Instalowanie programu Nikto
85
Jak korzystać z programu Nikto?
86
Jak działa program Nikto?
88
Istniejące dodatki programu Nikto
89
Dodawanie własnych pozycji do baz dodatków
91
3
710721966.001.png
Korzystanie z biblioteki LibWhisker
94
Piszemy dodatek NTLM łamiący hasła metodą brutalnej siły
96
Pisanie samodzielnego dodatku atakującego serwer Lotus Domino
99
5. Pisanie modułów dla oprogramowania Metasploit Framework .............................103
Wprowadzenie do MSF
103
Zasada ataków polegających na przepełnieniu bufora stosu
104
Pisanie ataków testowych pod MSF
113
Moduł ataku przepełnienia bufora przeciw wyszukiwarce MnoGoSearch
117
Pisanie pod MSF modułu badającego sygnaturę systemu operacyjnego
125
6. Rozszerzanie analizy kodu na aplikacje WWW ........................................................ 131
Atakowanie aplikacji WWW z wykorzystaniem błędów w kodzie źródłowym
131
Toolkit 101
136
PMD
139
Rozszerzanie możliwości narzędzia PMD
141
Część II Pisanie narzędzi do kontroli bezpieczeństwa sieci
165
7. Zabawa z modułami jądra Linuksa ............................................................................ 167
Witaj, świecie!
167
Przechwytywanie funkcji systemowych
169
Ukrywanie procesów
177
Ukrywanie połączeń przed narzędziem netstat
181
8. Tworzenie narzędzi i skryptów do badania serwisów WWW ................................ 185
Środowisko aplikacji WWW
185
Projekt skanera
189
Analizator składni pliku dziennika
194
Piszemy skaner
196
Praca ze skanerem
210
Pełny kod źródłowy
210
9. Automatyczne narzędzia eksploitów ....................................................................... 217
Eksploity wstrzykiwania kodu SQL
217
Skaner eksploitów
219
Praca ze skanerem
243
10. Pisanie szperaczy sieciowych ................................................................................... 245
Biblioteka libpcap — wprowadzenie
245
Zaczynamy pracę z libpcap
247
libpcap i sieci bezprzewodowe 802.11
260
4 | Spis treści
710721966.002.png
libpcap i Perl
268
Leksykon funkcji biblioteki libpcap
269
11. Narzędzia do wstrzykiwania pakietów ................................................................... 279
Biblioteka libnet
279
Początek pracy z biblioteką libnet
280
Zaawansowane funkcje biblioteki libnet
287
Jednoczesne wykorzystanie libnet i libpcap
289
AirJack — wprowadzenie
296
Skorowidz .................................................................................................................. 303
Spis treści | 5
ROZDZIAŁ 7.
Zabawa z modułami jądra Linuksa
Jądro jest sercem systemu operacyjnego. Odpowiada za takie podstawowe funkcje jak zarzą-
dzanie pamięcią, przydział czasu procesów, obsługę protokołów TCP/IP i tak dalej. Ładowalne
moduły jądra Linuksa (ang. Loadable Kernel Module , LKM) pozwalają rozszerzać funkcjonalność
systemu w trakcie pracy. Ponieważ łatwo jest ładować i usuwać moduły za pomocą narzędzi
wiersza poleceń, złośliwi użytkownicy często używają opierających się na LKM narzędzi typu
rootkit i backdoor , aby zachować dostęp do uprzednio zinfiltrowanego hosta. W niniejszym roz-
dziale pokażemy, jak pisać własne ładowalne moduły jądra oraz jak autorzy złośliwych pa-
kietów rootkit i backdoorów wykorzystują ogromne możliwości ładowalnych modułów jądra
do różnych sztuczek, na przykład do ukrywania procesów i plików oraz przechwytywania
funkcji systemowych. Zakładamy tu, że Czytelnik zna język programowania C.
Nie należy uruchamiać przedstawionych przykładów na komputerach niezbędnych
do pracy i serwerach produkcyjnych. Prosty błąd w LKM może spowodować błąd
jądra (ang. kernel panic ) i jego załamanie. Do uruchamiania programów przedstawionych
w niniejszym rozdziale należy w miarę możliwości korzystać z oprogramowania maszyn
wirtualnych, na przykład VMware ( http://www.vmware.com/ ).
Witaj, świecie!
Aby przedstawić podstawy pisania ładowalnych modułów jądra, spróbujemy najpierw napi-
sać prosty moduł, który podczas ładowania będzie wyświetlać na konsoli komunikat Witaj,
ś wiecie! , a podczas usuwania komunikat Do zobaczenia. . Na początek należy dołączyć
wymagane pliki nagłówkowe:
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
Jądro 2.6 Linuksa zgłasza ostrzeżenie przy ładowaniu modułów, których kod źródłowy nie
jest objęty licencją GPL. Jądro Linuksa jest objęte tą licencją, a jego opiekunowie kładą duży
nacisk na to, by wszelki kod ładowany do jądra również jej podlegał. Aby wyłączyć wyświe-
tlanie ostrzeżenia, należy zaklasyfikować kod modułu jako objęty GPL, dodając następującą
dyrektywę:
MODULE_LICENSE ("GPL");
167
710721966.003.png 710721966.004.png
Zgłoś jeśli naruszono regulamin