Στον σημερινό οδηγό θα σας δείξουμε πως να παρακολουθήσετε τα μηνύματα αλλά και τις κλήσεις όλων όσων βρίσκονται στον ίδιο σταθμό βάσης τηλεπικοινωνιών με εσάς. Συγκεκριμένα θα μιλήσουμε για τα δίκτυα GSM και τους αριθμούς IMSI, τον τρόπο λειτουργίας τους αλλά και τα ευάλωτα σημεία που θα εκμεταλλευτούμε για να αποκτήσουμε πρόσβαση.
Table of Contents
Δίκτυα GSM και αριθμοί IMSI
Το GSM είναι ένα πρότυπο που αναπτύχθηκε από το Ευρωπαϊκό Ινστιτούτο Τηλεπικοινωνιακών Προτύπων (ETSI) και αναπτύχθηκε για πρώτη φορά στη Φινλανδία τον Δεκέμβριο του 1991. Γρήγορα έγινε το ευρωπαϊκό πρότυπο για τη μετάδοση κινητών τηλεφώνων και πέτυχε διείσδυση 90% στο παγκόσμιο δίκτυο κινητής τηλεφωνίας μέχρι τον 21ο αιώνα.
Ένα από τα τρωτά σημεία ασφαλείας των δικτύων GSM είναι η έλλειψη αμοιβαίου ελέγχου ταυτότητας.
Το GSM δεν ελέγχει την ταυτότητα του σταθμού βάσης πριν από την πρόσβασή του στο δίκτυο.
Σε αυτόν τον οδηγό, θα χρησιμοποιήσουμε αυτήν την ευπάθεια ασφαλείας για να κάνουμε sniff τα πακέτα του σταθμού βάσης και να αποκτήσουμε το IMSI των συνδεδεμένων συσκευών.
Ο αριθμός IMSI είναι ένας παγκοσμίως μοναδικός αριθμός που προσδιορίζει τον χρήστη. Είναι έως 15 ψηφία και περιλαμβάνει:
MCC – Κωδικός χώρας κινητής τηλεφωνίας. 3 δεκαδικά ψηφία και προσδιορίζει τη χώρα του κατόχου της κινητής συσκευής
MNC – Κωδικός δικτύου κινητής τηλεφωνίας. 2 δεκαδικά ψηφία και προσδιορίζει το δίκτυο κινητής τηλεφωνίας
MSIN – Αριθμός συνδρομητή κινητής τηλεφωνίας 10 δεκαδικά ψηφία και προσδιορίζει τον συνδρομητή
Ο αριθμός IMSI διατηρείται στην κάρτα SIM στο κινητό τηλέφωνο και προσδιορίζει τη χώρα, τον πάροχο και τον χρήστη. Με αυτές τις πληροφορίες, το άτομο που κάνει sniff την κίνηση του δικτύου, μπορεί να αναγνωρίσει και να εντοπίσει τον χρήστη του τηλεφώνου και ενδεχομένως να υποκλέψει και να πλαστογραφήσει τα στοιχεία του χρήστη.
Ας δούμε πώς μπορούμε να συλλέξουμε αυτές τις πληροφορίες από δίκτυα κινητής τηλεφωνίας 2G και 3G με το dongle RTL-SDR και μερικά προγράμματα.
Βήμα #1: Εγκαταστήστε το Kali Linux και εφαρμογές
Για αυτόν τον οδηγό, θα χρησιμοποιήσουμε το Kali μαζί με κάποια προγράμματα που θα μας βοηθήσουν να πετύχουμε τον στόχο μας. Ας ξεκινήσουμε με το gr-gsm. Το Gr-gsm είναι ένα σύνολο εργαλείων για τη λήψη εκπομπών GSM, το οποίο λειτουργεί με οποιοδήποτε υλικό ραδιοφώνου λογισμικού (SDR) ικανό να λαμβάνει σήμα GSM.
Αν και το gr-gsm είναι διαθέσιμο στο αποθετήριο Kali, διαπίστωσα ότι η δημιουργία του από τον πηγαίο κώδικα λειτουργεί καλύτερα. Για να εγκαταστήσετε το gr-gsm, εγκαταστήστε πρώτα τις εξαρτήσεις.
sudo apt-get install -y cmake autoconf libtool pkg-config build-essential python-docutils libcppunit-dev swig doxygen liblog4cpp5-dev gnuradio-dev gr-osmosdr libosmocore-dev liborc-0.4-dev
Στη συνέχεια, κατεβάστε το gr-gsm από το αποθετήριο του github.
sudo git clone https://git.osmocom.org/gr-gsm
Στη συνέχεια, ακολουθήστε τα επόμενα βήματα για να εγκαταστήσετε σωστά την εφαρμογή.
cd gr-gsm mkdir build cd build cmake .. make -j 4 sudo make install sudo ldconfig
Τέλος, πρέπει να αλλάξουμε τη μεταβλητή περιβάλλοντος PYTHONPATH με την παρακάτω εντολή
sudo echo ‘export PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH’ >> ~/.bashrc
Τώρα είστε έτοιμοι να εγκαταστήσετε το kalibrate-rtl από το αποθετήριο του Kali.
sudo apt install calibrate-rtl
Στη συνέχεια, κατεβάζουμε το IMSI-catcher από το github.
Βήμα #2: Βρείτε τις Συχνότητες στις οποίες λειτουργούν οι Σταθμοί Βάσης της περιοχής σας
Το επόμενο βήμα είναι να βρείτε τους σταθμούς βάσης στην περιοχή σας και τη συχνότητα με την οποία λειτουργούν. Για αυτήν την ενέργεια, μπορούμε να χρησιμοποιήσουμε το kalibrate.
Ας ξεκινήσουμε εξετάζοντας την οθόνη βοήθειας του kalibrate.
kal -h
Όπως μπορείτε να δείτε παραπάνω, η Kal χρειάζεται απλώς την επιλογή -s για να σαρώσει τα δίκτυα τεχνολογία όπως GSM850, GSM-R, GSM900, EGSM, DCS ή PCS.. Επειδή το GSM850 λειτουργεί στη Ελλάδα, θα το σαρώσω με gain rate τα 45db.
sudo kal -s GSM850 -g 45
Όπως μπορείτε να δείτε παραπάνω, υπήρχαν 2 σταθμοί βάσης εντός εμβέλειας στα 889,0 Mhz και 890,0 Mhz. Αυτά εμπίπτουν στην περιοχή λήψης του RTL-SDR dongle μου (24-1766Mhz).
Βήμα #3: Συντονίστε το grgsm στη συχνότητα του σταθμού βάσης
Τώρα πρέπει να στρέψουμε το grgsm στη συχνότητα του κοντινού σταθμού βάσης. Μεταβείτε στον κατάλογο gr-gsm και πληκτρολογήστε.
grgsm_livemon -f 889.0M -g 45
Αυτό θα πρέπει να ανοίξει το gr-gsm GUI. Εάν χρειάζεστε, μπορείτε να προσαρμόσετε τη συχνότητα με τη γραμμή ολίσθησης.
Όπου 889.0M είναι η συχνότητα που θέλουμε να “ακούμε” (βεβαιωθείτε ότι αντικαθιστάτε τη συχνότητα που βρίσκεται στις τοπικές ρυθμίσεις σας με το kalibrate) και -g 45 είναι το gain rate μας.
Βήμα #4: Εκκινήστε το IMSI Catcher
Τέλος, ας ξεκινήσουμε το IMSI catcher.
Μεταβείτε στον κατάλογο IMSI-catcher και στη συνέχεια, εκτελέστε το catcher με την επιλογή -s (σάρωση).
cd IMSI-catcher
sudo python simple_IMSI-catcher.py -s
Καθώς ζω σε μια απομακρυσμένη τοποθεσία στις Σέρρες, όπου λίγοι άνθρωποι εξακολουθούν να χρησιμοποιούν τηλέφωνα 2G και 3G GSM, το IMSI-catcher μου δεν παίρνει κανένα IMSI.
Επιπλέον, το υλικό που χρησιμοποίησα είναι ένα φθηνό rtl-sdr όπου περιορίζεται στα 1766 Mhz στην ανώτερη περιοχή και αρκετές τεχνολογίες τηλεφώνου GSM λειτουργούν εκτός αυτής της ζώνης σε υψηλότερες συχνότητες.
Από την άλλη πλευρά, ένας άλλος χρήστης στην Ευρώπη όπου η συσκευή του λειτουργεί σε δίκτυο GSM και εξακολουθεί να έχει πολλά τηλέφωνα 2G και 3G, κατέγραψε πολυάριθμα IMSI μαζί με αναγνωριστικό χειριστή και shell όπως φαίνεται παρακάτω.
Περίληψη
Ακόμη και με ένα φθηνό RTL-SDR, μπορούμε να συλλέξουμε και να συλλέξουμε την κίνηση κινητής τηλεφωνίας 2G και 3G με το IMSI. Δεδομένου ότι το IMSI είναι ενσωματωμένο στην κάρτα SD, υπάρχει μικρή πιθανότητα πλαστογράφησης του IMSI χωρίς ακριβότερο εξοπλισμό.
Από την άλλη πλευρά, τα IMSI συλλέγονται από έναν αριθμό εφαρμογών για κινητά και αυτά τα IMSI μπορούν να χρησιμοποιηθούν για να συσχετιστούν με αυτά τα δεδομένα για την αναγνώριση του χρήστη. Φυσικά, οι αρχές μπορούν να λάβουν γνώση για το IMSI ενός χρήστη και να τον ταυτοποιήσουν με αυτά τα δεδομένα.
Καθώς προχωράμε σε αυτήν τη σειρά, θα προσθέτουμε πιο εξελιγμένο λογισμικό και υλικό καθώς αναπτύσσουμε ένα φθηνό Stingray για την παρακολούθηση κινητών επικοινωνιών.