Conférence BLACK HAT USA. Comment un pirate hollywoodien utilise des caméras de surveillance. 2e partie

Conférence BLACK HAT USA. Comment un pirate hollywoodien utilise des caméras de surveillance. Partie 1

Nous pouvons également utiliser cette erreur pour obtenir ou remplacer le mot de passe administrateur chiffré, qui est stocké dans / etc / privpasswd.



Nous pouvons extraire le contenu de ce fichier. Comme vous pouvez le voir, il contient le nom d'utilisateur racine et le mot de passe crypté.



Pour le moment, nous avons 2 options: vous pouvez essayer de décrypter le mot de passe en utilisant un outil tel que John the Ripper:



Si cela ne fonctionne pas, au diable - nous avons root, et nous écrasons simplement ce fichier. Dans tous les cas, nous avons accès au «panneau d'administration», et de la même manière que dans le cas de la caméra précédente, nous aurons à nouveau les droits d'administrateur et d'utilisateur root.



Ces vulnérabilités se produisent dans la plupart des caméras IQ InVision, y compris les séries 3 et 7, la série Sentinel, Alliance-Pro, Alliance-MX et Alliance-Mini. Je ne listerai pas tous les modèles, sinon je resterai ici pour toujours, la liste complète de ces caméras est disponible sur Internet dans la liste Shodan Dork. Ce qui est triste, c'est que, comme vous le savez, les caméras de ce fabricant sont largement utilisées dans les écoles, les postes de police, les banques, les casinos, les sociétés financières et de conseil, les services DHL, etc.

J'ai vu qu'aujourd'hui la caméra la plus chère est la N5072 de 3SVision. Son prix est indiqué par la phrase "Contactez-nous", j'ai donc immédiatement réalisé que je ne pouvais pas me le permettre. J'ai eu quelques problèmes avec cet appareil photo, car pour tous les autres appareils photo, je pouvais simplement aller sur le site Web du fabricant, télécharger le firmware et analyser le code pour détecter les vulnérabilités. Je n'avais pas besoin d'acheter un appareil, au moins pour effectuer les premiers tests.



Mais lorsque je suis allé sur le site Web du fabricant pour télécharger le firmware de cet appareil photo, une fenêtre contextuelle JavaScript est apparue devant moi me demandant de saisir mon mot de passe. J'ai immédiatement essayé tous les mots de passe les plus courants: amour, sexe, dieu, mais cela n'a pas fonctionné. Mais au final, l'onglet mot de passe = 4 a fonctionné. Et tu sais pourquoi? Parce que si vous regardez le JavaScript qui renvoie le mot de passe au serveur, je n'ai même pas besoin d'expliquer ce que vous voyez là (rires), c'est juste génial.



Jusqu'à ce que vous obteniez le mot de passe correct, vous êtes simplement redirigé vers l'URL actuelle avec l'onglet esperluette = 4 à la fin de la ligne. Comme je suis suffisamment compétent pour comprendre de quoi il s'agit, j'ai saisi ce mot de passe et je suis allé sur la page de téléchargement du firmware.

Une telle approche n'est pas de bon augure pour la sécurité de leur système. Le fait qu'ils utilisent le serveur Web httpd personnalisé dans le firmware semble assez inoffensif, mais si vous regardez les lignes de ce fichier binaire, vous pouvez voir qu'elles sont toutes hautement personnalisables.



J'ai donc décidé que comme il semble vraiment personnalisable, je dois réfléchir à la façon dont leur serveur Web gère l'authentification. Maintenant que je sais que les caméras utilisent des périphériques HTTP de base pour l'authentification, j'utilise base64 pour décrypter. Si vous connaissez l'authentification via http, vous savez qu'ici, le nom d'utilisateur et le mot de passe sont combinés, puis codés en base64.



J'ai donc commencé à regarder le code pour les références croisées qui mentionnent b64_decode. Tout ce qu'ils font lorsqu'ils décryptent votre mot de passe est de le transmettre à b64_decode pour vérification, et parfaitement, ça va, ils ont décrypté votre mot de passe. Ensuite, ils font deux comparaisons de chaînes: une chaîne avec un paramètre codé en dur 3sadmin et une autre chaîne codée en dur 27988303.

Auparavant, je pensais que vous ne pouviez pas être aussi stupide que de mettre des choses codées en dur dans votre serveur HTTP, car ce n'est pas fiable, mais cela continue de fonctionner.



Ainsi, vous pouvez accéder à n'importe quelle caméra 3SVision et devenir administrateur. Cela vous donne accès aux caisses vidéo, aux postes de contrôle taiwanais et aux sous-sols des entreprises industrielles russes.

Mais regarder toute cette vidéo devient assez rapidement ennuyeux, donc je voulais me lancer. Heureusement, leur code regorge de toutes sortes d'appels système non sécurisés, et l'attaquant ouvre le champ d'attaque le plus large, surtout s'il se connecte en tant qu'administrateur. Le meilleur exemple de ceci est le gestionnaire vidéo records.cgi.



Pas tous, mais beaucoup de ces caméras prennent en charge le stockage local, vous pouvez donc, par exemple, insérer votre carte mémoire SD à l'intérieur de la caméra et enregistrer des vidéos pour vous-même dessus. Vous avez également la possibilité de gérer certains fichiers de base via l'interface d'administration, et cela se fait via la fonction do_records sur la page cgi. Cgi n'est pas une page physique sur le disque. Lorsque le serveur Web constate que vous avez demandé un enregistrement CGI, il appelle le gestionnaire de fonctions do_records, qui vérifie l'action que vous effectuez. Par exemple, si vous souhaitez supprimer un fichier, vous devez lui transmettre la valeur de la commande aRemove égale à «supprimer».



De plus, vous devez indiquer le fichier que vous souhaitez supprimer.



Ce nom de fichier est inséré dans la commande RM, qui est transmise au système.



Je pense que vous avez déjà compris à quoi cela pourrait conduire. Au lieu d'un nom de fichier, vous pouvez insérer une commande qui provoquera un redémarrage du système, etc. Dans ce cas, nous aurons un contrôle total sur le système, comme ce fut le cas avec le piratage des caméras précédentes.



Cela fonctionne sur presque toute la gamme de produits 3SVision et affecte non seulement les caméras, mais également leur serveur vidéo, car ils utilisent le même serveur Web. Lorsque j'ai effectué mes recherches, j'ai découvert une autre société appelée A-Linking, qui utilise le même firmware dans ses caméras. Mais ils ont changé les informations d'identification codées en dur pour quelque chose d'autre. Ils ont donc toujours ces données codées en dur, mais maintenant ils sont différents des informations d'identification utilisées dans le firmware de la caméra 3SVision. Je ne vais pas énumérer tous les modèles de ces caméras, je note simplement qu'ils sont tous dans la cote de vulnérabilité de Shodan Dork.



Compte tenu de leur coût élevé par rapport aux caméras d'autres fabricants, cela est particulièrement intéressant.En outre, comme vous le savez, ces caméras sont utilisées dans des entreprises militaires, énergétiques et industrielles étrangères. Si vous les avez vus à Shodan Dork, soyez prudent avec la vente de ces caméras à l'étranger et ne me blâmez pas si l'armée chinoise vient pour vous.

Alors qu'est-ce qui donne ce dont je vous ai parlé? Je pénètre dans votre réseau, je vous vois et j'ai des privilèges root. C'est une excellente opportunité pour tout attaquant, étant donné que la plupart de ces caméras sont également connectées au réseau interne. Vous pouvez y accéder à distance, entrer à l'intérieur, obtenir des droits root, accéder à un ordinateur Linux et à partir de là, faire tout ce que vous voulez avec leur réseau local.

Ici, j'ai pris un peu de recul et j'ai dit: "ok, c'est très bien, mais que puis-je faire avec l'appareil photo lui-même"? J'ai un accès root à la caméra, c'est génial, mais si vous allez chez l'administrateur habituel des systèmes de surveillance et lui dites que vous avez un accès root à la caméra, il ne comprend même pas ce que cela signifie. Par conséquent, je voulais faire quelque chose de plus intéressant, quelque chose qui démontre vraiment toutes les possibilités. Je voulais intercepter un flux vidéo qui ressemble à ceci:



Et remplacez-le par quelque chose qui ressemble à ceci:



C'est une sorte de piratage hollywoodien classique, lorsque vous voulez pénétrer un objet gardé bourré de caméras de surveillance, et un pirate de votre groupe doit casser cette caméra pour qu'il montre qu'il n'y a personne là-bas, bien qu'en réalité il y ait quelqu'un là-bas. Pour prouver la possibilité d'une telle astuce, j'ai choisi la caméra de surveillance Trendnet TV-IP410WN.



Je l'ai choisi pour plusieurs raisons. Tout d'abord, je peux me le permettre, ce qui est un gros plus. Deuxièmement, il dispose d'un compte de porte dérobée:



Vous permettant d'accéder à ces fichiers:



Qui ont une vulnérabilité très répandue qui permet l'injection de commandes:



Ce qui, à son tour, peut être très simplement utilisé pour envoyer les colis dont nous avons besoin à la caméra:





Ici, il y a les mêmes possibilités de piratage que j'ai mentionnées plus tôt, mais dans ce cas, nous avons un appareil photo moins cher.

Il s'est avéré que cette erreur particulière est devenue connue en 2011. Mais le problème était que ni moi ni personne d'autre ne pouvions utiliser ces informations, car dans la description de cette vulnérabilité, il n'y avait ni liste d'appareils dans lesquels elle était présente, ni indication d'un micrologiciel spécifique, donc tout le monde l'a ignoré message. Par conséquent, si vous vous tourniez vers Google avec la requête «Vulnérabilité de la caméra TV-IP410WN», vous ne trouveriez rien.
Un autre problème de ne pas fournir ces informations est que cette vulnérabilité reste inconnue non seulement des personnes impliquées dans la sécurité informatique, mais aussi des fabricants et des fournisseurs de produits. Cela ne leur permet pas de déterminer quel micrologiciel et quels modèles d'appareils photo doivent être réparés. Donc, ces appareils sont toujours vendus partout avec le même bug - Shodan Dork pointe vers plus de 28 000 de ces caméras.

Supposons donc que l'image de la chaîne vidéo observée par l'administrateur soit montrée ici, ce qui correspond le mieux aux objectifs de notre expérience. Nous supposons que l'administrateur visionne cette vidéo via l'interface Web, et non via une sorte de service utilisateur, RTPID ou quelque chose du genre.



Si vous prenez l'image de cette caméra particulière affichée dans un navigateur, vous pouvez voir que le processus mjpg.cgi est responsable de regarder cette vidéo en streaming.



En utilisant l'injection de commande, nous pouvons voir quels processus sont en cours d'exécution, puis «tuer» tous les processus mjpg.cgi:



Cela entraînera un "gel" temporaire de l'image du canal vidéo de l'administrateur. Cela se produira car le navigateur lui montrera la dernière image qu'il a reçue et ne recevra plus aucune image de cette caméra. Mais nous ne le ferons pas, car si l'administrateur met à jour le navigateur ou navigue vers une nouvelle page, puis revient à la visualisation depuis la caméra, le streaming vidéo reprendra et il verra l'image en temps réel.

Par conséquent, nous essaierons de remplacer le fichier mjpg.cgi, ce qui ne devrait pas être difficile - deux lignes du script bash suffiront.



En particulier, tout ce que vous avez à faire est de remplacer cette page cgi sur le disque par un script qui renvoie certains en-têtes de base au navigateur, puis utilisez la commande cat pour insérer une image JPEG statique de l'ascenseur vide dans le transfert. Ce pourrait être une image de chèvre, n'importe quoi. Mais dans notre cas, l'administrateur verra désormais constamment un ascenseur vide, indépendamment de ce qui s'y passe réellement.



En fait, cela semble beaucoup plus intéressant dans la vidéo «en direct», donc si les dieux de la démonstration sont avec moi aujourd'hui, tout ira bien. Ainsi, comme on peut le voir sur l'écran, mon appareil photo garde mon trésor - une bouteille de bière. Vous voyez, je le prends et l'appareil photo l'affiche. Maintenant, je vais utiliser un exploit sous la forme de ce script qui "tuera" la vidéo en temps réel et la remplacera par un fichier d'image statique, dont je viens de parler.

Il me donnera également des droits administratifs pour contrôler la caméra et configurer une URL secrète afin que je puisse toujours regarder la vidéo authentique pendant que la chaîne d'administration continue de diffuser la vidéo figée. À l'écran, vous voyez comment cet exploit est envoyé.



Donc, tout s'est bien passé, il m'a renvoyé les informations d'identification de l'utilisateur - connexion administrateur et mot de passe securecam1234.



Il me dit également que l'URL est configurée pour que je puisse regarder la vraie chaîne vidéo, donc si je vais sur mon navigateur pirate maintenant, saisis mes informations d'identification, je peux voir ce qui se passe.



Donc, si quelqu'un prend la bouteille, je le découvrirai:



Mais l'administrateur - non, sa bouteille restera sur la table.



Alors, quelques dernières réflexions sur ce sujet sur lesquelles je veux m'attarder. Je vous ai présenté une liste loin d'être exhaustive des caméras vulnérables, mes recherches n'étaient pas de cette nature. En réalité, il existe de nombreuses autres caméras de ce type, et la plupart d'entre elles sont très faciles à casser.

Presque chaque caméra affichera le numéro de modèle sur la page de connexion ou la page de saisie des informations d'identification, même si vous ne vous êtes pas authentifié, selon la façon dont ils vérifient cette authentification. Si l'attaquant connaît le numéro de modèle sans en savoir plus sur cet appareil photo, il peut aller sur Google, trouver le site Web du fabricant et télécharger le firmware.

Vous devrez peut-être également trouver cet onglet = 4, mais après avoir reçu le firmware, vous pouvez rechercher des vulnérabilités dans cet appareil photo sans même l'acheter.

C'est exactement ce que j'ai fait avec toutes ces caméras - tout a été fait à l'aide de l'analyse du firmware, tous les exploits ont été créés sur cette base et je n'ai pas acheté une seule caméra. Ensuite, il suffisait d'utiliser Binwalk pour analyser et déballer le firmware, et IDA et Qemu pour démonter et émuler, si nécessaire, après quoi une victoire m'attendait.
Et maintenant je vais répondre à vos questions. En ce qui concerne la sécurité des caméras, je dirai ceci: pendant quelques heures, j'ai pu décrire toutes les caméras dont j'ai examiné la sécurité, mais il n'y avait pas une seule caméra parmi elles parfaitement protégée. Pendant ce temps, il y a des fabricants dont les produits n'ont tout simplement pas eu l'occasion de me familiariser, car il n'y avait pas d'argent pour acheter un tel appareil photo, car ils ne permettent pas de télécharger le firmware gratuitement. Par conséquent, je n'ose pas affirmer qu'il n'y a pas du tout de caméras de surveillance fiables.

Ils me demandent s'il est possible de remplacer une image statique par du piratage par quelque chose de dynamique. La manière la plus simple serait d'insérer quelque chose comme un fichier animation.gif, ce serait une solution purement pirate. Cependant, je pense qu'il est tout à fait possible d'écrire votre propre cgi, ce qui vous permettra d'afficher la vidéo en temps réel. Je suis trop paresseux pour ça, malgré ma démo. Mais si vous connaissez le concept de ces appareils, vous pouvez faire ce que vous voulez avec eux.


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 décembre 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/fr427369/


All Articles