
Aujourd'hui, les points d'accès sans fil nous entourent partout: dans les cafés, restaurants, centres commerciaux et dans les transports. Cela a cessé d'être quelque chose d'inhabituel, et nous nous connectons calmement à un réseau non sécurisé ou gardons constamment le mode de recherche de points familiers. C'est pourquoi, ces dernières années, le nombre d'attaques visant ce segment n'a cessé d'augmenter. Sans surprise, l'accès au trafic utilisateur ouvre un champ d'action énorme pour l'attaquant. Aujourd'hui, je voudrais considérer l'une de ces attaques sous le nom prosaïque Karma, inventée en 2005, mais pour le moment elle est toujours d'actualité.
À une époque, les conversations sur le Karma (ci-après dénommé Karma) étaient très populaires dans les cercles de sécurité, et beaucoup en ont entendu parler au moins par l'oreille. Ceux qui ont ignoré ce sujet à cette époque peuvent le connaître par contumace grâce à un appareil notoire appelé Pineapple. Il a été créé spécifiquement pour mener Karma et d'autres attaques similaires sur les réseaux sans fil rapidement et sans trop d'effort.
Un examen rapide du Karma lui-même permet de comprendre qu'il s'agit en réalité d'une mauvaise attaque jumelle contre les stéroïdes, car, en fait, sa partie principale consiste à élever une copie d'un certain point d'accès. Cependant, le diable est dans les détails, et ce sont les détails qui permettent à l'attaque, créée il y a 13 ans, de ne pas perdre sa pertinence et utilisée pour mener des pentests à ce jour.
Coupe transversale ou lieu de croissance des jambes
En quoi ce dinosaure est-il différent de tout le monde et pourquoi a-t-il survécu? Karma se distingue par le fait qu'il ne repose pas sur les vulnérabilités du logiciel des points d'accès ou des clients, mais sur les fonctionnalités de la norme 802.11 couramment utilisée, ou plutôt sur les fonctionnalités du fonctionnement de son protocole d'authentification. Pour une compréhension complète du dispositif de Karma, le processus d'authentification lui-même sera discuté en détail ci-dessous. Les lecteurs familiers avec ce processus peuvent sauter cette partie en toute sécurité.

Pour annoncer sa présence, Access Point (point d'accès, ci-après dénommé AP) diffuse les trames dites balises - paquets contenant le SSID du point d'accès (c'est-à -dire son identifiant, le nom du réseau), les débits de données pris en charge et le type de cryptage qui utilise ce réseau sans fil.
L'utilisateur trouve des réseaux sans fil en écoutant des paquets à la recherche de trames Beacon à partir des points d'accès qui l'entourent ou en envoyant aux points d'accès à partir de sa liste de réseaux préférés Sondes de demande de sondage - paquets constitués du SSID que l'utilisateur recherche, ainsi que des taux de transfert de données pris en charge par l'utilisateur appareil utilisateur. Le SSID peut être une chaîne vide indiquant qu'il s'agit d'une demande de sonde Null (une demande adressée à tous les points d'accès quel que soit le SSID).
Les points d'accès répondent à la demande de sonde contenant leur SSID, ainsi qu'à la demande de sonde Null en utilisant les paquets de réponse de sonde. Probe Response contient des données identiques à celles des trames Beacon: SSID, débits de données pris en charge et chiffrement.
Si le réseau sans fil utilise le cryptage, la machine utilisateur doit être authentifiée avant de se connecter. Ce processus se produit via des cadres d'authentification. Si le périphérique de l'utilisateur a déjà été authentifié ou si le réseau n'en a pas besoin, le périphérique enverra le point d'accès de demande d'association auquel le point d'accès répond avec la trame de réponse d'association. Après cela, l'utilisateur peut travailler sur ce réseau sans fil.
Il est important de noter : bien que la norme définisse comment un utilisateur rejoint un point d'accès, la façon de sélectionner ce point n'est pas définie, il n'est pas précisé si la station de base doit être authentifiée ou par défaut, elle est approuvée. La solution à ce problème a été laissée aux fournisseurs de matériel et de logiciels pour le système d'exploitation.
Maintenant, il est devenu clair comment fonctionne le Karma. Un attaquant à portée de signal (qui peut potentiellement être aidé par des antennes à gain élevé et des amplificateurs de signal) peut contrôler passivement un canal sans fil et observer les demandes de connexion des utilisateurs vers tous les points d'accès. Il peut utiliser ces informations pour recréer une liste des réseaux préférés de la victime. Seuls les noms des réseaux sont divulgués dans les demandes de connexion de l'utilisateur, mais leur type de cryptage ne l'est pas. Cependant, n'ayant que le SSID du point d'accès, l'attaquant peut créer une copie du même nom, augmentant la probabilité que la victime s'y connecte: par exemple, en amplifiant le signal du point d'accès (le client se connecte généralement automatiquement au point le plus puissant), ou en effectuant une attaque comme " Déni de service »concernant l'AP sélectionné. Si le client s'attend à ce que le réseau soit crypté, la connexion ne sera pas établie et l'attaquant pourra essayer le réseau suivant dans sa copie recréée de la liste des réseaux préférés de la victime. Lorsqu'il tombe sur un réseau qui ne prend pas en charge le cryptage, un réseau sans fil sera créé, auquel la victime se joindra immédiatement.
Un peu sur l'attaque des créateurs de Wi-Fi Pineapple:

"Vieux, mais pas obsolète"
À ce jour, le problème clé de la norme n'a pas été résolu et Karma continue d'être une menace réelle pour les utilisateurs. Par exemple, pour tester les réseaux sans fil, l'ananas WiFi susmentionné, qui peut être acheté gratuitement, est maintenant souvent utilisé. Les créateurs de ce projet le soutiennent activement et, avec une certaine périodicité, publient des mises à jour. Plus récemment, une nouvelle version de Pineapple est sortie: Tetra - un routeur à part entière avec tout ce dont vous avez besoin, 4 antennes SMA et 2 Go de mémoire flash interne et Nano - une version simplifiée qui a un format d'adaptateur USB avec 2 antennes SMA, 16 Mo de ROM et un connecteur sous Micro SD.

Pour ceux qui voudraient essayer Karma sur ce merveilleux appareil, je voudrais immédiatement dire que cela n'a aucun sens d'acheter des premières versions du type Mark V de la main, car le fabricant a cessé de les prendre en charge, et la probabilité que vous puissiez simplement télécharger le logiciel nécessaire via le magasin intégré de l'appareil ou mettre à jour l'appareil (le dernier firmware pour Mark V a été publié en août 2015) tend à zéro, mais à propos de le démarrer et de le lancer. attaque, ne parle même pas.

Après avoir fouillé un peu sur github, vous pouvez trouver plusieurs implémentations open-source de Karma à différents niveaux d'exécution:
Bien que les deux dernières de ces implémentations aient déjà été fournies, elles ne sont pas prises en charge, mais WiFi-Pumpkin et Wifiphisher sont toujours en vie et continuent de se développer. Ma recherche sur le karma n'a pas commencé avec eux, mais avec Mana et FruityWiFi, qui ont mis énormément de temps à analyser. Ils n'ont pas réussi à les faire travailler et les tentatives ont été abandonnées. Cependant, dans un avenir proche, je prévois de revenir sur ce sujet et d'essayer WiFi-Pumpkin and Wifiphisher, ces projets ont leur propre petite communauté et la probabilité de succès dans ce cas est beaucoup plus élevée.
En outre, ce petit projet qui implémente une attaque utilisant le microcontrôleur ESP8266 bon marché et populaire peut être appelé une cerise sur le gâteau et une implémentation intéressante de Karma. Le projet n'est pas complètement indépendant Karma, l'utilisateur doit créer Rogue AP (faux point d'accès), les fonctions de création de la liste préférée des réseaux ne sont pas fournies. Cependant, ces deux problèmes ne sont pas si difficiles à résoudre - ESP est assez généreux en termes de ressources pour cela et, si vous le souhaitez, une bonne utilité peut être obtenue.
Combattre le mauvais karma

Et maintenant, que faire de ces informations, comment se protéger? Il n'y a absolument aucune magie ici, les règles de protection contre le Karma sont simples:
- Désactivez le mode de recherche Wi-Fi sur tous vos appareils jusqu'à ce que vous en ayez besoin.
- Ne faites pas confiance aux points d'accès familiers, vérifiez toujours si ce point peut même être ici (oui, MT_FREE, je parle de vous).
- Utilisez un VPN partout oĂą vous pouvez et ne pouvez pas.
(Tout ici fonctionne de la même manière qu'avec un attaquant qui peut écouter le trafic sur un réseau contrôlé - lorsqu'il utilise un VPN, il ne peut tout simplement pas décrypter quoi que ce soit). - Créez des points d'accès cryptés et privilégiez-les.
- Ne vous connectez pas à nouveau sur des réseaux familiers (il s'agit très probablement d'un faux point d'accès pour un attaquant).
Malgré le fait que les OS cibles ont été mis à jour des centaines de fois depuis l'avènement de Karma et que les systèmes sont devenus plus sûrs, cette attaque est toujours en vie et constitue une menace pour les utilisateurs. Il n'est pas nécessaire de s'attendre à ce que la norme soit corrigée ou ajoutée dans un proche avenir, nous ne pouvons donc que respecter ces règles simples et garder les yeux ouverts.