Professional Documents
Culture Documents
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: :
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
2.2 PHP, MySql, Apache, Pear Do instalacji powyszych programw wykorzystaem jedn z najpopularniejszych dystrybucji XAMPP.
2.3 Tworzenie i konfiguracja baz SQL Nastpnie stworzyem i skonfigurowaem bazMySQL dla BASE.
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.
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
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:
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;
Do pliku /snort/etc/snort.conf dopisa musiaem nastpujc linijk, aby poinformowa snorta o nowej regule:
include $RULE_PATH/exploit.rules
10