10
 WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK INFORMATYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : LABORATORIUM OCHRONY DANYCH W SIECIACH I SYSTEMACH KOMPUTEROWYCH ZADANIE nr 5  TEMAT: Windows'owy, sieciowy system wykrywania włamań SNORT zintegrowany z systemem baz danych i narzędziem do analizy informacji NAZWISKO: Dzięgielewski IMIĘ: Lech  TERMIN WYKONANIA: 08-01-2011 TERMIN ODDANIA: : 10-01-2011

Snort sprawozdanie

  • Upload
    leszeq

  • View
    223

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Snort sprawozdanie

5/12/2018 Snort sprawozdanie - slidepdf.com

http://slidepdf.com/reader/full/snort-sprawozdanie 1/10

 

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI IINFORMATYKI

INSTYTUT AUTOMATYKI I INFORMATYKIKIERUNEK INFORMATYKA

STUDIA STACJONARNE I STOPNIA

PRZEDMIOT : LABORATORIUM OCHRONY DANYCH W SIECIACH ISYSTEMACH KOMPUTEROWYCH

ZADANIE nr 5

 TEMAT: Windows'owy, sieciowy system wykrywania włamań SNORTzintegrowany z systemem baz danych i narzędziem do analizy informacji

NAZWISKO: Dzięgielewski IMIĘ: Lech

 TERMIN WYKONANIA: 08-01-2011 TERMIN ODDANIA: :10-01-2011

Page 2: Snort sprawozdanie

5/12/2018 Snort sprawozdanie - slidepdf.com

http://slidepdf.com/reader/full/snort-sprawozdanie 2/10

 

Prowadzący:Dr inż. Grzegorz Bialic

2

Page 3: Snort sprawozdanie

5/12/2018 Snort sprawozdanie - slidepdf.com

http://slidepdf.com/reader/full/snort-sprawozdanie 3/10

 

1. Teoria

1.1 Snort

Snort – sieciowy system wykrywania włamań, dostępny na wolnej licencji.

Snort posiada szeroki zakres mechanizmów detekcji ataków orazumożliwia, w czasie rzeczywistym, dokonywanie analizy ruchu irejestrowanie pakietów przechodzących przez sieci oparte na protokołachIP/TCP/UDP/ICMP. Potrafi przeprowadzać analizę strumieni pakietów,wyszukiwać i dopasowywać podejrzane treści, a także wykrywać wieleataków i anomalii, takich jak przepełnienia bufora, skanowanie portówtypu stealth, ataki na usługi WWW, SMB, próby wykrywania systemuoperacyjnego i wiele innych. SNORT może działać, jako niezależny sniffer,rejestrator pakietów lub system IDS. Żaden z tych trybów nie ma przewagi

nad pozostałymi. Wyjątkiem może być tylko rejestrator pakietów, którypotrafi zapisywać pakiety na dysku w zorganizowanej strukturzekatalogów. Jeżeli odpowiednio skonfigurujemy plik snort.conf, spowodujeto, że system będzie rejestrował tylko pakiety dopasowane do regułokreślonych w tym właśnie pliku.

1.2 SQL Injection

SQL Injection (z ang., dosłownie zastrzyk SQL) – luka w zabezpieczeniachaplikacji internetowych polegająca na nieodpowiednim filtrowaniu lubniedostatecznym typowaniu i późniejszym wykonaniu danychprzesyłanych w postaci zapytań SQL do bazy danych. Podatne są na niegosystemy złożone z warstwy programistycznej (przykładowo skrypt w PHP,ASP, JSP itp.) dynamicznie generującej zapytania do bazy danych (MySQL,PostgreSQL itp.). Wynika on zwykle z braku doświadczenia lub wyobraźniprogramisty.

3

Page 4: Snort sprawozdanie

5/12/2018 Snort sprawozdanie - slidepdf.com

http://slidepdf.com/reader/full/snort-sprawozdanie 4/10

 

2. Wykonanie zadania

Do wykonania ćwiczenia użyłem programu VMWare Workstation. Pokonfiguracji maszyny i instalacji systemu Windows XP Professionalprzechodzę do instalacji wymaganych programów.

2.1 Snort

Rys. 1 – Interfejsy sieciowe w Snort.

Rys. 2 – Wynik pingowania w Snort.

4

Page 5: Snort sprawozdanie

5/12/2018 Snort sprawozdanie - slidepdf.com

http://slidepdf.com/reader/full/snort-sprawozdanie 5/10

 

2.2 PHP, MySql, Apache, Pear

Do instalacji powyższych programów wykorzystałem jedną znajpopularniejszych dystrybucji – XAMPP.

Rys. 3 – Instalacja dystrybucjii XAMPP.

Rys. 4 – Panel kontrolny XAMPP.

5

Page 6: Snort sprawozdanie

5/12/2018 Snort sprawozdanie - slidepdf.com

http://slidepdf.com/reader/full/snort-sprawozdanie 6/10

 

Rys. 5 – Strona przedstawiająca stan usług w XAMPP.

2.3 Tworzenie i konfiguracja baz SQL

Następnie stworzyłem i skonfigurowałem bazęMySQL dla BASE.

Rys. 6 – Tworzenie bazy w MySql.

6

Page 7: Snort sprawozdanie

5/12/2018 Snort sprawozdanie - slidepdf.com

http://slidepdf.com/reader/full/snort-sprawozdanie 7/10

 

Rys. 7 – Nadawanie przywilejów bazie.

2.4 Aktualizacja i instalacja dodatkowych paczek PEAR

Do zainstalowania paczek ImageColor i ImageGraph wymagana byłanowsza wersja PEAR niż ta, domyślnie instalowana przez XAMPP.

Poleceniem ‘pear upgrade pear’ przeprowadziłem aktualizację. Następnie

dograłem dodatkowe paczki.

Rys. 8 – Aktualizacja i dogrywanie dodatkowych paczek.

7

Page 8: Snort sprawozdanie

5/12/2018 Snort sprawozdanie - slidepdf.com

http://slidepdf.com/reader/full/snort-sprawozdanie 8/10

 

2.5 SQL Injection

Utowrzyłem bazę testdb i użytkownika testdbuser. Wypełniłem bazęwykorzystując skrypt baza.sql.

C:\Snort\php>mysql -u root -pEnter password: ***Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 12Server version: 5.5.8 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database testdb;Query OK, 1 row affected (0.00 sec)

mysql> GRANT CREATE,DELETE,DROP,SELECT,INSERT,UPDATE on testdb.* totestdbuser@localhost identified by 'testdbuser';Query OK, 0 rows affected (0.00 sec)

mysql> connect testdbConnection id: 13Current database: testdb

mysql> source c:/baza.sqlQuery OK, 0 rows affected (0.19 sec)

Query OK, 4 rows affected (0.14 sec)Records: 4 Duplicates: 0 Warnings: 0

Uruchomienie programu exploit.exe wymagało instalacji środowiska java.

C:\>exploit.exe localhost magda magok!

Odpowiedč serwera:null

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/st rict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /><title>skrypt podatny na sql injection</title></head><body>

Has│o zosta│o zmienione u┐ytkownikowi o imieniu Magda </body></html>

2.6 Uzyskanie numeru ID użytkownika Magda

8

Page 9: Snort sprawozdanie

5/12/2018 Snort sprawozdanie - slidepdf.com

http://slidepdf.com/reader/full/snort-sprawozdanie 9/10

 

Alby uzyskać numer id użytkownika magda wystarczyło w polu usernamewpisać następującą linijkę:

magda' union select (SELECT id FROM users WHERE username='magda') #

A w pozostałe pola cokolwiek, ponieważ przy pustym którymkolwiek poluskrypt nie wykona się.

Spowodowało to, że zapytanie skierowane do bazy danych zamiastwyglądać tak:

UPDATE users SET password=PASSWORD('".$newpassword."') WHERE username='".$username."' AND password=PASSWORD('".$password."')";

Wyglądało tak:

UPDATE users SET password=PASSWORD('".a."') WHERE username='magda' union select(SELECT id FROM users WHERE username='magda') # ."' AND password=PASSWORD('".$password."')";

Część zapytania po # nie wykonałą się, ponieważ oznacza on konieczapytania. W efekcie otrzymałem następujący wynik:

Rys. 9 – Wynik zapytania. 3 na końcu to id użytkownika magda.

2.7 Dodanie zasady identyfikującej ataki przez programexploit.exe

Z analizy pakietów w programie wireshark wywnioskować można, żeexploit łączy się z naszym komputerem poprzez protokół TCP a dopieropóźniej przez protokół HTTP (port 80) wysyła odpowiednio spreparowanezapytanie. Exploit łączy się z plikiem sqlincjection.php.

alert tcp $EXTERNAL_NET any -> $HOME_NET 80 (msg: "sqlinjection.php -> exploit.jar";content:"/sqlinjection.php"; sid:1000000; classtype:web-application-attack;

Powyższą regułę zapisałem, jako exploit.rules i umieściłem w folderze…/snort/rules

9

Page 10: Snort sprawozdanie

5/12/2018 Snort sprawozdanie - slidepdf.com

http://slidepdf.com/reader/full/snort-sprawozdanie 10/10

 

Do pliku …/snort/etc/snort.conf dopisać musiałem następującą linijkę, abypoinformować snorta o nowej regule:

include $RULE_PATH/exploit.rules

W bazie danych pojawił się wpis (oglądany za pomocą skryptu base):

Rys. 10 – Wpis w BASE.

10