Camera NVR « Network Video Client » : Bypass authentication

Content

Comme le titre l’indique, certains modèles de camera de surveillance sont accéssible (accès admin) sans mot-de-passe.

Les modeles vulnerables sont multiples. On peut citer la marque Defeway par exemple. La faille provient du systeme embarqué, plus précisement du serveur web et de son système d’authentification.

Ces cameras sont reconaissables grâce à leur interface web qui ressemble à ceci:

NVR camera viceo client web interface connexion

Pour information, le port par defaut est le 60001.

Pour accèder à l’interface admin il suffit de faire appel à une fonction javascript: login_set() qui se trouve dans /js/cookie.js;

Voici son code:

function login_set(usr,pwd,iSetAble,iPlayBack){ pwd = !pwd ? 'null' : pwd; Cookies.set("dvr_usr", usr); Cookies.set("dvr_pwd", pwd); Cookies.set("iSetAble", iSetAble); Cookies.set("iPlayBack", iPlayBack); }

Vous l’aurez remarqué, la fonction n’est pas chargée de vérifier les données. Elle ne fait qu’ecrire les 4 cookies avec les données qu’on lui fournie.

Parmis ces données:

  • dvr_usr: nom d’utilisateur: « admin » par defaut mais une autre valeur fonctionne également.
  • dvr_pwd: Mot-de-passe comletement fictife on s’en fout
  • iSetAble: 1 pour admin
  • iPlayBack: 1 Pour pouvoir visionner les flux videos

Une fois sur la page d’authentification, on ouvre la console de developpement ou javascript (F12 sur la plupart des navigateur). Puis on insere le code suivant:

login_set('admin','pawned',1,1);document.location="/view2.html";

La premiere ligne cree les cookies d’authentification, la deuxiemme vous redirige vers la page d’admin. pour la premiere ligne on aurait pu faire ceci également :

login_set(1,1,1,1);

puis taper dans la barre d’adresse : http://ip_cible:port/view2.html

Execution du script d’authentification…

Affichage de la page d’admin une fois fait…

Vous pouvez trouver ces cameras via les « Google Dorks » ou tout simplement via insecam.org

Summary
Certains modèles de caméras de surveillance sont accessibles sans mot de passe en raison d'une faille dans le système embarqué, notamment chez la marque Defeway. L'interface web de ces caméras ressemble à celle-ci et le port par défaut est 60001. Pour accéder à l'interface admin, il suffit d'utiliser une fonction JavaScript login_set() présente dans /js/cookie.js. Cette fonction ne vérifie pas les données et crée simplement des cookies avec les informations fournies, telles que le nom d'utilisateur 'admin', un mot de passe fictif, etc. En ouvrant la console de développement et en insérant un code spécifique, on peut contourner l'authentification et accéder à la page d'admin. Ces caméras peuvent être trouvées via des 'Google Dorks' ou sur insecam.org.