Vous êtes sur la page 1sur 11

autre chose

11 février 5 minutes

Radio définie par logiciel, partie 6 : Construire un capteur


IMSI pour téléphone portable (Stingray)
Bienvenue à nouveau, mes hackers RF en herbe !

Parmi la multitude de signaux radio qui tourbillonnent autour de nous tous les jours, il y a les
signaux de téléphonie mobile dont nous sommes tous devenus si dépendants. Les réseaux
mobiles utilisent plusieurs technologies différentes, notamment GSM, CDMA, TDMA, 4G, LTE, 5G
et bien d'autres.

Depuis près de deux décennies maintenant, les forces de l'ordre du monde entier utilisent des
capteurs IMSI (alias Stingrays) pour écouter et suivre les suspects. Ces capteurs IMSI agissent
comme des tours cellulaires portables et reniflent le trafic cellulaire, identifient l'IMSI, suivent l'IMSI
géographiquement, interceptent et lisent les métadonnées/le trafic Internet et écoutent les
conversations vocales.
Les capteurs IMSI disponibles dans le commerce portent le nom de "Stingray" et autres. Ces raies
sont censées n'être disponibles que pour les forces de l'ordre, mais elles se sont retrouvées entre
les mains d'autres personnes. Beaucoup se sont plaints des aspects liés aux libertés civiles de
permettre aux forces de l'ordre et aux gouvernements oppressifs d'utiliser ces appareils pour
suivre et écouter des cibles, mais cela n'a pas empêché leur utilisation. L' Electronic Frontier
Foundation a qualifié les appareils de "buffet de données inconstitutionnel à volonté".

Généralement, on estime que ces appareils coûtent entre 50 000 $ et 200 000 $ auprès de
sociétés d'électronique telles que Harris. Mon hypothèse est que si le coût devait tomber à
environ 2 000 $ et être accessible à toute personne ayant un peu de connaissances techniques, ils
seraient rapidement interdits. C'est notre objectif dans cette série; développer une Stingray à
faible coût.

Techniquement, un Stingray est vraiment un capteur IMSI avec une station de base cellulaire.
Dans notre tutoriel ici, nous allons implémenter la première étape de l'attaque de l'homme du
milieu cellulaire ; la saisie de l'IMSI. Ici, nous ne pourrons capturer que l'IMSI des téléphones
portables 2G et 3G. Cela peut sembler limité si vous êtes aux États-Unis ou en Europe
occidentale, mais des données récentes indiquent qu'environ 46 % des téléphones actuels dans
le monde utilisent ces deux technologies plus anciennes. Dans les prochains tutoriels, nous
travaillerons sur les technologies 4G, LTE et 5G.

Une fois que nous avons pu capturer l'IMSI, nous avons commencé le processus de construction
de notre Stingray. La prochaine étape consiste à construire une station de base cellulaire. Les
stations de base cellulaires sont d'un coût prohibitif, mais un projet open source appelé OpenBTS
a développé une station de base pour moins de 1 000 dollars.

Réseaux GSM et numéros IMSI


Le GSM est une norme développée par l'Institut européen des normes de télécommunications
(ETSI) et déployée pour la première fois en Finlande (domicile de Nokia et Linus Torvalds) en
décembre 1991. Il est rapidement devenu la norme européenne pour la transmission des
téléphones portables et a atteint 90 % de pénétration du réseau mobile mondial. par le 21ème
siècle.

L'une des vulnérabilités de sécurité des réseaux GSM est le manque d'authentification mutuelle.
Le combiné GSM n'authentifie pas la station de base avant d'accéder au réseau. Dans ce
didacticiel, nous utiliserons cette vulnérabilité de sécurité pour renifler et acquérir l'IMSI du
combiné.

Le numéro IMSI est un numéro unique au monde qui identifie l'utilisateur. Il comporte jusqu'à
15 chiffres et comprend ;

MCC - Code de pays mobile. 3 décimales et identifie le pays du propriétaire de l'appareil mobile
MNC - Code de réseau mobile. 2 décimales et identifie le réseau de l'opérateur

MSIN - Numéro d'abonné mobile 10 décimales et identifie l'abonné

Le numéro IMSI est contenu dans la carte SIM du téléphone mobile et identifie le pays, l'opérateur
et l'utilisateur. Avec ces informations, la personne reniflant ce trafic peut au minimum identifier et
localiser l'utilisateur du téléphone et potentiellement intercepter et usurper le trafic de l'utilisateur.

Voyons comment nous pouvons récolter ces informations à partir des réseaux mobiles 2G et 3G
avec notre dongle RTL-SDR et quelques logiciels.

Étape 1 : Installer un nouveau logiciel dans Kali


Pour ce tutoriel, nous utiliserons Kali et plusieurs nouveaux logiciels. Commençons par gr-gsm.
Gr-gsm est un ensemble d'outils de réception de transmissions GSM, qui fonctionne avec
n'importe quel matériel de radio logicielle (SDR) capable de recevoir un signal GSM.

Bien que gr-gsm soit disponible dans le référentiel Kali, j'ai trouvé que le construire à partir du
code source fonctionnait mieux. Pour installer gr-gsm, installez d'abord les dépendances ;

kali > 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 swig

Ensuite, clonez gr-gsm à partir du référentiel github.

kali > sudo git clone https://git.osmocom.org/gr-gsm

Suivez ensuite les étapes suivantes pour créer l'application.

cd gr-gsm mkdir build cd build cmake .. make -j 4 sudo make install sudo ldconfig

Enfin, nous devons changer la variable d'environnement PYTHONPATH

kali> sudo echo 'exporter PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH'


>> ~/.bashrc
Vous êtes maintenant prêt à installer kalibrate-rtl à partir du référentiel Kali.

kali> sudo apt installer kalibrate-rtl

Ensuite, clonez le capteur IMSI à partir de github.

Étape 2 : Trouvez les fréquences sur lesquelles


fonctionnent les stations de base

L'étape suivante consiste à trouver les stations de base dans votre région et la fréquence sur
laquelle elles fonctionnent. Pour cette action, nous pouvons utiliser kalibrate.
Commençons par examiner l'écran d'aide de calibrage.

kali > kal -h

Comme vous pouvez le voir ci-dessus, kal a simplement besoin de -s pour scanner suivi de la
technologie telle que GSM850, GSM-R, GSM900, EGSM, DCS ou PCS. De plus, nous pouvons
spécifier le gain avec l'option-g. Étant donné que le GSM850 est courant en Amérique du Nord et
du Sud, je le rechercherai avec un gain de 45 dB.

kali > sudo kal -s GSM850 -g 45


Comme vous pouvez le voir ci-dessus, il y avait 2 stations de base à portée à 889,0 Mhz et 890,0
Mhz. Ceux-ci se situent dans la plage de réception de mon dongle RTL-SDR (24-1766Mhz).

Étape 3 : Réglez grgsm sur la fréquence de la


station de base

Maintenant, nous devons tourner le grgsm sur la fréquence de la station de base à proximité.
Accédez au répertoire gr-gsm et entrez ;

kali > grgsm_livemon -f 889.0M -g 45

Cela devrait ouvrir l'interface graphique gr-gsm. Si vous en avez besoin, vous pouvez régler la
fréquence avec la barre de défilement.

Où 889.0M est la fréquence sur laquelle nous voulons "écouter" (assurez-vous de remplacer la
fréquence trouvée dans votre région par kalibrate) et -g 45 est le taux de gain.
Étape 4 : Démarrez IMSI Catcher

Enfin, commençons le receveur IMSI.

Naviguez jusqu'au répertoire IMSI-catcher puis exécutez le catcher avec l'option -s (scan).

kali > cd IMSI-catcher

kali > sudo python simple_IMSI-catcher.py -s

Comme je vis dans un endroit éloigné des montagnes Rocheuses aux États-Unis où peu de gens
utilisent encore des téléphones GSM 2G et 3G, mon IMSI-catcher ne capte aucun IMSI. De plus,
notre matériel - le rtl-sdr peu coûteux - est limité à 1766 MHz dans la gamme supérieure et
plusieurs technologies de téléphonie GSM fonctionnent en dehors de cette bande à des
fréquences plus élevées.

D'autre part, un autre utilisateur en Europe où le GSM est la norme et qui possède encore de
nombreux téléphones 2G et 3G, a capturé de nombreux IMSI ainsi que l'identifiant de l'opérateur
et de la cellule, comme indiqué ci-dessous.

Sommaire
Même avec un RTL-SDR peu coûteux, nous pouvons capter et renifler le trafic cellulaire 2G et 3G
avec l'IMSI. Étant donné que l'IMSI est intégré à la carte SD, il y a peu de chances d'usurper l'IMSI
sans équipement plus coûteux. D'autre part, les IMSI sont collectés par un certain nombre
d'applications mobiles et ces IMSI peuvent être utilisés pour établir une corrélation avec ces
données afin d'identifier l'utilisateur. Bien sûr, les forces de l'ordre peuvent obtenir une assignation
à comparaître pour l'IMSI de l'utilisateur et identifier l'utilisateur avec ces données.

Au fur et à mesure que nous progressons dans cette série, nous ajouterons des logiciels et du
matériel plus sophistiqués à mesure que nous développerons une Stingray peu coûteuse pour
intercepter les communications mobiles.

19085 0 32

Vous aimerez peut-être aussi