Ćwiczenia z tworzenia reguł
Ćwiczenie 1
Wykryć wszystkie próby dostępu do
usługi SSH dostępnej na serwerze
WWW, o adresie 192.168.0.60.
Wskazówka: usługa SSH jest dostępna na porcie 22/tcp.
Ćwiczenie 1
Rozwiązanie:
log tcp any any -> 192.168.0.60 22 ;
Ćwiczenie 2
Wykryć wszystkie próby użycia
protokołu ICMP w sieci lokalnej.
Ćwiczenie 2
Rozwiązanie:
log icmp any any -> any any ;
Ćwiczenie 3
Wykryć wszystkie próby dostępu do
serwera SSL (192.168.0.60) na porty
różne od 443/tcp. Próby użycia
protokołów ICMP i UDP również
powinny być wykryte.
Ćwiczenie 3
Rozwiązanie:
var SSL_SERVER 192.168.0.60
var SSL_PORT 443
alert tcp any any -> $SSL_SERVER !$SSL_PORT ;
alert udp any any -> $SSL_SERVER any ;
alert icmp any any -> $SSL_SERVER any ;
Ćwiczenie 4
Wykryć wszystkie próby inicjowania
połączeń TCP przez serwer WWW
o adresie 192.168.0.60 (połączenia
wychodzące z serwera).
Wskazówka: połączenia inicjowane przez serwer WWW posiadają
adres źródłowy serwera WWW oraz ustawioną flagę SYN
Ćwiczenie 4
Rozwiązanie:
var HTTP_SERVER 192.168.0.60
alert tcp $HTTP_SERVER any -> any any \
(msg: "Polaczenie wychodzace z serwera WWW"; \
flags:S; )
Ćwiczenie 5
Wykryć wszystkie próby uruchamiania
w sieci lokalnej narzędzi typu exploit.
Wskazówka: narzędzia typu exploit bardzo często zawierają w
swoim kodzie powtarzające się instrukcje NOP, o kodzie
szesnastkowym: 0x90
Ćwiczenie 5
Rozwiązanie:
var HOME_NET 192.168.0.0/24
alert ip any any -> $HOME_NET any \
( msg:"Podejrzenie uzycia exploit!"; \
content: "|9090 9090|"; )
Ćwiczenie 6
Rejestrować całą pocztę elektroniczną
przesyłaną w sieci lokalnej
(protokół SMTP).
Wskazówka: protokół SMTP jest obsługiwany na porcie 25/tcp
Ćwiczenie 6
Rozwiązanie:
var HOME_NET 192.168.0.0/24
log tcp any any -> $HOME_NET 25 ;
Uwaga!
Snort należy uruchamiać z opcją "-d"
Ćwiczenie 7
Wykryć próby użycia niedozwolonej
adresacji w sieci lokalnej (wszystkie
adresy oprócz 192.168.0.0/24).
Ćwiczenie 7
Rozwiązanie:
var HOME_NET 192.168.0.0/24
alert ip any any <> !$HOME_NET any \
(msg: "Niedozwolona adresacja!"; )
Ćwiczenie 8
Wykryć wszystkie próby dostępu do
usługi finger. Wykryte połączenia
powinny być automatycznie przerywane
przez oprogramowanie Snort.
Wskazówka: usługa finger jest obsługiwana na porcie 79/tcp;
połączenia powinny przerywane natychmiast po wykryciu
pakietów adresowanych do usługi finger z ustawioną flagą SYN
Ćwiczenie 8
Rozwiązanie:
var FINGER_PORT 79
alert tcp any any <> any $FINGER_PORT \
(msg: "Proba uzycia uslugi finger!"; \
flags:S; resp:rst_all; )
Ćwiczenie 9
Wykryć wszystkie próby uruchamiania powłoki
systemowej (cmd.exe, /bin/sh).
W przypadku wykrycia takich prób,
oprogramowanie Snort powinno podnosić
alarm oraz rejestrować zawartość wszystkich
następnych 50 pakietów.
Wskazówka: rejestrację pakietów w przypadku wykrycia
naruszenia bezpieczeństwa umożliwia parametr reguły: tag
Ćwiczenie 9
Rozwiązanie:
alert ip any any -> any any \
( msg: "Proba uruchomienia powloki!"; \
content: "cmd.exe"; nocase; \
tag: session,50,packets; )
alert ip any any -> any any \
( msg: "Proba uruchomienia powloki!"; \
content: "/bin/sh"; nocase; \
tag: session,50,packets; )
Ćwiczenie 10
Rozpoznać oraz napisać własną regułę
na nowy typ ataku na serwer WWW
(atak zostanie przedstawiony podczas
ćwiczeń przez osobę prowadzącą
zajęcia).
Wskazówka: ćwiczenie należy zrealizować w dwóch fazach:
- w pierwszej zarejestrować i przeanalizować metodę ataku;
- w drugiej napisać własną regułę wykrywającą atak
Ćwiczenie 10
Rozwiązanie:
var HOME_NET 10.10.12.0/24
var HTTP_PORT 80
alert tcp any any -> $HOME_NET $HTTP_PORT \
( msg: "Proba ataku na serwer WWW!"; \
content: "/scripts/..%z1%pc../"; nocase; )