Στον σημερινό οδηγό θα χρησιμοποιήσουμε το δωρεάν και ανοιχτού κώδικα Nmap για να δούμε ποιες συσκευές είναι συνδεδεμένες στο δίκτυό μας, ποιες υπηρεσίες τρέχουν, ποια ports έχουν ανοιχτά αλλά και πως μπορούμε να μάθουμε περισσότερες λεπτομέρειες για άγνωστες συσκευές.
Είναι σημαντικό να έχουμε μια εικόνα του δικτύου μας είτε αυτό πρόκειται για το σπίτι η την δουλειά μας. Πολλές φορές είναι συνδεδεμένες κάποιες συσκευές που δεν γνωρίζετε και θέλετε να απομακρύνετε τους ανεπιθύμητους από το Wi-Fi (όπως είδαμε στον οδηγό «Βρες ποιος κλέβει το internet και διώξε κόσμο !«) ή ναι μεν ξέρετε ποιες είναι αλλά μπορεί να εκπλαγείτε από τις υπηρεσίες που εκτελούνται.
Σε προηγούμενο οδηγό είδαμε το πως ελέγχω με fping ποιες συσκευές είναι συνδεδεμένες στο δίκτυο και αντλώ πληροφορίες για την IP τους. Σε αυτό τον οδηγό θα χρησιμοποιήσουμε το Nmap το οποίο είναι διαθέσιμο για Linux, Windows και macOS και με το οποίο θα εξερευνήσουμε όλες τις συσκευές που είναι συνδεδεμένες στο δίκτυό μας και τις υπηρεσίες που τρέχουν.
Εισαγωγή στο Nmap
Σε πρώτη φάση σιγουρευτείτε ότι το έχετε εγκατεστημένο στην Linux διανομή σας:
sudo zypper in nmap
# openSUSEsudo dnf install nmap
# Fedorasudo apt install nmap
# Ubuntusudo pacman -Syu nmap
# Arch
ή αν έχετε Windows μπορείτε να το εγκαταστήσετε με το Chocolatey ή να το κατεβάσετε από την σελίδα του. Για macOS μπορείτε να το κατεβάσετε από την σελίδα του Nmap.
Πάμε λοιπόν να δούμε ένα παράδειγμα:
nmap -A localhost
Με την παραπάνω εντολή, λέω στο nmap:
Σκάναρε το σύστημά μου και δείξε μου ό,τι τρέχει πάνω του (αναφέρομαι στις ports)
Θα συνεχίσουμε θεωρώντας ότι έχετε διαβάσει τον παρακάτω οδηγό:
το οποίο είναι χρήσιμο για όσους δεν έχουν χρησιμοποιήσει το Nmap ή το γραφικό περιβάλλον Zenmap.
Βρείτε τη διεύθυνση IP σας
Το πρώτο πράγμα που θα χρειαστούμε είναι η IP του υπολογιστή από τον οποίο τρέχουμε το Nmap.
Τρέχουμε την παρακάτω εντολή σε τερματικό ανάλογα με το λειτουργικό μας:
Linux
ip a

Windows
ipconfig

macOS
αν είστε συνδεδεμένοι με Wifi:
ipconfig getifaddr en0
ή αν είστε συνδεδεμένοι με καλώδιο:
ipconfig getifaddr en1
Επεξήγηση των αποτελεσμάτων για την IP
Η διεύθυνση IP του Linux υπολογιστή στο τοπικό μου δίκτυο είναι «192.168.2.9». όπως φαίνεται από την παρακάτω εικόνα:

Το «/24» δίπλα από την IP σημαίνει ότι υπάρχουν τρία διαδοχικά σύνολα απο οκτώ 1 στη μάσκα υποδικτύου. (Και 3 x 8 = 24.) Σε δυαδικό σύστημα, η μάσκα υποδικτύου είναι 11111111.11111111.11111111.00000000
και άρα στο δεκαδικό, είναι 255.255.255.0.

Η μάσκα υποδικτύου και η διεύθυνση IP χρησιμοποιούνται για να υποδείξουν ποιο τμήμα της διεύθυνσης IP προσδιορίζει το δίκτυο και ποιο προσδιορίζει τη συσκευή. Αυτή η μάσκα υποδικτύου ενημερώνει το υλικό ότι οι τρεις πρώτοι αριθμοί της διεύθυνσης IP θα προσδιορίσουν το δίκτυο και το τελευταίο μέρος της διεύθυνσης IP προσδιορίζει τις μεμονωμένες συσκευές. Επειδή ο μεγαλύτερος αριθμός που μπορείτε να έχω σε 8-bit binary είναι 255, το εύρος διευθύνσεων IP για αυτό το συγκεκριμένο δίκτυο μου θα είναι 192.168.2.0 έως 192.168.2.255. Όλα αυτά είναι ενσωματωμένα στο «/ 24».
Nmap
Το nmap
είναι ένα εργαλείο χαρτογράφησης δικτύου και λειτουργεί στέλνοντας διάφορα μηνύματα στις διευθύνσεις IP από το εύρος που θα του παρέχουμε. Ας ξεκινήσουμε μια απλή σάρωση με nmap
. Θα χρησιμοποιήσουμε την επιλογή -sn
(σάρωση χωρίς θύρα). Αυτό λέει στο nmap
να μην ανιχνεύσει τις θύρες στις συσκευές οπότε και Θα κάνει μια ελαφριά, γρήγορη σάρωση.
Η διεύθυνση IP που πρόκειται να χρησιμοποιήσουμε είναι αυτή που λάβαμε όταν ζητήσαμε να βρούμε την IP του υπολογιστή μας. Στην συνέχεια θα αντικαταστήσουμε το τελευταίο ψηφίο με το μηδέν. Όπως είδαμε στην επεξήγηση του αποτελέσματος, αυτή είναι η πρώτη δυνατή διεύθυνση IP σε αυτό το δίκτυο.
sudo nmap -sn 192.168.2.0/24
Το «/ 24» λέει στο nmap
να σαρώσει ολόκληρο το εύρος αυτού του δικτύου. Άρα το «192.168.2.0/24» μεταφράζεται ως «εκκίνηση στη διεύθυνση 192.168.2.0 έως και 192.168.2.255». Η παραπάνω εντολή είναι ένας γρήγορος τρόπος για να βρω όλες τις διευθύνσεις IP στο τοπικό δίκτυο LAN όπως και την διεύθυνση IP του router μου.
sudo nmap -sn 192.168.2.0/24
Starting Nmap 7.80 ( https://nmap.org ) at 2020-07-02 18:20 EEST
Nmap scan report for vodafone.station (192.168.2.1)
Host is up (0.0026s latency).
MAC Address: -:-:-:-:-:- (Unknown)
Nmap scan report for PC192.168.2.2.station (192.168.2.2)
Host is up (0.0025s latency).
MAC Address: -:-:-:-:-:- (Unknown)
Nmap scan report for android (192.168.2.3)
Host is up (0.030s latency).
MAC Address: -:-:-:-:-:- (Icomm HK Limited)
Nmap scan report for HUAWEI_P20_Pro (192.168.2.4)
Host is up (0.0043s latency).
MAC Address: -:-:-:-:-:- (Huawei Technologies)
Nmap scan report for archon.station (192.168.2.5)
Host is up (0.0070s latency).
MAC Address: -:-:-:-:-:- (Samsung)
Nmap scan report for (Samsung) (192.168.2.6)
Host is up (0.0052s latency).
Nmap done: 256 IP addresses (6 hosts up) scanned in 2.63 seconds
Με το παραπάνω μας εμφανίζει μια λίστα με τις συνδεδεμένες συσκευές στο δίκτυο και έτσι γνωρίζουμε πόσες από αυτές είναι ενεργές. Αυτή η λίστα σας επιτρέπει να δείτε όλες τις συσκευές στο δίκτυό σας μαζί με κάποιες πληροφορίες για τον κατασκευαστή τους. Στα δικά σας αποτελέσματά, πιθανότατα θα δείτε συσκευές που αναγνωρίζετε και ίσως υπάρχουν μερικά που δεν τα γνωρίζετε οπότε είναι αυτά που πρέπει να διερευνήσουμε περαιτέρω.
Ποια Ports είναι ανοιχτά ;
Θα χρησιμοποιήσουμε nmap
για να σαρώσουμε τις θύρες σε κάθε συσκευή και να δούμε ποιες είναι ανοιχτές.
nmap 192.168.2.0/24
Αυτή τη φορά λαμβάνουμε μια πιο λεπτομερή αναφορά για κάθε συσκευή και μπορεί ο αριθμός συσκευών να ποικίλλει ανάλογα με την ενεργοποίηση και απενεργοποίηση τους. Επίσης, ενδέχεται κάποια να μην έχουν την ίδια διεύθυνση IP με την τελευταία φορά που ήταν σε χρήση ανάλογα με τις ρυθμίσεις του router που κάνει ανάθεση τις IP.
Για να κρατήσουμε την αναφορά σε ένα αρχείο, τρέχουμε:
nmap 192.168.2.0/24 > nmap-scan.txt
Ανοίξτε τώρα το αρχείο και κοιτάξτε μήπως υπάρχει κάποια συσκευή με ανοιχτές Ports ή κάποια που είναι άγνωστα. Επίσης μπορείτε να κάνετε αναζήτηση στο internet για αυτά τα ports αλλά και για τις υπηρεσίες που τρέχουν σε αυτά τα ports.
Στη δική μου περίπτωση το 192.168.2.3 επισημάνθηκε ως «Άγνωστο» στην προηγούμενη σάρωση. Έχει την 5555
port ανοιχτή οπότε πρέπει να μάθω τι είναι. Εμπειρικά ξέρω ότι το 5555 χρησιμοποιείται για το ADB του Android όπως είχαμε δει στον οδηγό «Android apps στο Linux με το Anbox«. Οπότε ας δοκιμάσω να συνδεθώ σε αυτό:

Όπως βλέπετε στην παραπάνω εικόνα συνδέθηκα μια χαρά οπότε και είδα ότι μπορώ να πάρω δικαιώματα root
στην συσκευή και να τα κάνω όλα π…. Αλλά τελικά κατάλαβα ότι είναι το TV BOX που έχω στο άλλο δωμάτιο. Αν όμως ήταν κάποιος «γείτονας» αντιλαμβάνεστε ότι θα μπορούσα να κάνω ζημιά οπότε γιαυτό συστήνουμε πάντα να προστατεύετε το WiFi σας όπως είχαμε δει στο σχετικό οδηγό «Προστάτεψε το WiFi σου από Hackers«
«Παρανοϊκή σάρωση» σε άγνωστη συσκευή
Στη συνέχεια είδα ότι επίσης το PC192.168.2.2.station δεν αναγνωρίστηκε και το γεγονός ότι παρουσιάζεται στο δίκτυο ως PC...station
μπορεί να είναι παραπλανητικός. Επίσης περίεργο είναι το γεγονός ότι είχε αρκετά ports ανοιχτά μιας και όπως σε ένα σπίτι, όσες περισσότερες πόρτες και παράθυρα έχουμε, τόσο περισσότερα πιθανά σημεία εισόδου έχει ένας διαρρήκτης και άρα έπρεπε να το εξετάσω παραπάνω με «εν τω βάθει» διερεύνηση…
Μπορούμε να χρησιμοποιήσουμε nmap
πιο επιθετικά για να αντλήσουμε περισσότερες πληροφορίες από τη συσκευή. Η παράμετρος -A
(επιθετική σάρωση) ζητάει από το nmap
τη χρήση ανίχνευσης λειτουργικού συστήματος, ανίχνευσης έκδοσης κλπ. Επίσης η παράμετρος -T
μας επιτρέπει να καθορίσουμε μια τιμή από 0 έως 5 [paranoid (0), sneaky (1), polite (2), normal (3), aggressive (4), and insane (5)] στο οποίο όσο χαμηλότερος είναι ο αριθμός, τόσο λιγότερος θα είναι ο αντίκτυπος του nmap
θα έχει στο bandwith του δικτύου μας αλλά και σε άλλους χρήστες του δικτύου.
Πάω λοιπόν και χρησιμοποιώ την διεύθυνση IP της εν λόγω συσκευής με τις παραμέτρους που αναφέραμε.
sudo nmap -A -T4 192.168.2.2
Υπομονή λοιπόν διότι η παραπάνω εντολή στην δική μου συσκευή χρειάστηκε περίπου 10 λεπτά για να ολοκληρωθεί και να επιστρέψει αποτελέσματα.
Nmap scan report for PC192.168.2.5.station (192.168.2.5)
Host is up (0.0057s latency).
Not shown: 995 closed ports
PORT STATE SERVICE VERSION
8008/tcp open http?
|_http-title: Site doesn't have a title.
8009/tcp open ssl/ajp13?
|_ajp-methods: Failed to get a valid response
| ssl-cert: Subject: commonName=b356cd88
| Not valid before: 2020-07-02T12:37:40
|_Not valid after: 2020-07-04T12:37:40
|_ssl-date: 2020-07-03T16:02:20+00:00;
8443/tcp open ssl/https-alt?
|_http-title: Site doesn't have a title.
| ssl-cert: Subject: commonName=organizationName=Google
| Not valid before: 2017-08-07T18:18:23
|_Not valid after: 2037-08-02T18:18:23
9000/tcp open ssl/cslistener?
10001/tcp open ssl/scp-config?
MAC Address: -:-:-:-:-:- (Google)
Device type: general purpose
Running: Linux 2.6.X|3.X
OS CPE: cpe:linux_kernel:2.6
cpe:/o:linux:linux_kernel:3
OS details: Linux 2.6.32 - 3.10
Network Distance: 1 hop
Host script results:
|_clock-skew: 16s
TRACEROUTE
HOP RTT ADDRESS
1 5.73 ms PC192.168.2.5.station (192.168.2.5)
Tο αποτέλεσμα μας λέει είναι ότι χρησιμοποιεί Linux και ότι η MAC address του αναφέρει ότι είναι μια συσκευή της Google. Άρα όπως είδαμε και στο άρθρο Αλλαγή MAC address μπορούμε να επιβεβαιώσουμε αν είναι όντως συσκευή Google επισκεπτόμενοι τη σελίδα Wireshark Manufacturer Lookup. Εκεί, λοιπόν βάζοντας την MAC address μου εμφάνισε ότι όντως είναι μια συσκευή της Google το οποίο μου λέει ότι είναι το chromecast που έχω πίσω από την τηλεόραση.
Συμπέρασμα
Ένας τρόπος για να είστε σίγουροι για τις συσκευές που εμφανίζονται στην αναζήτηση είναι να απενεργοποιήσετε και να βγάλετε από το δίκτυό σας όλες τις συσκευές όπως κινητά, τηλεόραση, tvbox κλπ (εκτός φυσικά το PC που χρησιμοποιείτε το nmap) και να πραγματοποιήσετε ξανά σάρωση. Με αυτόν τον τρόπο θα έχετε αποτελέσματα σίγουρα για 2 συσκευές που τις ξέρετε (το ρούτερ και το PC) σας. Αν εμφανίζεται κάποια άλλη συσκευή, αφού έχετε απενεργοποιήσει τα πάντα, τότε σε αυτήν την συσκευή θα πρέπει να εστιάσετε την έρευνά σας.
Με τις πληροφορίες που μας παρέχει το nmap αλλά και τις ποιο προχωρημένες τεχνικές που είδαμε στο Ανακαλύψτε εύκολα κενά ασφαλείας χρησιμοποιώντας το Nmap μπορούμε να τις χρησιμοποιήσουμε για να αναζητήσουμε πληροφορίες σχετικά με τις υπηρεσίες, τις port και να δούμε αν τελικά είναι συσκευές που γνωρίζουμε τι είναι δικές μας ή όχι.
Παραπομπές:
Βλέποντας το menu του router, δεν μπορώ να έχω την ίδια πληροφόρηση;
Μόνο για τις συνδεδεμένες συσκευές. Δεν μπορείς πχ να δεις τι υπηρεσίες τρέχουν, ποιος είναι ο κατασκευαστής κλπ