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



Σχετικά έγγραφα
Άσκηση 1. Θέµατα Ταυτοποίησης και Πιστοποίησης

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

Ώπα, ώπα ώπα... Ξέρω τι σκέφτεστε. Δεν είμαι Διαχειριστής Συστημάτων! Και ούτε θέλω να γίνω!.

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

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

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

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

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

Δίκτυα Η/Υ στην Επιχείρηση

Λειτουργικά Συστήματα

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix

ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης. 8ο Εργαστήριο

Διαδικαστικά. Εισαγωγή στο Λειτουργικό Σύστημα UNIX. Διαδικαστικά. Τι είναι το Λειτουργικό Σύστημα

2ο Εργαστήριο. Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών

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

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

CYTA Cloud Server Set Up Instructions

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

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

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

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

L : Χρησιµοποιείται για να αποθηκεύσουµε τα δεδοµένα που έχουµε καταχωρήσει (στο S

ΕΡΓΑΣΤΗΡΙΟ #1. Το Λειτουργικό Σύστηµα Unix

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Οδηγίες. Εγκατάσταση Προσωπικού Πιστοποιητικού

Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες

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

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

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

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Εισαγωγή στο Λειτουργικό Σύστημα UNIX

PortSip Softphone. Ελληνικά Ι English 1/20

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

ΚΕΝΤΡΟ ΑΝΑΠΤΥΞΗΣ ΚΑΙ ΙΑΧΕΙΡΙΣΗΣ ΙΚΤΥΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ Ο ΗΓΟΣ ΧΡΗΣΗΣ ΕΓΚΑΤΑΣΤΑΣΗ DIALUP NETWORKING ΣΕ MICROSOFT WINDOWS 2000

Αβδέλαρου Κωνσταντίνα

Εισαγωγή στη Χρήση της Εφαρµογής Compaq Visual Fortran & του Microsoft Developer Studio

Εγκατάσταση και βασική διαχείριση ενός ιστοτόπου

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP

Οδηγίες. Εγκατάσταση Προσωπικού Πιστοποιητικού

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Εισαγωγή στο λειτουργικό σύστηµα Unix

How to register an account with the Hellenic Community of Sheffield.

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

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

ιαχείριση Στόλου Οχηµάτων

Κέντρο υποστήριξης HP. Εισαγωγή. Τι χρειάζεται να γνωρίζετε. Λήψη και εγκατάσταση της λύσης Vista στα Windows 8. 1 of 5 1/7/2014 2:09 μμ

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα»

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

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

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

Λειτουργικά Συστήματα - Εργαστήριο 6. 6ο Εργαστήριο. Συμπίεση αρχείων Χρήση ειδικών χαρακτήρων στην γραμμή εντολών. Χρήστες και Ομάδες Χρηστών

Τεχνικό εγχειρίδιο εφαρµογής διαχείρισης διαδικτυακού κόµβου: INNET

ιαφάνειες παρουσίασης #12

SSH. Tutorial. Γιώργος Καππές

Οδηγίες χρήσης για εφαρμογή WiFi ΑC

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

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

Λειτουργικά Συστήματα

ΚΕΦΑΛΑΙΟ Web Services

Υπηρεσία Πληροφορικών Συστημάτων Τομέας Συστημάτων

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Ρύθμιση Postfix SMTP Server, Courier IMAP, POP3 σε Ubuntu Linux

ΤΗΛΕΦΩΝΙΚΗ ΣΥΣΚΕΥΗ SNOM 300 έκδοση ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΙΣΤΟΣΕΛΙΔΑΣ

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

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

Μερικές άλλες χρήσιμες εντολές

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

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

Προγραµµατισµός 2 The shell

Οδηγίες Σύνδεσης Ασύρματου Δικτύου ΤΜΗΥ&Π. Οδηγίες Σύνδεσης για λοιπά Linux/Unix Συστήματα

Epsilon Net PYLON Platform

Η Υπηρεσία του Ηλεκτρονικού Ταχυδροµείου ( )

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

DCW Rapid Access Packaging. Τι είναι το DCWrap

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

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

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

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Ρυθµ θ ίσ ί ε σ ις ς e-mai a l i dsp s ei e ra r i a a.gr g

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 9o ΕΡΓΑΣΤΗΡΙΟ

Version X. Οδηγίες χρήσης

FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων

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

Οδηγός Χρήσης Εργαστηρίων UNIX (LINUX) B103 και 103 και απομακρυσμένης πρόσβασης με την χρήση X2Go

/03/ /03/ /02/ /03/ /03/ /04/2013, ( 11/03/ /05/2013

databases linux - terminal (linux / windows terminal)

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ FORUM SITE

Βασικές εντολές του Unix-Linux


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

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ


Οδηγίες χρήσης για εφαρμογή WiFi ΑC

Ηλεκτρονικές Υπηρεσίες: ηλώσεις Μαθηµάτων Συγγραµµάτων, Ηλεκτρονικό Ταχυδροµείο, Πιστοποιητικό Ασφάλειας

Transcript:

Εργαστήριο Ασφάλειας Υπολογιστικών Συστηµάτων και ικτύων Άσκηση 1 Για την είσοδο ενός χρήστη σε ένα υπολογιστικό σύστηµα απαιτείται η εισαγωγή ενός ονόµατος χρηστή (login name) και ενός κωδικού πρόσβασης (password). Το όνοµα χρήστη είναι το όνοµα µε το οποίο το σύστηµα αναγνωρίζει το συγκεκριµένο χρήστη, ενώ ο κωδικός πρόσβασης επιβεβαιώνει στο σύστηµα ότι ο χρήστης είναι πράγµατι αυτός που ισχυρίζεται ότι είναι. Κατά την είσοδο σας στο σύστηµα θα χρησιµοποιήσετε κάποιους από τους ήδη υπάρχοντες λογαριασµούς στο σύστηµα µε login name και password όπως δίνονται παρακάτω: login: root Password: 1234 Πατώντας enter, και έχοντας εισάγει τα σωστά στοιχεία του λογαριασµού µας µπαίνουµε στο σύστηµα κανονικά. Στην αντίθετη περίπτωση θα µας εµφανιστεί το µήνυµα Login incorrect και απαιτείται νέα εισαγωγή των παραπάνω στοιχείων. ηµιουργία νέου λογαριασµού (account) και διαγραφή λογαριασµού. Για να δηµιουργήσουµε έναν νέο λογαριασµό χρήστη στο σύστηµα εκτελούµε την εντολή useradd secx * passwd secx Για να διαγράψουµε ένα λογαριασµό από το σύστηµα εκτελούµε την εντολή: userdel r secx µε τη χρήση της παραµέτρου r διαγράφουµε το προσωπικό κατάλογο (home directory) του χρήστη. * όπου Χ εισάγετε τον αριθµό της οµάδας σας (π.χ. sec1) Επίσης µπορούµε να δηµιουργήσουµε ένα χρήστη µε ένα πιο αυτοµατοποιηµένο τρόπο εκτελώντας την εντολή adduser. Παρακάτω σας δίνεται εξήγηση για όλα τα στοιχεία που ζητούνται από το σύστηµα και τα στοιχεία που πρέπει να εισαχθούν. adduser Login name for new user : secx User ID ('UID') [ defaults to next available ] Initial group [ users ]: Additional groups (comma separated) ]: Home directory [ /home/giannis ] Shell [ /bin/bash ] Expiry date (YYYY-MM-DD) []: (όνοµα νέου χρήστη) (αριθµητική ταυτότητα χρήστη) (αρχική οµάδα συµµετοχής χρήστη) (επιπλέον οµάδες χρηστών) (προσωπικός κατάλογος χρήστη) (κέλυφος)* (Ηµεροµηνία λήξης λογαριασµού) * Το κέλυφος είναι το πρόγραµµα που επιτρέπει στον χρήστη την εκτέλεση εφαρµογών και την αλληλεπίδραση µε το λειτουργικό σύστηµα unix. Κατόπιν το σύστηµα επιβεβαιώνει τη δηµιουργία του νέου λογαριασµού µε βάση τα στοιχεία που δόθηκαν όπως παρακάτω. New account will be created as follows: --------------------------------------- Login name: secx UID: [ Next available ] Initial group: users Additional groups: [ None ] Home directory: /home/secx Shell: /bin/bash 1

Expiry date: [ Never ] This is it... if you want to bail out, hit Control-C. Otherwise, press ENTER to go ahead and make the account. Creating new account... Changing the user information for secx Enter the new value, or press ENTER for the default Full Name []: Security Lab_X Room Number []:LAB8 Work Phone []: Home Phone []: Other []: Κατόπιν η εφαρµογή µας ζητά να δηλώσουµε το password του νέου λογαριασµού. Θα χρησιµοποιήσετε το ίδιο password που χρησιµοποιήσατε και στην προηγούµενη περίπτωση, όπως φαίνεται παρακάτω. Changing password for secx Enter the new password (minimum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password: secx_1234 Password changed. Account setup complete. Βγείτε από το λογαριασµό root µε την εντολή logout και κατόπιν µπείτε στο λογαριασµό που δηµιουργήσατε πιο πάνω. Αλλαγή κωδικού Στην περίπτωση που θέλουµε να αλλάξουµε τον κωδικό µας στο σύστηµα UNIX και ενώ φυσικά είµαστε µέσα στο σύστηµα, δίνουµε την παρακάτω εντολή και παίρνουµε τις παρακάτω αποκρίσεις από το σύστηµα. passwd secx (εντολή αλλαγής password) Enter the new password (εισαγωγή νέου password) New password: secx1234 Re-enter new password: secx1234 (επιβεβαίωση νέου password) Password changed Η αλλαγή του password ενός άλλου χρήστη µπορεί να γίνει µόνο από τον διαχειριστή του συστήµατος ο οποίος έχει τα κατάλληλα δικαιώµατα. Αρχεία shadow και passwd Σε αυτά τα δύο αρχεία αποθηκεύονται οι πληροφορίες για τον κάθε χρήστη. Τα αρχεία αυτά βρίσκονται στον κατάλογο /etc /etc/passwd: Σε αυτό το αρχείο αποθηκεύονται τα στοιχεία του χρήστη (το uid & το gid του, το ονοµατεπώνυµό του, διάφορα άλλα στοιχεία του, το homedir του και το shell του. Μια εγγραφή (entry) στο αρχείο αυτό έχει την παρακάτω µορφή. giannis:x:1001:100:,giannis Papadopoulos,,:/home/giannis:/bin/bash username uid gid όνοµα_χρήστη homedir shell Μπορείτε να δείτε το αρχείο αυτό µε τις παρακάτω εντολές cd /etc cat passwd η εναλλακτικά: cat /etc/passwd /etc/shadow: Σε αυτό το αρχείο αποθηκεύονται οι κωδικοί των χρηστών του συστήµατος. Οι κωδικοί αυτοί είναι κρυπτογραφηµένοι µε ισχυρούς αλγόριθµους (για ευνόητους λόγους) και µόνο o διαχειριστής (administrator η root) του συστήµατος µπορεί και διαβάζει αυτό το αρχείο. Παρόλο αυτά ούτε αυτός µπορεί να αποκρυπτογραφήσει τους κωδικούς. 2

Παρακάτω φαίνεται ο κρυπτογραφηµένος κωδικός του χρηστή giannis. Η γραµµή αυτή βρίσκεται µέσα στο /etc/shadow. O αποκρυπτογραφηµένος κωδικός αυτής της γραµµής είναι test12 giannis:1eiz1v0/ycnc5uspqjgly7zq5gce7y/:12032:0:99999:7::: Χρησιµοποιήστε έναν από τους παραπάνω τρόπους για να δείτε το αρχείο shadow. Κατά τη διαδικασία της εισόδου του χρήστη στο σύστηµα καλούνται αυτά τα αρχεία και διαβάζονται οι γραµµές που αφορούν το χρήστη. Εάν τα στοιχεία που εισάγονται συµφωνούν µε το περιεχόµενο των αρχείων τότε µόνο επιτρέπεται η πρόσβαση στο χρήστη. Τρόποι αποµακρυσµένης εισόδου Εκτός από την τυπική διαδικασία εισόδου (login) στην τερµατική κονσόλα του unix µπορούµε να συνδεθούµε και αποµακρυσµένα σε ένα unix σύστηµα. Οι τρόποι που χρησιµοποιούνται κυρίως είναι οι παρακάτω: ιαδικασία rlogin Το rlogin συγκαταλέγεται στις πιο παλιές διαδικασίες εισόδου σε ένα σύστηµα Unix. Χρησιµοποιώντας έναν κωδικό ο χρήστης µπορεί να µπει στο σύστηµα. Υποθέτουµε πως ο υπολογιστής µε την ip 10.0.0.1 τρέχει την υπηρεσία rlogin. Ο χρήστης που γνωρίζει το σωστό κωδικό µπορεί από κάποιο άλλο σύστηµα Unix να συνδεθεί αποµακρυσµένα πάνω σε αυτό τον υπολογιστή. Η υπηρεσία rlogin ανοίγει την πόρτα 513/ tcp στο αποµακρυσµένο σύστηµα. Με έναν rlogin client συνδεόµαστε στην πόρτα 513/tcp του αποµακρυσµένου συστήµατος όπως και στο παράδειγµα. Για τη σύνδεση αυτή θα χρησιµοποιήσουµε έναν κοινό λογαριασµό. Εκτελέστε την εντολή: rlogin -l sec 10.0.0.1 Password: 1234 Η παράµετρος - l δηλώνει µε πιο όνοµα χρήστη θα συνδεθούµε στο σύστηµα Για να αποσυνδεθούµε πληκτρολογούµε την εντολή logout ή exit ή πατάµε CRL + D Γενικά στα unix συστήµατα υπάρχει η δυνατότητα κατασκευής ενός αρχείου που ονοµάζεται.rhosts το οποίο επιτρέπει σε έναν χρήστη να συνδεθεί µέσω rlogin χωρίς να του ζητηθεί password. Για να συµβεί αυτό πρέπει το αρχείο.rhosts να βρίσκεται στον προσωπικό κατάλογο (home directory) και να περιέχει τους χαρακτήρες + +. Εκτελέστε την εντολή: rlogin -l sec 10.0.0.1 Αποσυνδεθείτε από το λογαριασµό κατά τον ίδιο τρόπο. ιαδικασία telnet Η ίδια ακριβώς διαδικασία εισόδου συµβαίνει και µε την υπηρεσία telnet. Η υπηρεσία telnet «ακούει» στην πόρτα 23 του tcp και µε έναν telnet client µπορούµε να συνδεθούµε αποµακρυσµένα πάνω στο Unix σύστηµα. Για να συνδεθούµε στο σύστηµα µε ip 10.0.0.1 και στην υπηρεσία telnet χρησιµοποιούµε την εντολή: telnet 10.0.0.1 login: sec password: 1234 Για να αποσυνδεθούµε πληκτρολογούµε την εντολή logout ή exit ή πατάµε CRL + D Οι διαδικασίες αποµακρυσµένης εισόδου telnet και rlogin δεν χρησιµοποιούνται πλέον λόγω του ότι δεν είναι ασφαλείς αφού ο κωδικός και τα δεδοµένα που περνάνε από το δίκτυο δεν κρυπτογραφούνται µε αποτέλεσµα να µπορεί κάποιος µε κατάλληλα προγράµµατα να τα υποκλέψει. ιαδικασία ssh (Secure Shell) 3

Η υπηρεσία αυτή ακούει στη θύρα 22/tcp και προσφέρει δυνατότητα ασφαλούς (κρυπτογραφηµένης) σύνδεσης. Για να συνδεθούµε µε την υπηρεσία ssh στον αποµακρυσµένο εξυπηρετητή χρησιµοποιούµε την εντολή: ssh -l sec 10.0.0.1 Κατά την πρώτη φορά της σύνδεσης µε την υπηρεσία ssh χρειάζεται ο χρήστης να επιβεβαιώσει το κρυπτογραφικό κλειδί που θα χρησιµοποιηθεί στην επικοινωνία. Αν δεν επιβεβαιωθεί η σύνδεση τερµατίζεται. Άρα στην αντίστοιχη προτροπή του αποµακρυσµένου συστήµατος πληκτρολογήστε yes. Password: Για να αποσυνδεθούµε πληκτρολογούµε την εντολή logout ή exit ή πατάµε CTRL + D Αυτόµατες γεννήτριες κωδίκων πρόσβασης και παραβίαση κωδίκων πρόσβασης. Η δυνατότητα ανάγνωσης του αρχείου /etc/shadow ισοδυναµεί µε την περίπτωση διαρροής κωδίκων πρόσβασης του συστήµατος. Οι αυτόµατες γεννήτριες κωδίκων πρόσβασης παράγουν κωδικούς ανάλογα µε τις παραµέτρους εισόδου των χρηστών που αντιστοιχούν σε συγκεκριµένους κανόνες και τους τοποθετούν σε ένα αρχείο. Έπειτα το αρχείο αυτό χρησιµοποιείται από προγράµµατα παραβίασης κωδίκων πρόσβασης (password crackers) έτσι ώστε να βρεθούν µη ασφαλείς κωδικοί. Στη δική µας περίπτωση θα χρησιµοποιήσουµε το πρόγραµµα pspg για την δηµιουργία κωδίκων πρόσβασης, το πρόγραµµα 'john the ripper' για την παραβίαση των κωδίκων και αρχείο /etc/shadow που εµπεριέχει τους κρυπτογραφηµένους κωδικούς των χρηστών. Εκτελώντας τη γεννήτρια κωδικών (µε την ονοµασία ego-gen) µπορούµε να εξάγουµε σε ένα αρχείο κωδικούς µε τα κριτήρια που έχουµε δηλώσει στο πρόγραµµα. Στο παράδειγµα αυτό θα εξάγουµε κωδικούς από 1-3 πεζούς λατινικούς χαρακτήρες. Στη συνέχεια θα χρησιµοποιήσουµε έναν από τους εξαγόµενους κωδικούς ως το password ενός υποτιθέµενου χρήστη και στη συνέχεια θα τον σπάσουµε µε το πρόγραµµα john-the-ripper. Εκτελούµε το πρόγραµµα ego-gen δίνοντας την εντολή ego-gen int ==================================++++++++++++++++ Egoistic Wordlist Generator v2.2 by Divide by Zero ==================================++++++++++++++++ Initializing... Interactive mode requested - aborting all other procedures... Entering interactive mode... Το πρόγραµµα µας ρωτάει πώς θέλουµε να παραµετροποιήσουµε το λεξικό κωδικών που θα εξαχθεί. Οι παράµετροι που χρησιµοποιούµε είναι: -Password character set: Include lowercase characters[a...z]-26 chars-(y/n)?: y (Αν θέλουµε να χρησιµοποιήσουµε πεζά γράµµατα) Επιλέγουµε Υ (ΝΑΙ) Include uppercase characters[a...z]-26 chars-(y/n)?: n (Αν θα χρησιµοποιήσουµε κεφαλαία γράµµατα) Επιλέγουµε Ν (ΌΧΙ) Include numbers[0...9]-10 chars-(y/n)?: n (Αν θα χρησιµοποιήσουµε αριθµούς). Επιλέγουµε Ν Include whitespace character[ ]-1 char-(y/n)?: n Include punctuation and special characters[`...?]-32 chars-(y/n)?: n (Αν θα χρησιµοποιήσουµε σηµεία στίξης και ειδικούς χαρακτήρες) Επιλέγουµε Ν Include extended ASCII characters...]-129 chars-(y/n)?: n -Word generation scheme mode: (Από πόσους µέχρι πόσους χαρακτήρες θα αποτελούνται οι κωδικοί µας [1] - Set a MIN and MAX number of characters in words [2] - Set a STARTING and ENDING word Επιλέγουµε την 1 η επιλογή για να ορίσουµε το πλήθος των χαρακτήρων που επιθυµούµε Select generation mode[1...2]: 1 -Enter minimum number of characters[1...30]: 1 (Ο µικρότερος δυνατός συνδυασµός χαρακτήρων)επιλέγουµε 1 -Enter maximum number of characters[1...30]: 3 4

(Ο µεγαλύτερος δυνατός συνδυασµός χαρακτήρων) Επιλέγουµε 3 -Enter the wordlist filename[filename.ext]: wordlist Πως θα αποθηκεύσουµε τη λίστα µε τους παραγόµενους κωδικούς. Την ονοµάζουµε wordlist. -Wordlist generation mode: [1] - Egoistic mode (XXXman) [2] - Normal mode (XXX) [3] - Pre-post words mode (prexxxpost) Select generation mode[1...3]: 2 Εδώ χρησιµοποιούµε την δεύτερη επιλογή. -Wordlist viewing mode: [1] - View the whole list while generating (slow) [2] - Quick view the list while generating (fast) [3] - Do not view the list at all while generating (fastest) Select viewing mode[1...3]: 3 Στο σηµείο αυτό δεν επιθυµούµε να βλέπουµε σε πραγµατικό χρόνο τους κωδικούς που εξάγονται. Έτσι χρησιµοποιούµε την 3 η επιλογή. -Break the list in pieces (Y/N)?: n Στην επιλογή αυτή απαντάµε αρνητικά έτσι ώστε να έχουµε ένα αρχείο µόνο µε τους παραγόµενους κωδικούς. The size of the file will be: 72384 bytes Εδώ ενηµερωνόµαστε για το µέγεθος του λεξικού που πρόκειται να δηµιουργηθεί. Εάν για οποιαδήποτε περίπτωση δεν επιθυµούµε να συνεχίσουµε πατάµε CTRL +C Building wordlist... Elapsed time: 0 seconds Words Generated: 18278 Εδώ φαίνεται καθαρά πόσοι κωδικοί κατασκευάστηκαν µε τις παραµέτρους που εισάγαµε. Wordlist has been generated Η λίστα µόλις κατασκευάστηκε Μπορούµε να δούµε το παραγόµενο αρχείο κάνοντας ls ανοίγοντας το µε έναν κειµενογράφο. Π.χ. joe joe wordlist Με ctrl+c βγαίνουµε από τον κειµενογράφο. Αφού διαλέξουµε έναν τυχαίο παραγόµενο κωδικό από το αρχείο που µόλις ανοίξαµε δηµιουργούµε έναν χρήστη µε όνοµα nonsecuser και µε κωδικό τον κωδικό που έχουµε επιλέξει από το αρχείο. Για το παράδειγµα αυτό, επιλέγουµε των παραγόµενο κωδικό abc. Η δηµιουργία του χρήστη θα γίνει είτε µε το πρόγραµµα useradd είτε µε το script adduser, όπως κάναµε προηγούµενα. Στη συνέχεια εκτελούµε το πρόγραµµα john-the-ripper µε την εντολή john -user:nonsecuser /etc/shadow (To /etc/shadow είναι το αρχείο που κρατάει τους κωδικούς των χρηστών σε κρυπτογραφηµένη µορφή, όπως αναφέρθηκε παραπάνω). Το πρόγραµµα john δοκιµάζει πιθανούς συνδυασµούς ή «εύκολους κωδικούς» έτσι ώστε να καταφέρει να σπάσει τον κωδικό που έχουµε εισάγει. Μετά από λίγη ώρα θα δούµε πως το john έχει πλέον εµφανίσει( υποκλέψει) τον κωδικό του χρήστη nonsecuser: abc (nocsecuser) ιαγράψτε τον χρήστη nonsecuser µε τον τρόπο που χρησιµοποιήσατε παραπάνω. Στη συνέχεια χρησιµοποιείστε το πρόγραµµα ego για την παραγωγή κωδικών µε τα εξής κριτήρια: µίξη πεζών γραµµάτων και αριθµών οι κωδικοί να έχουν µέγεθος 3-4 γράµµατα Κατόπιν, δηµιουργείστε και πάλι τον χρήστη nonsecuser µε χρήση κάποιου κωδικού από τη νέα λίστα. Με το πρόγραµµα john παραβιάστε τον κωδικό αυτό. Τέλος, διαγράψτε τον χρήστη nonsecuser. Στο τελευταίο σενάριο της άσκησης χρησιµοποιείστε το πρόγραµµα ego για την παραγωγή κωδικών µε τα αµέσως προηγούµενα κριτήρια, και χρησιµοποιείστε το παραγόµενο αρχείο σαν λεξικό κωδικών για το αρχείο /etc/shadow µε την ακόλουθη εντολή: john wordfile:file /etc/shadow όπου file είναι το όνοµα του παραγόµενου αρχείου. Στην περίπτωση αυτή το john δοκιµάζει µόνο τους κωδικούς της λίστας αυτής στους ήδη υπάρχοντες κωδικούς του /etc/shadow για πιθανά ταιριάσµατα. 5