Σήμερα αποφάσισα να αναφέρω τη δική μου άποψη για τις βασικές γνώσεις σχετικά με τα δίκτυα, για να βεβαιωθώ ότι όλοι οι αναγνώστες του iguru διαθέτουν τις βασικές δεξιότητες, τις οποίες θεωρώ θεμελιώδεις για το hacking.
Στην πραγματικότητα, χωρίς τις βασικές δεξιότητες των δικτύων και τα Linux, το να γίνετε άσσος στο hacking θα παραμείνει σίγουρα εκτός των δυνατοτήτων σας.
Σε αυτό το πρώτο μέρος τις σειράς οδηγών “Βασικά στοιχεία δικτύων”, θα ασχοληθώ με κάποια από τα βασικά στοιχεία των διευθύνσεων IP, του NAT, του DHCP αλλά και των θυρών.
Table of Contents
IP Addresses
Οι διευθύνσεις πρωτοκόλλου διαδικτύου (διευθύνσεις IP) κάνουν τον κόσμο να γυρίζει. Ή, τουλάχιστον, μας επιτρέπουν να στέλνουμε μηνύματα ηλεκτρονικού ταχυδρομείου, να χρησιμοποιούμε το Skype και να πλοηγούμαστε στο διαδίκτυο. Είναι σχεδόν εξίσου σημαντικές με το να γυρίζει ο κόσμος!
Σε κάθε ψηφιακή συσκευή (υπολογιστή, φορητό υπολογιστή, τηλέφωνο, tablet κ.λπ.) ανατίθεται μια διεύθυνση IP και αυτή είναι που μας επιτρέπει να επικοινωνούμε και να συνδεόμαστε μαζί της. Φανταστείτε μια διεύθυνση IP σαν κάτι παρόμοιο με τη διεύθυνση του σπιτιού σας. Χωρίς αυτή τη διεύθυνση, κανείς δεν θα μπορούσε να σας βρει και να σας στείλει ταχυδρομική αλληλογραφία.
Το σύστημα διευθύνσεων IP που χρησιμοποιούμε επί του παρόντος είναι γνωστό ως IP έκδοση 4 ή IPv4 (θα ασχοληθούμε με το επερχόμενο IPv6 σε επόμενο σεμινάριο). Αποτελείται από 32 bits τεσσάρων οκτάδων, ή τέσσερις ομάδες των 8 bits (διακόπτες on/off).
Για παράδειγμα, 192.168.1.101. Κάθε ένας από τους αριθμούς μεταξύ των περιόδων (.) είναι το δεκαδικό ισοδύναμο των 8 bit. Αυτό σημαίνει ότι υπολογίζουμε τον αριθμό βάσης 2 που χρησιμοποιούν οι υπολογιστές που αντιπροσωπεύεται από τα 8 bit και τον μετατρέπουμε σε δεκαδικούς αριθμούς με τους οποίους οι άνθρωποι είναι πιο συνηθισμένοι να εργάζονται (βλ. το παρακάτω διάγραμμα). Κάθε μία από τις οκτάδες (8 bit) είναι ικανή να αναπαραστήσει αριθμούς στο εύρος από 0 έως 255 (2 στην 8η δύναμη).
Κλάσεις διευθύνσεων IP
Οι διευθύνσεις IP κατατάσσονται γενικά σε τρεις κατηγορίες και οι περιοχές είναι οι εξής:
- Class A: 0.0.0.0 – 127.255.255.255
- Class B: 128.0.0.0 – 191.255.255.255
- Class C: 192.0.0.0 – 223.255.255.255
Σε ένα μελλοντικό σεμινάριο, θα ασχοληθούμε με την υποδικτύωση και τις μάσκες υποδικτύου που διαφέρουν με αυτές τις διαφορετικές κατηγορίες IP.
Public vs. Private IP Addresses
Είναι σημαντικό να σημειωθεί ότι το σύστημα διευθύνσεων IP έχει τους περιορισμούς του. Ο μεγαλύτερος περιορισμός είναι ότι δεν υπάρχουν αρκετές διευθύνσεις IP για να καλύψουν όλες τις συσκευές που πρέπει να συνδεθούν στο διαδίκτυο. Το σύστημα IPv4 με το οποίο εργαζόμαστε τώρα έχει μόνο 4,3 δισεκατομμύρια διευθύνσεις IP. Με 7,3 δισεκατομμύρια ανθρώπους στον πλανήτη και πολύ περισσότερες συσκευές, αυτό σίγουρα δεν είναι αρκετό.
Ως αποτέλεσμα, αναπτύχθηκε ένα σύστημα για την επαναχρησιμοποίηση μιας ομάδας διευθύνσεων IP που χρησιμοποιούνται εντός ενός τοπικού δικτύου και δεν μπορούν να χρησιμοποιηθούν στο διαδίκτυο. Αυτές οι διευθύνσεις μπορούν να χρησιμοποιηθούν ξανά και ξανά μέσα σε κάθε τοπικό δίκτυο, αλλά όχι μέσω του διαδικτύου, διατηρώντας έτσι τον αριθμό των διευθύνσεων IP που απαιτούνται για να συνεχίσει να γυρίζει ο κόσμος.
Αυτές οι ιδιωτικές διευθύνσεις περιλαμβάνουν:
-
192.168.0.0 – 192.168.255.255
-
10.0.0.0 – 10.255.255.255
-
172.16.0.0 – 172.16.255.255
Πιθανόν να έχετε δει τις ιδιωτικές διευθύνσεις IP που αρχίζουν με 192.168.xxx.xxx ή 10.xxx.xxx.xxx.xxx στο Kali όταν πληκτρολογείτε ifconfig.
Αυτή είναι η ιδιωτική σας IP που μπορεί να χρησιμοποιηθεί μόνο στο τοπικό δίκτυο. Για να επικοινωνήσετε μέσω του Διαδικτύου, πρέπει να μεταφραστεί σε δημόσια IP από μια συσκευή NAT (βλ. NAT παρακάτω).
DHCP
Το πρωτόκολλο DHCP (Dynamic Host Configuration Protocol) εκχωρεί δυναμικά διευθύνσεις IP. Αυτό σημαίνει ότι δεν έχετε πάντα την ίδια διεύθυνση IP. Τις περισσότερες φορές, αυτές οι αναθέσεις διευθύνσεων IP γίνονται σε ένα τοπικό δίκτυο. Να θυμάστε ότι στα τοπικά δίκτυα χρησιμοποιούμε ιδιωτικές διευθύνσεις IP.
Όταν κάθε συσκευή συνδέεται στο τοπικό δίκτυο, πρέπει να ζητήσει μια διεύθυνση IP. Αυτή η συσκευή στέλνει αυτό το αίτημα στο διακομιστή DHCP, ο οποίος στη συνέχεια εκχωρεί μια διεύθυνση IP σε αυτό το σύστημα για ένα σταθερό χρονικό διάστημα, γνωστό ως “lease”.
Κάθε φορά που συνδέεστε στο τοπικό δίκτυο, είναι πιθανό να λαμβάνετε μια διαφορετική (δυναμική) διεύθυνση IP, αλλά συνήθως στο ίδιο εύρος. Για παράδειγμα, 192.168.0.0 – 192.168.255.255.
NAT
Το Network address translation (NAT) είναι ένα πρωτόκολλο με το οποίο οι εσωτερικές ιδιωτικές διευθύνσεις IP “μεταφράζονται” σε μια εξωτερική δημόσια διεύθυνση IP που μπορεί να δρομολογηθεί μέσω του διαδικτύου στον προορισμό της.
Να θυμάστε ότι οι ιδιωτικές διευθύνσεις IP των συστημάτων στο εσωτερικό του LAN δεν μπορούν να χρησιμοποιήσουν τις διευθύνσεις IP τους στο διαδίκτυο επειδή δεν είναι μοναδικές (κάθε LAN χρησιμοποιεί ουσιαστικά τις ίδιες διευθύνσεις IP στο εσωτερικό του δικτύου του).
Η συσκευή NAT δέχεται αιτήσεις για τη διέλευση από το διαδίκτυο από ένα εσωτερικό μηχάνημα. Στη συνέχεια καταγράφει τη διεύθυνση IP αυτού του μηχανήματος σε έναν πίνακα και μετατρέπει τη διεύθυνση IP στην εξωτερική διεύθυνση IP του δρομολογητή.
Όταν το πακέτο επιστρέφει από τον προορισμό του, η συσκευή NAT εξετάζει τον αποθηκευμένο πίνακα του αρχικού αιτήματος και προωθεί το πακέτο στην εσωτερική διεύθυνση IP του συστήματος που υπέβαλε το αρχικό αίτημα εντός του τοπικού δικτύου. Όταν λειτουργεί σωστά, τα μεμονωμένα συστήματα και οι χρήστες δεν αντιλαμβάνονται καν ότι πραγματοποιείται αυτή η μετάφραση.
Για παράδειγμα, το παραπάνω διάγραμμα δείχνει δύο τηλέφωνα με ιδιωτικές διευθύνσεις IP πίσω από μια συσκευή που λειτουργεί ταυτόχρονα ως συσκευή NAT και ως δρομολογητής. Οι συσκευές χρησιμοποιούν τις ιδιωτικές τους διευθύνσεις IP εντός του τοπικού δικτύου, αλλά όταν θέλουν να επικοινωνήσουν μέσω του διαδικτύου, η συσκευή NAT τις μεταφράζει σε μία από τις δημόσιες διευθύνσεις IP που είναι μοναδικές στο διαδίκτυο. Με αυτόν τον τρόπο, οι δρομολογητές κατά μήκος της διαδρομής γνωρίζουν ακριβώς πού να στείλουν τα πακέτα.
Ports
Οι θύρες είναι ένα είδος υποδιεύθυνσης. Η διεύθυνση IP είναι η κύρια διεύθυνση και η θύρα είναι η υποδιεύθυνση. Χρησιμοποιώντας μια δύσκολη, αλλά αποτελεσματική μεταφορά, σκεφτείτε τη διεύθυνση IP ως τη διεύθυνση του δρόμου ενός κτιρίου και τη θύρα ως τον αριθμό του διαμερίσματος.
Χρειάζομαι τη διεύθυνση του δρόμου για να πάω στο σωστό κτίριο, αλλά χρειάζομαι τη διεύθυνση του διαμερίσματος για να βρω αυτόν που ψάχνω. Το ίδιο συμβαίνει και με τις θύρες. Η διεύθυνση IP μας οδηγεί στο σωστό μηχάνημα, αλλά η θύρα μας οδηγεί στη σωστή υπηρεσία, ας πούμε το HTTP στη θύρα 80.
Υπάρχουν 65.536 (2 αυξημένο στη 16η δύναμη) θύρες. Οι πρώτες 1.024 αναφέρονται γενικά ως “κοινές θύρες”. Οι άνθρωποι προφανώς δεν θυμούνται και τις 65.536 θύρες (εκτός αν είναι ειδήμονες) ή ακόμη και τις 1.024 πιο κοινές θύρες. Ως χάκερ, μηχανικός ασφαλείας ή/και μηχανικός δικτύου, υπάρχουν μερικές θύρες που πρέπει να γνωρίζετε απ’ έξω:
-
20 FTP
-
21 FTP
-
22 SSH
-
23 Telnet
-
25 SMTP
-
53 DNS
-
69 TFTP
-
80 HTTP
-
88 Kerberos
-
110 POP3
-
123 NTP
-
135 Microsoft’s RPC
-
137-139 Microsoft’s NetBIOS
-
143 IMAP
-
161 SNMP
-
389 LDAP
-
443 HTTPS or HTTP over SSL
-
445 SMB
-
500 IKE
-
514 syslog
-
3389 RDP
Μπορούμε να χρησιμοποιήσουμε ένα εργαλείο όπως το nmap για να δούμε ποιες θύρες είναι ανοιχτές σε ένα σύστημα. Με αυτόν τον τρόπο, ο μηχανικός ασφαλείας ή ο χάκερ μπορεί να δει ποιες θύρες είναι ανοιχτές και τις υπηρεσίες που εκτελούνται στο σύστημα-στόχο.
Σύντομα θα ακολουθήσει το δεύτερο μέρος τις σειράς οδηγών για τη δικτύωση (με θέματα σχετικά με το υποδίκτυο, το IPv6, το TCP/IP και άλλα) στο εγγύς μέλλον, γι’ αυτό μείνετε συντονισμένοι!
Όντως το range πρέπει να διορθωθεί στις Private γιατί
ανάφερετε “172.16.0.0 – 172.16.255.255” όπου είναι λάθος,
ενώ το σωστό είναι 172.16.0.0 – 172.31.255.255.
Αλλιώς πολύ ωραίο το άρθρο! :)
το range για τις ιδιωτικές δνσεις 172.16.χ δεν είναι σωστό.
Στα τοπικά δίκτυα, δίνουμε το φάσμα που θέλουμε εμείς.