You are on page 1of 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 wama SNORT zintegrowany z systemem baz danych i narzdziem do analizy informacji

NAZWISKO: Dzigielewski
TERMIN WYKONANIA: 08-01-2011 10-01-2011

IMI: Lech
TERMIN ODDANIA: :

Prowadzcy: Dr in. Grzegorz Bialic

1. Teoria 1.1 Snort Snort sieciowy system wykrywania wama, dostpny na wolnej licencji. Snort posiada szeroki zakres mechanizmw detekcji atakw oraz umoliwia, w czasie rzeczywistym, dokonywanie analizy ruchu i rejestrowanie pakietw przechodzcych przez sieci oparte na protokoach IP/TCP/UDP/ICMP. Potrafi przeprowadza analiz strumieni pakietw, wyszukiwa i dopasowywa podejrzane treci, a take wykrywa wiele atakw i anomalii, takich jak przepenienia bufora, skanowanie portw typu stealth, ataki na usugi WWW, SMB, prby wykrywania systemu operacyjnego i wiele innych. SNORT moe dziaa, jako niezaleny sniffer, rejestrator pakietw lub system IDS. aden z tych trybw nie ma przewagi nad pozostaymi. Wyjtkiem moe by tylko rejestrator pakietw, ktry potrafi zapisywa pakiety na dysku w zorganizowanej strukturze katalogw. Jeeli odpowiednio skonfigurujemy plik snort.conf, spowoduje to, e system bdzie rejestrowa tylko pakiety dopasowane do regu okrelonych w tym wanie pliku. 1.2 SQL Injection SQL Injection (z ang., dosownie zastrzyk SQL) luka w zabezpieczeniach aplikacji internetowych polegajca na nieodpowiednim filtrowaniu lub niedostatecznym typowaniu i pniejszym wykonaniu danych przesyanych w postaci zapyta SQL do bazy danych. Podatne s na niego systemy zoone z warstwy programistycznej (przykadowo skrypt w PHP, ASP, JSP itp.) dynamicznie generujcej zapytania do bazy danych (MySQL, PostgreSQL itp.). Wynika on zwykle z braku dowiadczenia lub wyobrani programisty.

2. Wykonanie zadania
Do wykonania wiczenia uyem programu VMWare Workstation. Po konfiguracji maszyny i instalacji systemu Windows XP Professional przechodz do instalacji wymaganych programw. 2.1 Snort

Rys. 1 Interfejsy sieciowe w Snort.

Rys. 2 Wynik pingowania w Snort.

2.2 PHP, MySql, Apache, Pear Do instalacji powyszych programw wykorzystaem jedn z najpopularniejszych dystrybucji XAMPP.

Rys. 3 Instalacja dystrybucjii XAMPP.

Rys. 4 Panel kontrolny XAMPP.

Rys. 5 Strona przedstawiajca stan usug w XAMPP.

2.3 Tworzenie i konfiguracja baz SQL Nastpnie stworzyem i skonfigurowaem bazMySQL dla BASE.

Rys. 6 Tworzenie bazy w MySql.

Rys. 7 Nadawanie przywilejw bazie.

2.4 Aktualizacja i instalacja dodatkowych paczek PEAR Do zainstalowania paczek ImageColor i ImageGraph wymagana bya nowsza wersja PEAR ni ta, domylnie instalowana przez XAMPP. Poleceniem pear upgrade pear przeprowadziem aktualizacj. Nastpnie dograem dodatkowe paczki.

Rys. 8 Aktualizacja i dogrywanie dodatkowych paczek.

2.5 SQL Injection Utowrzyem baz testdb i uytkownika testdbuser. Wypeniem baz wykorzystujc skrypt baza.sql.
C:\Snort\php>mysql -u root -p Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 Server 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 its affiliates. Other names may be trademarks of their respective owners. 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.* to testdbuser@localhost identified by 'testdbuser'; Query OK, 0 rows affected (0.00 sec) mysql> connect testdb Connection id: 13 Current database: testdb mysql> source c:/baza.sql Query 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 wymagao instalacji rodowiska java.


C:\>exploit.exe localhost magda mag ok! 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=iso8859-2" /> <title>skrypt podatny na sql injection</title> </head> <body> Haso zostao zmienione uytkownikowi o imieniu Magda </body> </html>

2.6 Uzyskanie numeru ID uytkownika Magda

Alby uzyska numer id uytkownika magda wystarczyo w polu username wpisa nastpujc linijk:
magda' union select (SELECT id FROM users WHERE username='magda') #

A w pozostae pola cokolwiek, poniewa przy pustym ktrymkolwiek polu skrypt nie wykona si. Spowodowao to, e zapytanie skierowane do bazy danych zamiast wyglda tak:
UPDATE users SET password=PASSWORD('".$newpassword."') WHERE username='". $username."' AND password=PASSWORD('".$password."')";

Wygldao 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 koniec zapytania. W efekcie otrzymaem nastpujcy wynik:

Rys. 9 Wynik zapytania. 3 na kocu to id uytkownika magda.

2.7 Dodanie zasady identyfikujcej ataki przez program exploit.exe Z analizy pakietw w programie wireshark wywnioskowa mona, e exploit czy si z naszym komputerem poprzez protok TCP a dopiero pniej przez protok HTTP (port 80) wysya odpowiednio spreparowane zapytanie. 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;

Powysz regu zapisaem, jako exploit.rules i umieciem w folderze /snort/rules 9

Do pliku /snort/etc/snort.conf dopisa musiaem nastpujc linijk, aby poinformowa snorta o nowej regule:
include $RULE_PATH/exploit.rules

W bazie danych pojawi si wpis (ogldany za pomoc skryptu base):

Rys. 10 Wpis w BASE.

10

You might also like