Bezpieczenstwo_sieci_Narzedzia_bsiena.pdf

(260 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
Bezpieczeñstwo sieci.
Narzêdzia
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 KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
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
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒ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
Ksi¹¿ka „Bezpieczeñstwo sieci. Narzêdzia” jest nieodzownym Ÿród³em wiedzy dla
ka¿dego administratora, który chce dobrze zabezpieczyæ swoj¹ sieæ.
Spis treści
Przedmowa .................................................................................................................... 7
Część I
Modyfikowanie i eksplorowanie narzędzi bezpieczeństwa
13
15
16
17
21
22
22
25
26
27
28
29
31
37
1. Pisanie dodatków dla programu Nessus .....................................................................15
Architektura Nessusa
Instalowanie Nessusa
Korzystanie z programu Nessus
Interpreter języka NASL
Przykład „Hello World”
Typy danych i zmienne
Operatory
Instrukcja if…else
Pętle
Funkcje
Predefiniowane zmienne globalne
Najważniejsze funkcje języka NASL
Dodatki Nessusa
2. Programowanie narzędzi sekcjonujących i dodatków
dla szperacza sieciowego Ettercap ............................................................................. 53
Instalacja i korzystanie z programu Ettercap
Pisanie narzędzia sekcjonujacego dla Ettercapa
Pisanie dodatków dla programu Ettercap
53
54
61
3. Poszerzanie możliwości programów Hydra i Nmap .................................................. 67
Rozszerzanie możliwości programu Hydra
Dodawanie nowych sygnatur do programu Nmap
67
81
4. Pisanie dodatków dla skanera luk Nikto .................................................................... 85
Instalowanie programu Nikto
Jak korzystać z programu Nikto?
Jak działa program Nikto?
Istniejące dodatki programu Nikto
Dodawanie własnych pozycji do baz dodatków
85
86
88
89
91
3
Korzystanie z biblioteki LibWhisker
Piszemy dodatek NTLM
łamiący
hasła metodą brutalnej siły
Pisanie samodzielnego dodatku atakującego serwer Lotus Domino
94
96
99
5. Pisanie modułów dla oprogramowania Metasploit Framework .............................103
Wprowadzenie do MSF
Zasada ataków polegających na przepełnieniu bufora stosu
Pisanie ataków testowych pod MSF
Moduł ataku przepełnienia bufora przeciw wyszukiwarce MnoGoSearch
Pisanie pod MSF modułu badającego sygnaturę systemu operacyjnego
103
104
113
117
125
6. Rozszerzanie analizy kodu na aplikacje WWW ........................................................ 131
Atakowanie aplikacji WWW z wykorzystaniem błędów w kodzie
źródłowym
Toolkit 101
PMD
Rozszerzanie możliwości narzędzia PMD
131
136
139
141
Część II Pisanie narzędzi do kontroli bezpieczeństwa sieci
Witaj,
świecie!
Przechwytywanie funkcji systemowych
Ukrywanie procesów
Ukrywanie połączeń przed narzędziem netstat
165
167
169
177
181
7. Zabawa z modułami jądra Linuksa ............................................................................167
8. Tworzenie narzędzi i skryptów do badania serwisów WWW ................................ 185
Środowisko
aplikacji WWW
Projekt skanera
Analizator składni pliku dziennika
Piszemy skaner
Praca ze skanerem
Pełny kod
źródłowy
185
189
194
196
210
210
9. Automatyczne narzędzia eksploitów .......................................................................217
Eksploity wstrzykiwania kodu SQL
Skaner eksploitów
Praca ze skanerem
217
219
243
10. Pisanie szperaczy sieciowych ................................................................................... 245
Biblioteka libpcap — wprowadzenie
Zaczynamy pracę z libpcap
libpcap i sieci bezprzewodowe 802.11
245
247
260
4
|
Spis treści
libpcap i Perl
Leksykon funkcji biblioteki libpcap
268
269
11. Narzędzia do wstrzykiwania pakietów ................................................................... 279
Biblioteka libnet
Początek pracy z biblioteką libnet
Zaawansowane funkcje biblioteki libnet
Jednoczesne wykorzystanie libnet i libpcap
AirJack — wprowadzenie
279
280
287
289
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
Zgłoś jeśli naruszono regulamin