Conférence DEFCON 18. Espionnage pratique avec un téléphone portable. 2e partie

Conférence DEFCON 18. Espionnage pratique avec un téléphone portable. Partie 1

Nous voulons utiliser certaines méthodes pour accélérer la capture de téléphones par un faux réseau. Pour le moment, nous avons un simple intercepteur IMSI, vous pouvez essayer d'appeler et d'entendre l'avertissement que j'ai enregistré. Je vois plusieurs personnes lever la main. Je veux dire, vous vous connectez à mon réseau et j'intercepte tout votre trafic.
Tout d'abord, maintenant je connais tous vos IMSI et je peux les filtrer, ne laissant que l'IMSI d'une personne spécifique, ce qui est mon objectif. Je peux faire de même avec le filtrage IMEI, qui sont des identifiants téléphoniques. Par exemple, je peux autoriser uniquement les téléphones Nokia ou les iPhones à se connecter au réseau. Je peux m'assurer que seul cet IMEI particulier est sur mon réseau et personne d'autre. Je peux restreindre l'accès en utilisant une variété d'options.



Comme je l'ai déjà mentionné, il faut du temps pour migrer les gens du réseau officiel vers mon réseau, et nous pouvons le faire plus rapidement, j'en parlerai dans une seconde. L'une des principales limites de ce système est qu'il n'accepte que les appels sortants. Lorsque vous vous connectez à mon réseau, qu'il s'agisse de T-Mobile ou d'AT & T, votre téléphone se déconnecte, car en réalité vous n'êtes connecté à aucune des tours cellulaires légales. Ainsi, dès que l'appel arrive, il va directement à votre messagerie vocale. Ce problème est résoluble, je vous montrerai plus tard que les appels sortants peuvent également être enregistrés.

Alors, comment accélérer la connexion, car je ne veux pas rester ici toute la journée à regarder comment vos téléphones se connectent à mon réseau? Il existe plusieurs technologies d'accélération qui utilisent ces méthodes:

  • une liste de "voisins", c'est-Ă -dire des tours situĂ©es Ă  cĂ´tĂ©;
  • Remplacement de l'indicatif rĂ©gional de BAC
  • chargement du tĂ©lĂ©phone;
  • rĂ©ception accrue.

Prenons le «voisinage» du GSM. Chaque station de base sait quelles tours sont situées à proximité et lorsque le téléphone lui est connecté, elle reçoit une liste de "voisins", c'est-à-dire des informations sur le canal sur lequel chaque station travaille.



Votre téléphone contrôlera tous ces canaux et surveillera la force du signal, et si le signal de la tour voisine est plus fort, il se connectera à lui. Quels en sont les avantages? Nous savons que le téléphone portable surveillera les fréquences voisines, donc si nous regardons autour de la zone entière et découvrons quelles tours nous entourent, nous pouvons savoir à quelle fréquence le téléphone sélectionne et à quelle tour il se connecte. En fin de compte, nous pouvons trouver le canal adjacent, qui est probablement situé de l'autre côté de la tour, et régler notre station sur la fréquence que, comme je le sais, votre téléphone capte. Supposons que votre téléphone se connecte à la station de base, tout se passe bien, mais ensuite vous avez roulé un peu dans la rue et l'autre tour était plus proche du téléphone, alors je passe juste à sa fréquence pour ne pas vous perdre. Ainsi, la surveillance des canaux adjacents vous permettra de passer rapidement à la fréquence souhaitée.

C'est en fait assez simple. Supposons que j'ai un téléphone Nokia 3310 (900/1800) ou 3390 (1900) qui accepte les plages de fréquences européennes et américaines. Ce téléphone prend en charge le mode de surveillance du réseau du Moniteur réseau, dans lequel les journaux de tout ce que le téléphone GSM fait sont conservés, chaque paquet qu'il a envoyé à la station de base et chaque réponse reçue de celui-ci est enregistré. Cela ne vous offre aucun avantage de pirater ou de détourner ce téléphone, mais donne des informations complètes sur ce que ce téléphone voit dans le réseau GSM.
Si vous obtenez l'un de ces téléphones, vous aurez besoin d'un câble de raccordement spécial avec des adaptateurs Fbus / Mbus et un programme de contrôle du téléphone appelé Gammu. Il s'agit d'un programme open source, il se connecte au téléphone via un ordinateur à l'aide d'un tel câble et affiche simplement la trace sous forme de fichier XML que vous pouvez ouvrir dans Wireshark. Une liste des tours voisines est contenue dans la ligne «System Info type 2».
Je vais maintenant vous montrer la démo numéro 3, à savoir à quoi ressemble le trafic capté par Wireshark. Sur cet écran, vous voyez le trafic que j'ai capturé et enregistré la nuit dernière à partir d'un téléphone connecté au réseau T-Mobile.



Ici, vous voyez divers messages GSM, et si vous trouvez la ligne «System Info type 2» parmi les packages à droite et cliquez dessus, vous pouvez obtenir une liste des tours GSM voisines.



Il vous suffit donc de prendre ce téléphone, de le connecter à l'ordinateur via un câble adaptateur, de démarrer Gammu, de consulter la liste des chaînes dans Wireshark, de les comparer avec ce que vous savez, c'est-à-dire d'allumer la radio à chacune de ces fréquences et de voir si vous obtenez avec ce signal. C'est complètement simple. Grâce à cette technologie, vous pouvez trouver un «voisin» qui n'est pas utilisé dans la zone locale, l'utiliser et ainsi augmenter la vitesse de connexion. Aujourd'hui, je voulais juste vous montrer qu'un attaquant pourrait tout aussi facilement utiliser cette astuce pour capturer votre téléphone.
Nous pouvons utiliser une autre façon d'accélérer la connexion en changeant le code LAC. Il s'agit du code de localisation diffusé par la station de base BTS, qui regroupe un ensemble de tours situées dans la même zone. Autrement dit, vous avez un tas de tours dans la même zone offrant le même LAC. Il peut également être manipulé exactement de la même manière. Lorsque le téléphone surveille toutes les tours voisines et que le LAC change, vous pouvez conclure que le téléphone bouge. Si le téléphone a vraiment déménagé dans une autre zone, vous devez réaffecter la station, c'est-à-dire la transférer dans une autre tour.

Avec mon Open BTS local, j'ai un contrôle total sur le LAC et je peux le changer. Ensuite, tous les téléphones à proximité diront: "Hé, regardez, le LAC a changé, ce qui signifie que j'ai conduit à 80 km de l'ancienne tour et que je dois me connecter à cette nouvelle tour!" Ainsi, en faisant défiler les autres BAC toutes les quelques minutes, c'est-à-dire en modifiant périodiquement l'indicatif régional, vous pouvez connecter encore plus de téléphones à votre station.

Je vais vous montrer une démonstration de la façon de changer BAC. Voyons d'abord combien de téléphones sont actuellement sur mon réseau. Avant de truquer le réseau AT&T, nous avions 30 combinés connectés. Ensuite, j'ai utilisé AT&T MMC et MCC, et nous voyons que 24 téléphones sont actuellement connectés au réseau. TIMSI a un délai d'expiration, donc la commande répétée que j'entre suit avec un certain retard, et cela montre également que nous avons maintenant 24 téléphones connectés. Vous ne pouvez pas y faire attention, nous avons encore tout un tas de téléphones.

Nous pouvons à nouveau utiliser la commande Cell ID pour faire défiler le LAC. Mon code de localisation était 666, je pense que je devrais le changer en 31337 et laisser l'ID de cellule à 10. En fait, je changerai également l'ID de cellule de l'ID de cellule, juste pour que les téléphones sachent qu'il s'agit d'une nouvelle tour. Ce n’est pas du tout difficile de changer le LAC. Comme je l'ai dit, les téléphones penseront maintenant qu'ils ont changé d'emplacement et le nombre de téléphones connectés à la nouvelle tour devrait augmenter.
Nous y reviendrons après avoir considéré la méthode suivante - lancer le téléphone ou charger le téléphone avec des informations. Lorsque le téléphone s'allume, avant de trouver sa première tour, il ne sait rien - ni la fréquence de la tour, ni le LAC, ni les tours voisines. Par conséquent, après l'avoir allumé, il effectue un long balayage de toute la gamme de fréquences, trouve des tours, vérifie leur MNC et MCC, essaie de savoir s'il y a un réseau à proximité qui peut être connecté à sa carte SIM, vérifie la force du signal et, enfin, se connecte à la plus «puissante». tour.

Dès qu'il commence à trouver des tours, la plage de balayage est limitée, tandis que le téléphone numérise dans un volume plus petit, mais plus rapidement car il dispose déjà d'informations sur les plages de fréquences utilisées, les tours et les canaux que vous devez rechercher. Un attaquant peut l'utiliser à son avantage, car un processus similaire se produit lorsque le téléphone perd son signal.

Si un pirate utilise DoS par rapport à un service réseau, les téléphones perdent le signal et commencent à analyser le réseau dans une plus grande portée, ce qui augmente les chances de se connecter à la tour de l'attaquant.

Comment puis-je faire perdre un signal à un téléphone? Dans cet exemple, je ne parlerai que de la deuxième génération de communications GSM 2G, car la 3G a beaucoup plus de sécurité. Donc, si vous bloquez une certaine portée GSM, les téléphones commencent à effectuer un balayage lent détaillé, augmentant ainsi les chances de trouver exactement notre tour.



Cependant, si vous utilisez la 3G, je ne peux rien faire, car grâce à des protocoles puissants, il est beaucoup plus difficile d'intercepter un appel 3G. Par conséquent, nous devons forcer les téléphones à se connecter au réseau 2G, brouillant le signal 3G. Si votre téléphone n'est plus en mesure de se connecter au réseau 3G, il est heureux de passer en 2G.

Tout ce que vous avez à faire est de diffuser du «bruit», ce qui bloquera la capacité de parler sur le réseau 3G et forcera le téléphone à passer en 2G avec une simple messagerie texte. Autrement dit, si vous ne pouvez pas vous connecter au port 22, essayez de vous connecter au port 23. Vous pouvez considérer la 3G comme un analogue de SSH et le GSM comme un analogue de Telnet, donc une situation similaire à celle lorsque vous ne parvenez pas à vous connecter au port SSH. au port Telnet. C'est ce que fait un téléphone portable dans une situation similaire.

La question est de savoir combien il est difficile de noyer le signal cellulaire dans une certaine gamme de fréquences. Considérez ce qui constitue la génération d'interférences. Tout ce que l'attaquant a à faire est de fournir du «bruit». Quand je parle de «bruit», je veux dire une chose très spécifique. Je ne parle pas de hasard, mais d'un bruit spectral complètement plat qui couvre toute la gamme de fréquences et chaque canal.

Qu'est-ce qui est le plus efficace dans ce cas, sauf comment détruire complètement la tour? Cela exclut la possibilité pour les téléphones de voir cette tour, la masquant complètement avec du bruit. Un générateur de bruit n'est pas trop cher; sur eBay, vous pouvez l'acheter pour 450 $. J'ai un tel générateur avec moi. Comme vous pouvez le voir, c'est une chose assez lourde!



Si je le connecte à l'amplificateur de puissance et à l'amplificateur à l'antenne et que je le configure avec précision, son allumage entraînera de graves perturbations du réseau cellulaire. Comme je l'ai déjà dit, le brouilleur coûte 450 $ sur eBay, un amplificateur de 100 W peut être acheté sur Internet pour 400 $, et un bruit de 100 W peut simplement provoquer d'énormes pannes de réseau.

Ce générateur fonctionne en 2 modes - l'un pour le brouillage dans la gamme de 900 MHz, le second - dans la gamme de 1900 MHz. Sur la diapositive, vous voyez la courbe de l'analyseur de spectre basse fréquence, à gauche - environ 500 mégahertz, à droite - la fréquence la plus élevée est de 2,5 gigahertz.



Sur la gauche, vous voyez un bloc «gros et épais» dans la gamme de fréquences de 900 MHz. L'amplificateur peut fournir exactement la même unité sur n'importe quel canal cellulaire dans la plage de 850 à 950 mégahertz.
Allumez cette chose, et la communication à 850 et 950 cessera tout simplement de fonctionner. Il en va de même en mode 1900 - un peu plus loin, vous voyez à nouveau le pic de fréquence principal.

La démo n ° 5 montrera comment le brouillage de la fréquence porteuse de la communication cellulaire se produit. Cependant, ne pensez pas que je suis si stupide! Si je transforme cette chose qui interfère en un amplificateur de 100 W et que je la connecte à l'antenne, je supprimerai toutes les communications cellulaires dans la région - GSM, CDMA, 3G, Verizon et presque tous les téléphones portables de Las Vegas, sinon plus.

(applaudissements et rires)



Je n'allumerai donc jamais cette chose. La principale raison pour laquelle je l'ai, c'est que c'est une chose fabuleusement utile dans le rôle de l'équipement de test. Si vous essayez de classer les filtres, vous passez du «bruit blanc» à travers le filtre, comparez la forme d'onde à l'entrée et à la sortie et calibrez le filtre très précisément. C'est pourquoi j'utilise ce brouilleur, et non pour organiser une attaque cellulaire DoS. Le fait est qu'il n'y a aucune protection contre un tel "brouilleur".

Il suffit d'un court démarrage du générateur de plusieurs secondes pour «mettre» l'ensemble du réseau, mais une telle démonstration de puissance sera tout à fait inappropriée ici. Je pense qu'un amplificateur de 100 W et une antenne correctement réglée peuvent arrêter l'ensemble du système cellulaire de Las Vegas.

Une autre méthode que nous pouvons utiliser pour intercepter les téléphones est appelée gain de réception, ou «gain de réception». Elle consiste dans le fait que le BTS peut envoyer une commande au téléphone: «prenez mon signal comme s'il était X dB plus fort qu'il ne l'est réellement». La signification de ceci est la suivante.

Imaginez une échelle graduée de +50 à -100. Quiconque connaît la RF comprendra pourquoi j'ai choisi cette gamme. Supposons que mon signal tombe à -80, il est vraiment très bas. Je peux ordonner à votre téléphone d'ajouter simplement 100 à cette valeur, ce qui donne un signal de niveau + 20 dBm. Le téléphone pensera: "excellent, c'est la tour la plus puissante du quartier, maintenant je vais me connecter"! Oui, cela a l'air ridicule, c'est une escroquerie, mais encore une fois, c'est un autre excellent exemple d'instructions que BTS peut envoyer au téléphone. Autrement dit, je n'ai pas besoin d'avoir un signal plus puissant, j'ai juste besoin de convaincre le téléphone que mon signal est vraiment plus fort que tout le monde. Et le téléphone le croira, car le GSM fonctionne de cette façon, et il est simplement obligé d'exécuter les commandes de la tour. Bien sûr, un attaquant peut utiliser cette méthode pour attirer les téléphones et, ayant un signal plutôt faible, gagner un concours avec des tours plus puissantes. Open BTS ne prend pas encore en charge cette fonctionnalité, je ne peux donc pas démontrer cette méthode. C'est en fait l'essence des brevets R&S utilisés dans l'intercepteur IMSI.
Au Royaume-Uni, il y a eu un cas où quelqu'un a vendu la technologie d'intercepteur IMSI en utilisant la méthode d'amélioration de la réception, et R&S l'a poursuivi parce que cette méthode était brevetée par leur entreprise. La substitution de MNC, MCC, renommer des réseaux est tout à fait banale, mais la méthode décrite ci-dessus est brevetée par les développeurs du «catcher» des réseaux.

Comme je l'ai mentionné, nous ne voyons pas les appels entrants, nous ne voyons que les appels sortants. En effet, le «capteur» IMSI est un réseau cellulaire complètement isolé. L'opérateur pense que votre téléphone est déconnecté ou ne reçoit pas de signal. Dans ce cas, il transfère tous les appels qui vous sont adressés à votre messagerie vocale, à la suite de quoi l'attaquant ne voit pas les appels entrants.



Comment contourner cela? Évidemment, si vous avez contacté ma tour, elle demandera l'authentification, votre IMSI, et le téléphone se fera un plaisir de la fournir, donc votre IMSI sera avec moi. Que puis-je faire? Allez chez AT&T et dites: "Hé, voici mon IMSI, je l'ai attiré d'un autre gars, mais vous n'avez pas besoin de le savoir, et je sais que ce gars est hors ligne, car c'est mon réseau"? Le problème est que je ne connais pas la clé secrète de la carte SIM. Que peut-il arriver lorsque je prétends qu'il s'agit de mon IMSI dans le réseau AT&T? Ils m'envoient un numéro aléatoire de 32 bits, et il arrive généralement qu'il aille sur une carte SIM, soit chiffré avec votre clé secrète et soit divisé en 2 parties. La moitié est envoyée à la tour et sert de preuve que vous connaissez la clé secrète, et l'autre moitié est utilisée comme clé de cryptage.

Comment puis-je l'utiliser? Je peux simplement envoyer ce numéro à votre téléphone, qui sait crypter la clé secrète, faire le reste et m'envoyer une réponse. Cependant, en fait, il ne peut pas m'envoyer de réponse, car je ne peux pas recevoir d'appels entrants. Il n'y a qu'une seule issue - pour casser la clé secrète.

Combien d'entre vous ont assisté à la présentation de cracker Cracker 5.1 lors de la conférence Black Hat sait que ce cracker a une sérieuse limitation - il ne fonctionne pas dans les stations de base avec saut de fréquence, comme toutes les stations de base dans le monde. Dans les applications réelles, cela ne se produit pas. Mais j'ai moi-même réglé la fréquence des «sauts» dans mon BTS, afin que je puisse les désactiver complètement afin de ne me soucier de rien, puis utiliser les «tables arc-en-ciel» pour casser la clé secrète.

Après cela, je restaurerai la clé de session. Maintenant, je connais la clé de session et la clé de réponse pour l'authentification, et je peux utiliser tout cela pour un opérateur mobile. Cela prendra un peu de temps, mais à la fin, je recevrai sa réponse et mon téléphone se connectera légalement.

Cette méthode n'a pas encore été implémentée dans mon système, mais cela peut certainement être fait, c'est la technologie que les capteurs IMSI commerciaux utilisent pour intercepter les appels entrants. Bien sûr, maintenant je ne peux pas faire ça dans mon système, mais c'est absolument possible.

Je vais vous en dire un peu plus sur le piratage d'une clé de session. C'est la seule fois où une attaque cryptographique peut être nécessaire lors de l'utilisation du «catcher» IMSI.



Tout ce dont j'avais besoin du point de chiffrement lors de la configuration de ma station de base était de désactiver la fonction de chiffrement du trafic A5 / 0. A5 / 2 est plus facile pour le piratage, mais certains téléphones rejettent A5 / 2, en utilisant A5 / 1 à la place, ce qui n'est pas non plus difficile à casser en utilisant la "table arc-en-ciel". Dans tous les cas, les appels sortants vers votre téléphone me parviennent en texte clair.

Comment gérer tout ça? La réalité est qu'il n'y a pas de solution pratique, parce que le GSM est vulnérable en soi, c'est le même Telnet, que dans un système cellulaire. Pour réparer le GSM, il doit être complètement changé. Vous devrez mettre à jour chaque téléphone, refaire chaque tour, changer tous les réseaux, etc. Alors pourquoi faire cela si vous pouvez simplement passer à la norme 3G?

Ainsi, la seule bonne solution est de passer aux protocoles cellulaires 3G et ultérieurs. L'authentification 3G est bien meilleure; 3.5G (HSPA), 3.9 G, LTE et les protocoles suivants sont construits sur les mêmes principes. La principale solution consiste à désactiver simplement la 2G.
Levez la main, qui a des téléphones Android? Vous voyez que dans leurs paramètres, il y a une fonction «utiliser uniquement les réseaux 2G». Vraisemblablement, cela économise l'énergie de la batterie, mais combien de personnes ont déjà vu un téléphone doté de la fonction «utiliser uniquement les réseaux 3G»? Eh bien, quelqu'un a un BlackBerry avec cette fonctionnalité, mais ni Android ni iPhone ne l'ont, alors comment pouvons-nous nous sentir en sécurité?

Bien sûr, la 3G n'est pas sans vulnérabilités, et si le protocole lui-même est difficile à casser, vous pouvez essayer de casser le cryptage KASUMI utilisé, également désigné par A5 / 3, de tels cas sont connus. Mais il vaut toujours mieux utiliser cette norme cellulaire particulière. Regardez simplement l'écran de votre téléphone, et si vous voyez des petites lettres 3G ci-dessus, alors tout va bien. La meilleure façon de vous protéger de l'espionnage réseau est donc de désactiver la 2G. Les réseaux 3.5G sont déjà apparus, les réseaux 4G sont à l'horizon, alors essayez d'en profiter.

Et maintenant, nous allons passer à la démo finale. Voyons combien de téléphones sont actuellement sur mon réseau. Donc, seulement 17 personnes, probablement les gens ont commencé à revenir au réseau normal! Peut-être que vos téléphones ont d'abord cru que j'étais un vrai réseau AT&T, mais ont ensuite réalisé qu'il se comportait mal et ont décidé de partir.

D'une manière ou d'une autre, n'hésitez pas, appelez n'importe où depuis mon réseau gratuitement, la seule limitation est que vous devez composer le 1 devant le numéro appelé. , , , 20 SIP. , , , , …



Merci de rester avec nous. Aimez-vous nos articles? Vous voulez voir des matériaux plus intéressants? Soutenez-nous en passant une commande ou en le recommandant à vos amis, une réduction de 30% pour les utilisateurs Habr sur un analogue unique de serveurs d'entrée de gamme que nous avons inventés pour vous: Toute la vérité sur VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbps à partir de 20 $ ou comment diviser le serveur? (les options sont disponibles avec RAID1 et RAID10, jusqu'à 24 cœurs et jusqu'à 40 Go de DDR4).

VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbit / s jusqu'en janvier gratuitement en payant pour une période de six mois, vous pouvez commander ici .

Dell R730xd 2 fois moins cher? Nous avons seulement 2 x Intel Dodeca-Core Xeon E5-2650v4 128 Go DDR4 6x480 Go SSD 1 Gbps 100 TV à partir de 249 $ aux Pays-Bas et aux États-Unis! Pour en savoir plus sur la création d'un bâtiment d'infrastructure. classe utilisant des serveurs Dell R730xd E5-2650 v4 coûtant 9 000 euros pour un sou?

Source: https://habr.com/ru/post/fr435352/


All Articles