Łukasz Przywarty 171018 Wrocław, 30.10.2012 r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: Skanowanie sieci



Podobne dokumenty
Puk, puk! Kto tam? Eeeee... Spadaj!

Bezpieczeństwo poczty elektronicznej

Wykład 8. Temat: Hakerzy, wirusy i inne niebezpieczeństwa. Politechnika Gdańska, Inżynieria Biomedyczna. Przedmiot:

0. Stanowisko laboratoryjne

Studium przypadku Case Study CCNA2-ROUTING. Warianty projektów

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Lab5 - Badanie protokołów pocztowych

Laboratorium nr 1 Skanowanie sieci i ataki aktywne

Instrukcja konfiguracji funkcji skanowania

Usługi sieciowe systemu Linux

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Testy penetracyjne Przykłady programów

Wykaz zmian w programie SysLoger

Bezpieczeństwo poczty elektronicznej

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

Dr Michał Tanaś(

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2012 POCZTA ELEKTRONICZNA PROTOKÓŁ SMTP PRZYKŁADY KOMUNIKACJI

SMTP co to takiego? SMTP Simple Mail Transfer Protocol (Protokół Prostego Przesyłania Poczty) RFC 2821

Instrukcja instalacji usługi Sygnity Service

Laboratorium 3.4.3: Usługi i protokoły

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

System kontroli dostępu ACCO NET Instrukcja instalacji

Laboratorium - Obserwacja procesu tłumaczenia nazw DNS

Tomasz Greszata - Koszalin

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Snifery wbudowane w Microsoft Windows

Przykładowa konfiguracja konta pocztowego w programie Outlook Express z wykorzystaniem MKS 2k7 (MS Windows 2000 Proessional)

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Bezpieczny system poczty elektronicznej

Skanowanie podatności systemów informatycznych

Wykaz zmian w programie SysLoger

Wireshark analizator ruchu sieciowego

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Instalacja i konfiguracja serwera SSH.

Stos TCP/IP. Warstwa aplikacji cz.2

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

Informacje które należy zebrać przed rozpoczęciem instalacji RelayFax.

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL

1. Model klient-serwer

Spis treści 1. Założenia ogólne 2. Wymagania 3. Typy SMSów 4. Statusy SMSów 5. Wysyłanie SMSów - Web API 6. Wysyłanie SMSów - 7.

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

SERWERY WIRTUALNE Stabilność, szybkość i bezpieczeństwo danych...

Którą normę stosuje się dla okablowania strukturalnego w sieciach komputerowych?

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

KONFIGURACJA KONTA POCZTOWEGO DO POBRANIA WIADOMOŚCI Z OBECNEGO SERWERA POCZTOWEGO. Zespół Systemów Sieciowych

Serwer druku w Windows Server

Konfiguracja serwera pocztowego Postfix

Sieci komputerowe i bazy danych

Sieci komputerowe Warstwa aplikacji

ZiMSK NAT, PAT, ACL 1

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Data wykonania

Dynamiczny DNS dla usług typu Neostrada przykład konfiguracji

Instalacja i konfiguracja serwera IIS z FTP

INSTRUKCJA OBSŁUGI DLA SIECI

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API

Wykaz zmian w programie SysLoger

B.B. Połączenie kończy polecenie exit.

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

Zadanie OUTSIDE /24. dmz. outside /24. security- level /16

Przypadki testowe. Spis treści. Plan testów. From Sęp. Wstęp. 2 Plan testów

Java wybrane technologie

Systemy Wymiany Informacji

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Skrócona instrukcja konfiguracji skanowania iwysyłania wiadomości

Budowa wiadomości SMTP. autorzy: Aleksandra Wichert Marcin Żurowski

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

INSTRUKCJA OBSŁUGI PROGRAMU. ver

Linux -- u mnie działa!

Wykaz zmian w programie SysLoger

ZADANIE.09 Syslog, SNMP (Syslog, SNMP) 1,5h

ZADANIE.02 Podstawy konfiguracji (interfejsy) Zarządzanie konfiguracjami 1,5h

Krótka instrukcja instalacji

Java Enterprise Edition spotkanie nr 1 (c.d.) JavaMail

Analiza malware Keylogger ispy

Wykaz zmian w programie WinAdmin Replikator

Wykaz zmian w programie SysLoger

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

ZADANIE.08 RADIUS (authentication-proxy, IEEE 802.1x) 2h

Bazy Danych i Usługi Sieciowe

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

MUCHA S.C Zgorzelec ul.turowska 1

Instrukcja instalacji usługi Sygnity Service

Pytanie 1 Z jakich protokołów korzysta usługa WWW? (Wybierz prawidłowe odpowiedzi)

Ochrona poczty elektronicznej przed spamem. Olga Kobylańska praca dyplomowa magisterska opiekun pracy: prof. nzw.. dr hab.

Administrator systemu Linux program kursu. Wstęp. Część I Szybki wstęp do Linuksa. Część II Praca w środowisku tekstowym

4. Podstawowa konfiguracja

PROTOKOŁY OBSŁUGI POCZTY ELEKTRONICZNEJ

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

ZAKŁADANIE POCZTY ELEKTRONICZNEJ - na przykładzie serwisu

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

INSTRUKCJA OBSŁUGI PROGRAMU. ver

Wstęp INFORMATOR TECHNICZNY WONDERWARE. Wysyłanie wiadomości z programu Wonderware Historian. 1. Aktywowanie Database Mail

ZADANIE.10 DHCP (Router, ASA) 1,5h

Konfiguracja konta pocztowego w Thunderbird

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

Należy zalogować się do starego systemu pocztowego, znajdującego się pod adresem podanym powyżej. Kliknąć 'Options'

Podstawowa konfiguracja routerów. Interfejsy sieciowe routerów. Sprawdzanie komunikacji w sieci. Podstawy routingu statycznego

Transkrypt:

Łukasz Przywarty 171018 Wrocław, 30.10.2012 r. Grupa: WT/N 11:15-14:00 Sprawozdanie z zajęć laboratoryjnych: Skanowanie sieci Prowadzący: mgr inż. Mariusz Słabicki 1 / 6

1. Treść zadania laboratoryjnego W ramach zajęć należało wykonać trzy zadania. Pierwsze z nich polegało na skanowaniu sieci lokalnej w poszukiwaniu serwerów usług HTTP, HTTPS, SSH, FTP, SMTP oraz usług logowania interaktywnego TELNET, RLOGIN, RSH. Kolejne zadanie wymagało napisania skryptu, który pośród usług szuka niebezpiecznych wersji serwerów. Program ma pomagać administratorowi lokalizować dziurawe serwery (uruchamiane przez użytkowników) w jego własnej sieci lokalnej. Ostatnie zadanie zakładało utworzenie skryptu sprawdzającego, czy w lokalnej sieci znajdują się otwarte serwery pocztowe (takie serwery, które pozwalają nielokalnemu użytkownikowi wysłać pocztę poza sieć lokalną). 2. Realizacja zadań laboratoryjnych 2.1 Zadanie pierwsze W celu wykonania pierwszego zadania należało zainstalować program nmap, który służy do eksploracji sieci oraz audytów bezpieczeństwa. Obsługa narzędzia jest bardzo prosta i sprowadza się do uruchomienia programu z odpowiednimi parametrami. Właściwie skonstruowane polecenie przedstawia listing 1. Listing 1: Komenda służąca do listowania serwerów konkretnych usług nmap -sv -p T:80,8080,443,22,25,110,21,23,107,513,514 156.17.40.0/24 Warto zwrócić uwagę na poszczególne parametry: sv opcja wykrywa usługi na otwartych portach, p skanowanie tylko konkretnych portów, T:80,... - tablica portów, które będą skanowane, 156.17.40.0/24 specyfikacja celu, w tym przypadku adres IP (może być również nazwa hosta, lub na przykład zakres adresów IP). 2 / 6

Polecenie wypisuje na standardowe wyjście (w tym przypadku konsolę) listę wszystkich serwerów usług. Fragment listy prezentuje listing 2. Listing 2: Efekt wykonania nmap Starting Nmap 5.21 ( http://nmap.org ) at 2012-10-23 13:31 CEST ( ) Interesting ports on defect.ict.pwr.wroc.pl (156.17.40.27): PORT STATE SERVICE VERSION 21/tcp open ftp Solaris ftpd 22/tcp open ssh SunSSH 1.0.1 (protocol 2.0) 23/tcp open telnet Sun Solaris telnetd 25/tcp closed smtp 80/tcp open http 107/tcp closed unknown 110/tcp closed pop3 443/tcp closed https 513/tcp open login 514/tcp open tcpwrapped 8080/tcp closed http-proxy Service Info: OS: Solaris Interesting ports on lak.ict.pwr.wroc.pl (156.17.40.28): PORT STATE SERVICE VERSION 21/tcp open tcpwrapped 22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu6 (protocol 2.0) 80/tcp open http Apache httpd 2.2.14 ((Ubuntu)) ( ) Service detection performed. Please report any incorrect results at http://nmap.org/submit/. Nmap done: 256 IP addresses (35 hosts up) scanned in 94.20 seconds Jak widać, program analizuje konkretne porty poszczególnych hostów. W momencie gdy narzędzie rozpoznaje wersję serwera usługi odpowiednia informacja pojawia się w kolumnie VERSION. Niestety wiele serwerów usług nie zostaje rozpoznanych i mimo, że port jest otwarty nie wiadomo, jaka usługa z niego korzysta. 2.2 Zadanie drugie Rozwiązanie zaprezentowane w punkcie 2.1 jest ogólne, co znaczy, że administrator otrzymuje cały wachlarz informacji na temat usług uruchomionych w jego sieci lokalnej. Aby wyłuskać z listy usług serwery niebezpieczne, należało napisać skrypt analizujący wyjście narzędzia nmap. Efektem działania skrypu powinnna być lista hostów, na których uruchomione są niebezpieczne serwery usług. Próbę rozwiązania problemu widać na listingu 3. 3 / 6

Listing 3: Skrypt wypisujące serwery usług niebezpiecznych 1. #!/usr/bin/perl 2. 3. use Term::ANSIColor; 4. 5. my @dangerousservices =( 6. "SunSSH 1.0.1", "SunSSH 1.0", "SunSSH 1.1", "SunSSH 1.2", 7. "Apache httpd 1.3", "Apache httpd 2.0", "Apache httpd 2.1", "Apache httpd 2.2", 8. "Exim smtpd 4.69", "Exim smtpd 4.72", 9. "OpenSSH 3.3", "OpenSSH 3.4" 10. ); 11 12. my $hosts = `nmap -sv -p T:80,8080,443,22,25,110,21,23,107,513,514 13. 156.17.40.0/24`; 14. 15. @hoststable = split(/\n\n/, $hosts); 16. 17. foreach(@hoststable) { 18. my $host = $_; 19. foreach(@dangerousservices) { 20. if($host =~ m/([\s\s]+?)$_([\s\s]+?)/g) { 21. use Term::ANSIColor qw(:constants); 22. print BOLD, RED, "Uwaga podejrzane usługi na hoscie: $_\n", RESET; 23. print "$host\n\n"; 24. } 25. } 26. } Największym wyzwaniem okazało się zdefiniowanie wszystkich niebezpiecznych serwerów usług. Można dojść do wniosku, że każda starsza wersja oprogramowania (sprzed roku, dwóch) będzie bardziej niebezpieczna, niż wersja aktualna, jednak nie jest to regułą. Niektóre wersje serwerów mimo aktualizacji, posiadają luki bezpieczeństwa. Czasem zdarza się również, że starsza wersja oprogramowania jest bardziej stabilna niż nowa. Napisany skrypt posiada ograniczoną funkcjonalność (lista niebezpiecznych serwerów jest niekompletna). Pośród serwerów szuka tylko tych wersji, które zawarte są w tablicy dangerousservices. Dalsze objaśnienia dotyczące kodu znajdują się poniżej: Linia 3 dołączenie biblioteki posiadającej funkcje do kolorowania tekstu (skrypt oznacza niebezpieczne serwery czerwonym kolorem), Linia 5 deklaracja tablicy niebezpiecznych wersji serwerów, Linia 12 wywołanie narzędzia nmap z parametrami, 4 / 6

Linia 15 zauważono, że każdy host razem z jego listą usług jest oddzielony od drugiego znakiem podwójnej spacji. Pozwala to umieścić dane dotyczące konkretnego hosta w jednej komórce tabeli hoststable. Linia 17 w każdym wierszu tabeli program szuka ciągu znaków oznaczającego niebezpieczną wersję serwera, Linia 22 w przypadku, gdy na hoście jest uruchomiona niebezpieczna usługa, cały wiersz tabeli zostaje wypisany na wyjście a usługa oznaczona kolorem czerwonym. Program poprawnie filtruje listę hostów i wyświetla tylko te, które są potencjalnie niebezpieczne. 2.3 Zadanie trzecie Korzystając z listy serwerów uzyskanej za pomocą narzędzia nmap można wyodrębnić serwery poczty wychodzącej SMTP (działającej na porcie 25). Podczas trwania zajęć sprawdzono mechanizm wysyłania poczty przy użyciu programu netcat. Ze względu na duże opóźnienia w sieci proces sprawdzania otwartości serwera nie został zautomatyzowany. Skrypt testowy przedstawia listing 4. Listing 4: Skrypt wysyłający wiadomość za pośrednictwem konkretnego serwera pocztowego 1. #!/usr/bin/perl 2. 3. my $date = `date "+%a, %d %b %Y %H:%M:%S %z"`; 4. chomp($date); 5. 6. my $hostname = 'actina.eka.pwr.wroc.pl'; 7. 8. my $msg = 'EHLO '. $hostname. ' 9. MAIL FROM: lukasz@przywarty.com 10. RCPT TO: przywarty@yahoo.com 11. DATA 12. From: A tester <lukasz@przywarty.com> 13. To: <przywarty@yahoo.com> 14. Date: '. $date. ' 15. Subject: A test message 16. 17. Lucas 18.. 19. QUIT'; 20. 21. open(my $fh, '>', 'mail.txt') or die "Could not open file"; 22. say $fh $msg; 23. close $fh; 24. 25. my $sending = `ncat -C "$hostname" 25 < mail.txt`; 26. print $sending; 5 / 6

Objaśnienia: Linia 3 do 4 uzyskania aktualnej daty w odpowiednim formacie (data jest jednym z pól wysyłanej wiadomości), Linia 6 deklaracja hosta, który będzie pośredniczył w wysyłaniu wiadomości, Linie 8 do 15 deklaracja wiadomości email o ustalonej z góry strukturze, Linie 21 do 23 zapisanie wiadomości do pliku tekstowego, Linia 25 wywołanie narzędzie ncat z odpowiednimi parametrami: nazwą hosta, portem oraz plikiem wejściowym (wiadomością). Efekt działania programu prezentuje listing 5. Listing 5: Efekt działania skryptu wysyłającego wiadomość 220 actina ESMTP Postfix (Ubuntu) 250-actina 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN 250 2.1.0 Ok 554 5.7.1 <przywarty@yahoo.com>: Relay access denied 554 5.5.1 Error: no valid recipients 221 2.7.0 Error: I can break rules, too. Goodbye. Aby zakończyć zadanie należałoby wyłuskiwać adresy hostów z otwartymi portami numer 25, a następnie (wg procedury przedstawionej w listingu 4) sprawdzać, czy proces wysyłania wiadomości kończy się sukcesem. 6 / 6