Hacking VNC : la connexion à distance mise à nu [2021]

Hacking VNC : la connexion à distance mise à nu [2021]

Le partage d’une connexion VNC vers votre PC ou votre matériel industriel est-il sécurisé ? Beaucoup d’utilisateurs le pensent, mais la réalité est bien différente. La démonstration en quelques lignes…

Vous connaissez VNC ? C’est à la fois le nom d’un produit et d’une technologie. VNC (Virtual Network Computing, littéralement « informatique virtuelle en réseau ») est un système de visualisation et de contrôle de l’environnement de bureau d’un ordinateur distant. Il permet au logiciel client VNC de transmettre les informations de saisie du clavier et de la souris à l’ordinateur distant, possédant un logiciel serveur VNC à travers un réseau informatique.

VNC (Virtual Network Computing, littéralement « informatique virtuelle en réseau ») est un système de visualisation et de contrôle de l’environnement de bureau d’un ordinateur distant. Il permet au logiciel client VNC de transmettre les informations de saisie du clavier et de la souris à l’ordinateur distant, possédant un logiciel serveur VNC à travers un réseau informatique.

Wikipedia

VNC est donc un utilitaire bien pratique pour prendre le contrôle de sa caisse enregistreuse à distance, afin de pouvoir faire sa compta à son aise depuis chez sois. Ou encore bien pratique pour surveiller le système industriel d’arrosage automatique de sa ferme bio, depuis sa terrasse avec un apéro dans la main…

Dans un article de Mars 2016, le site ZATAZ relevait les recherches du hacker 1×0123, figure controversée de la dark scene. Le chercheur en question a parcouru le web à la recherche de connexions VNC non-protégées. Il avait mis en ligne sa collecte du moment, un inventaire qui faisait froid dans le dos : chaudières, gestionnaires d’eau, de gaz, transporteurs, ou PC particuliers… 50 lignes de code et un serveur ubuntu hébergé quelque part dans le monde lui permettaient de contrôler des dizaines de milliers d’appareils.

J’avais personnellement pu le vérifier à l’époque.

Nous sommes 5 ans plus tard et le petit curieux que je suis a voulu vérifier si le problème de sécurité existe encore.

Commençons par repérer des connexions VNC non-protégées

Faisons un petit tour par shodan, le Search Engine for the Internet of Things.

D’accès gratuit pour un nombre limité de requêtes, shodan permet l’utilisation de filtres propres aux technologies d’objet connectés. En plus, il essaie lui-même la connexion et, le cas échéant, vous délivre une copie d’écran des résultats trouvés. Simple, non ?

Nous devons donc introduire des mot-clefs qui permettent d’identifier des connexions VNC. Celles-ci utilisant par défaut les ports 5800, 5900 et 5901, il est facile de concentrer les recherches de shodan sur ceux-ci (vous pouvez aussi utiliser RFB 003.008 qui est un code transmis pour le viewer utilisé). Mais le moteur de recherche permet en plus de spécifier de faire figurer les résultats uniquement les sites sans authentification !

Notre requête sera donc par exemple pour le port 5900 :

port:5900 authentication disabled

Et voyons les résultats

Et bingo, 5428 sites compromis sont trouvés en quelques secondes.

Une requête similaire sur les ports 5901 et 5800 donne 2443 et 16 respectivement. Donc près de 8000 sites dont la sécurité peut être compromise !

Pour chaque site, shodun propose des informations fort complétes.

Chaque site est facilement accessible en introduisant l’adresse IP trouvée dans une app VNC client, avec toutes les conséquences inhérentes. Je ne vous montre pas comment faire : je ne veux inspirer personne et, outre les dégâts considérables qui pourraient être causés, pénétrer dans un système tiers sans les autorisations nécessaires est illégal.

Enfin, pour vous donner une idée de ce que vous pouvez trouver, quelques copies d’écran…

Conclusion

J’espère que cet article a pu convaincre les utilisateurs de VNC de bien protéger leur connexion par un bon mot de passe. L’adage security by obscurity ne tient pas la route façe à des moteurs de recherche comme shodun.

N’hésitez pas à me contacter si vous avez des questions ou des commentaires sur cet article