Βρες ποιος κλέβει το internet και διώξε κόσμο !

«Ποιος είναι συνδεδεμένος στο δίκτυό μου και ποιος κλέβει internet», ήταν μια ερώτηση που μου έκανε ένας φίλος πρόσφατα και την οποία είμαι σίγουρος ότι την έχετε ακούσει αρκετές φορές και από άλλους. Ας δούμε μερικές μεθόδους με τις οποίες θα μπορούμε εύκολα να εντοπίσουμε ποιοι είναι συνδεδεμένοι στο Wifi και κατ’επέκταση στο δίκτυό μας και να πάρουμε τον έλεγχο στα χέρια μας.

Εισαγωγή

Όποιος και αν είναι ο σκοπός για τον οποίο θέλουμε να μάθουμε ποιες συσκευές και ποιοι είναι συνδεδεμένοι στο δίκτυό μας θα πρέπει να κατανοήσουμε κάποιους βασικούς όρους.

Η τοπολογία ενός δικτύου είτε είναι στο σπίτι μας είτε στην δουλειά διαφέρει απλά στο μέγεθος. Κατά τα άλλα αποτελείται από τα ίδια συστατικά. Όπως είδαμε και στο άρθρο «πως φτιάχνουμε ένα home server«:

Ένα τυπικό δίκτυο του σπιτιού μας αποτελείται σε γενικές γραμμές από

  • Router ( η συσκευή που μας δίνει internet)
  • Καλώδια/ η Wifi
  • Οι διευθύνσεις IP (μία για κάθε συσκευή)

Το router μας (δρομολογητής) είναι στην πραγματικότητα και αυτός ένας μίνι Server και ο ρόλος του είναι να παρέχει σύνδεση στο Internet, διευθύνσεις IP και διεκπεραιώνει τα αιτήματα για δεδομένα μεταξύ των συσκευών που είναι συνδεδεμένα σε αυτό μέσω των καλωδίων/ ή WiFi.

Άρα, όποια συσκευή έχει (καταφέρει) να συνδεθεί στο ρουτερ μας, αποτελεί πλέον μέρος του δικτύου μας οπότε και μπορούμε να το εντοπίσουμε όπως είχαμε δει και στο άρθρο «Προστάτεψε το WiFi σου από Hackers«. Παρακάτω θα παρουσιάσουμε μερικά εργαλεία με τα οποία μπορούμε να κάνουμε μια «χαρτογράφηση» για το «ποιος είναι συνδεδεμένος στο δίκτυό μας» αλλά και πως να τους αντιμετωπίσουμε.

jNetMap: Τοπολογία δικτύου

Το πρώτο εργαλείο είναι ένα προγραμματάκι γραμμένο σε Java, και ονομάζεται jNetMap. Όπως προδίδει και το όνομα του, η βασική του δουλειά είναι να μας χαρτογραφήσει το δίκτυό μας και να μας δείξει τι και ποιος είναι συνδεδεμένος στο δίκτυό μας.

Advertisements

Αφού το εγκαταστήσετε και το ανοίξετε,

  • πατάμε «Create a new map of your network».
  • Θα δείτε μια λευκή σελίδα και έπειτα πάτε «Tools –> Network Scanner»
  • στο παράθυρο που θα ανοίξει πατάτε Scan.
  • Ανάλογα με το μέγεθος του δικτύου σας, μόλις ολοκληρωθεί η χαρτογράφηση, απλά πατάτε το κουμπί «Add».

Μπορεί να μην βλέπετε κάτι αλλά με λίγο zoom-in/zoom-out χρησιμοποιώντας την ροδέλα του ποντικιού θα δείτε ένα εικονίδιο υπολογιστή πάνω στο οποίο είναι «ένα μάτσο» συσκευές.

Με το ποντίκι και με drag, μετακινήστε τις συσκευές για να φτιάξετε ένα σχεδιάγραμμα του δικτύου σας όπως φαίνεται στην παρακάτω εικόνα:

poios-einai-sindedemenos-diktio-mou

Όπως βλέπουμε είναι συνδεδεμένες 4 συσκευές στο ρουτερ μου. Το jNetMap παρέχει και δυνατότητα με δεξί κλικ σε αυτά να κάνουμε διάφορες εργασίες (όπως σύνδεση μέσω ssh/vnc κλπ) αλλά και να περιγράψουμε τι είναι η κάθε συσκευή.

Είναι ένα χρήσιμο, μικρό εργαλείο που παρέχει αρκετά εργαλεία για κάποιον που ενδιαφέρεται να γνωρίζει τα «κατατόπια» του δικτύου του και το πόσες συσκευές είναι συνδεδεμένες σε αυτό.

Evil Limiter: Όταν πρέπει να «κόψετε» την σύνδεση σε συσκευή που κλέβει internet

Οποιοσδήποτε (π.χ. γείτονας) με τον κωδικό πρόσβασης στο WiFi σας μπορεί να χρησιμοποιεί το δίκτυο σας με αποτέλεσμα ένας συγκάτοικος ή μέλος της οικογένειας μπορεί να χάσουν όλη τη σύνδεση τους άδικα γιατί κάποιος «εξωτερικός» παίζει video games ή κάνει stream βίντεο. Ορισμένα router σας επιτρέπουν να ορίσετε όρια για κάθε σύνδεση, αλλά οι περισσότερες επιλογές είναι συνήθως δύσχρηστες και κάθε ρούτερ έχει δικό του γραφικό περιβάλλον διαχείρισης όπως είδαμε στο άρθρο για τον αποκλεισμός «κακών» websites με τη χρήση του OpenDNS.

Σε κάθε περίπτωση, ένας γρήγορος έλεγχος με μέτρηση ταχύτητας Internet και Intranet στο τερματικό θα μας βάλει ίσως σε υποψίες σε συνδυασμό με το jNetMap, και τις εντολές τερματικού διαχείρισης δικτύου ότι κάτι δεν πάει καλά με την σύνδεσή μας.

Όταν η απλή χαρτογράφηση, δεν αρκεί και πρέπει να λάβετε μέτρα πιο δραστικά, τότε το Evil Limiter κάνει ακριβώς αυτή τη δουλειά επιτρέποντάς σας να ελέγχετε τον ρυθμό των δεδομένων οποιασδήποτε συσκευής στο ίδιο δίκτυο με εσάς και επιτρέποντάς σας να επιβραδύνετε ή ακόμα και να σταματήσετε τις ταχύτητες μεταφοράς δεδομένων για αυτούς.

Το Evil Limiter χρησιμοποιεί την τεχνική ARP spoofing ώστε να «προκαλέσει» τις συσκευές να στέλνουν δεδομένα στον υπολογιστή που το εκτελεί, αντί στο ρουτερ. Αυτό μας επιτρέπει να στέλνουμε τα δεδομένα στο ρούτερ με όποια ταχύτητα θέλετε. Χάρη στον τρόπο λειτουργίας του πρωτοκόλλου ARP, είναι δυνατό να ελέγχετε την ταχύτητα οποιασδήποτε συσκευής σε μια κοινή σύνδεση δικτύου. Ωστόσο, επειδή το ARP spoofing λειτουργεί μόνο σε δίκτυα IPv4 , αυτό το εργαλείο δεν θα είναι αποτελεσματικό για το IPv6.

Τι χρειαζόμαστε για το Evil Limiter

Για να χρησιμοποιήσετε το Evil Limiter, θα χρειαστούμε μια διανομή Linux όπως το Kali ή Ubuntu με Python3 ή νεότερη έκδοση.

Βήμα 1: Εγκαθιστούμε το Evil Limiter

Για να εγκαταστήσετε το Evil Limiter, υπάρχουν μόνο μερικές εντολές που πρέπει να τρέξετε σε ένα τερματικό παράθυρο, όπως φαίνεται παρακάτω.

git clone https://github.com/bitbrute/evillimiter.git
cd evillimiter
sudo python3 setup.py install

Βήμα 2: Έλεγχος εγκατάστασης του Evil Limiter

Στη συνέχεια, μπορείτε να εκτελέσετε το Evil Limiter πληκτρολογώντας evillimiter σε ένα νέο παράθυρο τερματικού. Θα πρέπει να δείτε μήνυμα όπως παρακάτω:

███████╗██╗   ██╗██╗██╗       ██╗     ██╗███╗   ███╗██╗████████╗███████╗██████╗
██╔════╝██║   ██║██║██║       ██║     ██║████╗ ████║██║╚══██╔══╝██╔════╝██╔══██╗
█████╗  ██║   ██║██║██║       ██║     ██║██╔████╔██║██║   ██║   █████╗  ██████╔╝
██╔══╝  ╚██╗ ██╔╝██║██║       ██║     ██║██║╚██╔╝██║██║   ██║   ██╔══╝  ██╔══██╗
███████╗ ╚████╔╝ ██║███████╗  ███████╗██║██║ ╚═╝ ██║██║   ██║   ███████╗██║  ██║
╚══════╝  ╚═══╝  ╚═╝╚══════╝  ╚══════╝╚═╝╚═╝     ╚═╝╚═╝   ╚═╝   ╚══════╝╚═╝  ╚═╝
                by bitbrute  ~  limit devices on your network :3
                                    v1.1.0

OK   interface: wlan0
OK   gateway ip: 192.168.5.1
OK   gateway mac: 84:██:██:██:██:1a
OK   netmask: 255.255.255.0

type help or ? to show command information.

Αν δείτε αυτό, ο Evil Limiter είναι εγκατεστημένος, συνδεδεμένος στο δίκτυο και έτοιμος να τρέξει.

Βήμα 3: Προβολή διαθέσιμων εντολών

Μπορείτε να εξερευνήσετε τη λειτουργικότητα του Evil Limiter εξετάζοντας το μενού και ελέγχοντας τις διαθέσιμες εντολές. Για να το κάνετε αυτό, πληκτρολογήστε ένα ερωτηματικό στο τερματικό για να προβάλετε τη σελίδα βοήθειας.

(Main) >>> ?

scan                          scans for online hosts on your network.
                              required to find the hosts you want to limit.

hosts                         lists all scanned hosts.
                              contains host information, including IDs.

limit [ID1,ID2,...] [rate]    limits bandwith of host(s) (uload/dload).
                              e.g.: limit 4 100kbit
                                    limit 2,3,4 1gbit
                                    limit all 200kbit

block [ID1,ID2,...]           blocks internet access of host(s).
                              e.g.: block 3,2
                                    block all

free [ID1,ID2,...]            unlimits/unblocks host(s).
                              e.g.: free 3
                                    free all

add [IP] (--mac [MAC])        adds custom host to host list.
                              mac resolved automatically.
                              e.g.: add 192.168.178.24
                                    add 192.168.1.50 --mac 1c:fc:bc:2d:a6:37

clear                         clears the terminal window.

Βήμα 4: Ποιος είναι συνδεδεμένος στο ρούτερ

Όπως μπορούμε να δούμε παραπάνω, οι εντολές είναι απλές. Για να βρείτε τις συσκευές που υπάρχουν στο δίκτυο, το μόνο που χρειάζεται να κάνετε είναι να πληκτρολογήσετε την εντολή scan και να πατήσετε enter.

(Main) >>> scan

100% |██████████████████████████████| 256/256
OK   7 hosts discovered.

Η σάρωση θα καταγράψει όλες τις συσκευές στο δίκτυο. Οπότε πληκτρολογήστε hosts για να τους εμφανίσετε.

(Main) >>> hosts

┌Hosts──────────────┬───────────────────┬──────────┬────────┐
│ ID │ IP-Address   │ MAC-Address       │ Hostname │ Status │
├────┼──────────────┼───────────────────┼──────────┼────────┤
│ 0  │ 192.168.5.1  │ 84:██:██:██:██:1a │ _gateway │ Free   │
│ 1  │ 192.168.5.2  │ 0c:██:██:██:██:f5 │          │ Free   │
│ 2  │ 192.168.5.4  │ 3c:██:██:██:██:6f │          │ Free   │
│ 3  │ 192.168.5.24 │ 60:██:██:██:██:78 │          │ Free   │
│ 4  │ 192.168.5.25 │ c4:██:██:██:██:2b │          │ Free   │
│ 5  │ 192.168.5.61 │ 8c:██:██:██:██:f5 │          │ Free   │
│ 6  │ 192.168.5.67 │ f0:██:██:██:██:b5 │          │ Free   │
└────┴──────────────┴───────────────────┴──────────┴────────┘

Στο παράδειγμά μου, έχουν ανακαλυφθεί επτά συσκευές στο δίκτυο, με ένα από αυτούς να είναι ο δρομολογητής / ρούτερ. Οπότε έχουμε μια λίστα «στόχων» με την οποία μπορούμε να αποκλείσουμε ή να περιορίσουμε την πρόσβαση.

Βήμα 5: Ορισμός ορίου χρήσης ή αποκλεισμός συσκευών

Εάν θέλετε να περιορίσετε κάθε συσκευή (με εξαίρεση τον δρομολογητή), μπορείτε να τα απαριθμήσετε μία προς μία μετά την εντολή limit. Θα πρέπει επίσης να καθορίσετε την ταχύτητα με την οποία θέλετε να λειτουργούν. Στην περίπτωσή μου, θα δοκιμάσω 200kbit ως περιοριστική ταχύτητα.

Θα μπορούσατε να χρησιμοποιήσετε την εντολή limit all για να επιλέξετε τα πάντα, αλλά επειδή δεν θέλουμε να πειράξουμε τον δρομολογητή, πληκτρολογήστε limit 1,2,3,4,5,6 για να αρχίσετε να περιορίζετε αυτές τις συγκεκριμένες συσκευές. Ο αριθμός των συσκευών που έχετε καταχωρίσει εξαρτάται από το πόσα βρήκατε.

(Main) >>> limit 1,2,3,4,5,6 200kbit

OK   192.168.5.2 limited to 200kbit.
OK   192.168.5.4 limited to 200kbit.
OK   192.168.5.24 limited to 200kbit.
OK   192.168.5.25 limited to 200kbit.
OK   192.168.5.61 limited to 200kbit.
OK   192.168.5.67 limited to 200kbit.

Τώρα που έχουμε περιορίσει κάποιες συσκευές, μπορούμε επίσης να επιλέξουμε οποιεσδήποτε συσκευές θέλουμε να αποκλείσουμε εξ ολοκλήρου από την πρόσβαση στο δίκτυο.

Έχω διαπιστώσει ότι μερικές φορές το Evil Limiter μπορεί να είναι βαρύ, ενώ περιορίζει τις συνδέσεις και το αποτέλεσμα είναι ότι οι συσκευές είναι περιορισμένες τόσο πολύ που μπορεί επίσης να μπλοκαριστούν ακόμα και αν θέσουμε όριο σύνδεσης.

Για να αποκλείσετε μια συσκευή (που υποπτεύεστε ως ξένο), πληκτρολογήστε την εντολή block και στη συνέχεια τον αριθμό οποιασδήποτε συσκευής θέλετε να μπλοκάρετε.

(Main) >>> block 3

OK   192.168.5.24 blocked.

Για να δείτε εκ νέου την λίστα και την κατάστασή του δικτύου τρέξτε το hosts για δεύτερη φορά. Η πλειοψηφία του δικτύου πρέπει να έχει περιοριστεί ή να έχει αποκλειστεί.

(Main) >>> hosts

┌Hosts──────────────┬───────────────────┬──────────┬─────────┐
│ ID │ IP-Address   │ MAC-Address       │ Hostname │ Status  │
├────┼──────────────┼───────────────────┼──────────┼─────────┤
│ 0  │ 192.168.5.1  │ 84:██:██:██:██:1a │ _gateway │ Free    │
│ 1  │ 192.168.5.2  │ 0c:██:██:██:██:f5 │          │ Limited │
│ 2  │ 192.168.5.4  │ 3c:██:██:██:██:6f │          │ Limited │
│ 3  │ 192.168.5.24 │ 60:██:██:██:██:78 │          │ Blocked │
│ 4  │ 192.168.5.25 │ c4:██:██:██:██:2b │          │ Limited │
│ 5  │ 192.168.5.61 │ 8c:██:██:██:██:f5 │          │ Limited │
│ 6  │ 192.168.5.67 │ f0:██:██:██:██:b5 │          │ Limited │
└────┴──────────────┴───────────────────┴──────────┴─────────┘

Βήμα 6: Επαναφορά συσκευών στην κανονική τους σύνδεση

Τώρα που έχετε προκαλέσει «χάος στο δίκτυο» :) , ήρθε η ώρα να επαναφέρετε τα πράγματα όπως ήταν. Ευτυχώς, αυτό είναι εύκολο. Μπορείτε να επιλέξετε είτε να επαναφέρετε τις συσκευές μία προς μία, είτε να εκτελέσετε free allγια να ακυρώσετε τυχόν περιορισμούς στις συσκευές δικτύου.

(Main) >>> free all

OK   192.168.5.2 freed.
OK   192.168.5.4 freed.
OK   192.168.5.24 freed.
OK   192.168.5.25 freed.
OK   192.168.5.61 freed.
OK   192.168.5.67 freed.

Για να δείτε εκ νέου την λίστα και την κατάστασή του δικτύου τρέξτε το hosts για τρίτη φορά οπότε και η πρόσβαση στο δίκτυο πρέπει να είναι κανονική και πάλι για όλες τις συσκευές

(Main) >>> hosts

┌Hosts──────────────┬───────────────────┬──────────┬────────┐
│ ID │ IP-Address   │ MAC-Address       │ Hostname │ Status │
├────┼──────────────┼───────────────────┼──────────┼────────┤
│ 0  │ 192.168.5.1  │ 84:██:██:██:██:1a │ _gateway │ Free   │
│ 1  │ 192.168.5.2  │ 0c:██:██:██:██:f5 │          │ Free   │
│ 2  │ 192.168.5.4  │ 3c:██:██:██:██:6f │          │ Free   │
│ 3  │ 192.168.5.24 │ 60:██:██:██:██:78 │          │ Free   │
│ 4  │ 192.168.5.25 │ c4:██:██:██:██:2b │          │ Free   │
│ 5  │ 192.168.5.61 │ 8c:██:██:██:██:f5 │          │ Free   │
│ 6  │ 192.168.5.67 │ f0:██:██:██:██:b5 │          │ Free   │
└────┴──────────────┴───────────────────┴──────────┴────────┘

Επίλογος

Όλα τα παραπάνω εργαλεία μαζί με τα άρθρα που αναφέραμε, θα σας βοηθήσουν να χαρτογραφήσετε το δίκτυό σας, να εντοπίσετε αλλά και να περιορίσετε, προσωρινά τουλάχιστον, τις συσκευές που προκαλούν «μπούκωμα» στο ιντερνέτ σας. Στην συνέχεια θα πρέπει να δείτε και στο άρθρο «Προστάτεψε το WiFi σου από Hackers» για τις μεθόδους προστασίας σας αλλά και να επιβεβαιώστε ότι δεν φταίει ο γείτονας για το αργό ίντερνετ.

Το jNetMap μπορεί να σας φανεί αργό ή και δύσχρηστο αλλά είναι ιδιαίτερα χρήσιμο για να έχετε μια γενική εικόνα του δικτύου σας.

Το Evil Limiter είναι αποτελεσματικό αλλά ιδιαίτερα «επιθετικό»
Στις δοκιμές μου το βρήκα σαν ένα εξαιρετικά αποτελεσματικό, αν και μερικές φορές υπερβολικό εργαλείο. Μερικές φορές, οι προσπάθειές μου να περιορίσω έναν στόχο δεν είχαν επιθυμητά αποτελέσματα.

Ένα πράγμα που πρέπει να έχετε κατά νου όταν χρησιμοποιείτε το Evil Limiter είναι ότι το ARP spoofing εκθέτει τη διεύθυνση MAC σας, οπότε χρησιμοποιώντας αυτό το εργαλείο σε ένα ξένο δίκτυο που δεν σας έχει δοθεί η άδεια, λέει σε όλους ότι η διεύθυνση MAC σας είναι ο ρούτερ του δικτύου. Αυτό αφήνει τη διεύθυνση MAC σας στην προσωρινή μνήμη ARP κάθε συσκευής που στοχεύετε, οπότε βεβαιωθείτε ότι έχετε κάνει spoof τη διεύθυνση MAC πριν χρησιμοποιήσετε αυτό το εργαλείο, αν δεν θέλετε να αφήσετε τα δακτυλικά αποτυπώματα του υπολογιστή σας σε όλο το δίκτυο για το οποίο σας έχουν αναθέσει να κάνετε έλεγχο pentesting.

Παραπομπές

6 σκέψεις σχετικά με το “Βρες ποιος κλέβει το internet και διώξε κόσμο !

Add yours

  1. Καλησπέρα, το evil limiter μου εμφανίζει 3 απο τις 5 συσκευές.
    Συγκεκριμένα, δεν μου εμφανιζει ενα λαπτοπ- που εκινη την ώρα ειναι αδρανο αλλα συνδεδεμένο- και τον αποκωδικοποιητη που είναι πάντα συνδεδεμένος με καλώδιο.

    1. Καλησπέρα φίλε :)

      Ο αποκωδικοποιητης σου έχει στατική IP? Όταν μια συσκευή βρίσκεται σε αδράνεια κάποιες φορές δεν είναι συνδεδεμένη στο δίκτυο και ίσως γι’αυτό να μην την βλέπει.

  2. Το jnetmap δεν ξεκινάει. Και στο τερματικό βγάζει ένα μικρό κατεβατό που τα περισσότερα ξεκινούν με: at java.base/java και τελειώνουν με έναν τριψήφιο ή τετραψήφιο αριθμό.

    Έκδοση java: openjdk version «11.0.3» 2019-04-16
    Λειτουργικό : kubuntu 18.4.2 LTS

    1. Συγγνώμη για το δεύτερο μήνυμα δεν ξέρω πως να το διορθώσω.
      Και το evillimeter δεν ξεκινάει με μήνυμα:
      File «./evillimiter.py», line 157
      IO.print(get_main_banner(version))
      ^
      SyntaxError: invalid syntax

    1. Ακριβώς…. Μαρεσει που το Java θα εξάλειφε αυτά τα φαινόμενα :)

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Ο ιστότοπος χρησιμοποιεί το Akismet για την εξάλειψη των ανεπιθύμητων σχολίων. Μάθετε πως επεξεργάζονται τα δεδομένα των σχολίων σας.

Create a website or blog at WordPress.com

ΠΑΝΩ ↑