Agence de sécurité et "nouvelles" technologies

L'histoire de la façon dont vous n'avez pas besoin de faire une autorisation, en particulier dans des domaines importants pour la vie et les biens, tels que, par exemple, la gestion d'un système d'alarme de sécurité via l'application à partir du téléphone.



Brève introduction


Tout a commencé avec le fait que j'ai construit une maison, et une maison sans alarme antivol peut certainement exister dans nos réalités, mais rien de plus ou moins précieux ne peut y être laissé (de tristes cas de voisins le confirment). Lors de la finition à l'intérieur et à l'extérieur, le réglage et le désarmement de la clé n'ont causé aucun inconvénient.


La maison a un garage, les portes s'ouvrent de la télécommande et, en conséquence, la voiture y est mise. Si la maison est sous surveillance, l'ouverture de la télécommande déclenche une «alarme» à la porte et après 2-3 minutes l'arrivée de gars sérieux. Pour éviter cela, vous devez d'abord retirer la protection (ouvrir le vestibule, attacher la clé, fermer le vestibule, remonter dans la voiture) puis ouvrir le portail. Et d'une certaine façon, cette procédure est un peu ennuyeuse, surtout en hiver, et en général, toute la «magie» est en quelque sorte perdue.


Bien sûr, vous pouvez intelligemment vous assurer que l'ouverture du portail supprime l'alarme, mais je n'ai toujours pas atteint ce point.


Mais j'ai découvert que notre agence de sécurité a une application miracle "Phoenix Mobile Keyboard". L'application n'est pas seulement eux, mais ils fonctionnent avec elle. Avec lui, vous pouvez contrôler l'alarme depuis le téléphone, ce qui rend plus ou moins la joie d'utiliser tout cela.


Et maintenant l'histoire elle-même


Pour connecter la gestion de la sécurité à partir de l'application, vous devez vous rendre au bureau de l'agence de sécurité, trouver l'ingénieur dont vous avez besoin, payer 400 roubles pour la "configuration" à la caisse et vous recevrez un compte qui rentre dans les paramètres du téléphone et le tour est joué, vous pouvez diriger la sécurité comme vous le souhaitez, recevoir notifications push et ne pas connaître le chagrin.


Tout irait bien, mais lorsque vous vous inscrivez, vous obtenez un identifiant sous la forme de trois lettres, par exemple abb (initiales), et le mot de passe est composé des quatre derniers chiffres du numéro de téléphone (comme l'a dit l'ingénieur, pour qu'ils n'oublient pas), c'est-à-dire, par exemple, 0808. Un peu décontenancé par ce que vous avez entendu, a demandé si le mot de passe peut être défini différemment, ils ont dit que c'était possible, mais seulement des chiffres. Bon, ok, je me suis fixé le bon mot de passe et je suis parti tester comment tout fonctionnait.



En attendant, une idée avait mûri dans ma tête - mais devrais-je essayer ...


Nous prenons un iPhone, le connectons au coquelicot, lançons: rvictl -s iPhone_UDID , nous rvictl -s iPhone_UDID à la nouvelle interface via Wireshark et voyons comment notre application fonctionne et ce qu'elle envoie. Vous pouvez prendre d'autres appareils / outils, mais j'en ai un.



Il fonctionne, il s'avère, via le protocole Wamp - il s'agit essentiellement de la même prise Web. Naturellement, rien n'est chiffré et vous pouvez voir exactement comment les demandes sont envoyées et les répéter.


Maintenant, nous essayons de reproduire les demandes reçues. Tout cela pour la rapidité des tests, vous pouvez mettre l'extension pour Chrome de type "Web Socket Client" et y essayer.



Après avoir vérifié que tout fonctionne exactement comme prévu, nous écrivons rapidement le client, par exemple, sur le nœud.


Nous notons que l'API répond avec des messages différents lorsque l'utilisateur n'est pas trouvé du tout et lorsque le mot de passe est incorrect. Cela accélérera le processus.


Notre client sera assez stupide, mais néanmoins efficace. Le client énumère toutes les connexions composées de 3 lettres. Si le nom d'utilisateur existe, il commence à énumérer le mot de passe pour lui, sinon, nous passons au suivant. Le mot de passe est trié dans la plage de 0000 à 9999.


Nous commençons tout cela et attendons. Les identifiants se sont passés assez rapidement (10 minutes), il s'est avéré environ 150 pièces (le service n'est pas tellement utilisé). Le mot de passe pour chaque connexion est d'environ 8 minutes. Il n'y a aucune restriction sur la vérification dans l'IPA. Et vous pouvez évider le multithread.


Les mots de passe ont été sélectionnés dans 100% des cas. Une fois le mot de passe sélectionné, l'API crache des informations telles que: nom du propriétaire, adresse (il peut y avoir de nombreux objets), certains jetons (apparemment pour l'envoi de push), identifiant de session, etc.


Une fois connecté, vous pouvez en conséquence désarmer tout l'objet. Les objets eux-mêmes sont tombés assez loin de la ville. Si cette information était tombée entre les mains des "méchants", alors l'autopsie d'un objet gardé se serait déroulée sans aucun problème, et il aurait alors été possible d'armer en toute sécurité et personne ne l'aurait remarqué.


Réalisant que je suis moi-même un client de ce bureau - je me sentais un peu mal à l'aise.


Une chose est bonne, apparemment, la société a toujours une sorte de surveillance, ou cela peut avoir été accidentellement remarqué, mais après un certain temps, l'application a cessé d'accepter les mots de passe et a proposé de contacter le bureau.


En conséquence, tout le monde a changé son nom d'utilisateur et créé des mots de passe normaux. Le protocole, cependant, car il n'était pas chiffré, est resté le même, mais au moins quelque chose.


Pourquoi tout cela? Peut-être que quelqu'un après cela veut rendre son système un peu plus sûr, et quelqu'un qui utilise un service similaire avec des mots de passe similaires le regardera de l'autre côté et demandera des mesures. Avec de telles actions simples, le niveau de sécurité augmentera légèrement.


Je ne donne pas spécifiquement de noms ici et autant que possible dépersonnalisé toutes les données, de sorte que celui qui se reconnaît tire des conclusions :)


PS Cet article est à titre informatif uniquement, les problèmes décrits ici au moment de la publication ne sont plus d'actualité - l'entreprise a pris des mesures.

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


All Articles