Vous pouvez avoir du sérieux amusant de jouer avec des imprimantes, des photocopieurs et d'autres appareils similaires - même des onduleurs. La sécurité est généralement au mieux une réflexion après coup, voire totalement absente.
Choses que j'ai vues :
- Identifiants par défaut utilisés partout , et des panneaux de configuration Web stockant les mots de passe en texte brut, souvent dans un fichier de configuration généré. Je n'ai jamais rien vu de mieux que le simple MD5 sur les mots de passe, et dans un cas j'ai vu CRC32.
- Les noms de documents et les noms d'utilisateur ont été divulgués via SNMP, généralement via un accès en lecture ouvert à l'appareil et via SNMPv1/2 lorsqu'aucune sécurité de transport n'est utilisée.
- Noms d'espace de noms privés SNMP par défaut ou hilarants (généralement "privé", "SNMP" ou le nom du fabricant), vous permettant de reconfigurer les paramètres TCP/IP, d'injecter des entrées dans la table de routage, etc. à distance, et il y a souvent façons de modifier les paramètres qui ne peuvent pas être définis dans le panneau de configuration. C'est assez trivial de soft-bricker l'appareil.
- UPnP activé sur l'appareil dans la configuration par défaut, permettant une configuration à distance plus amusante. Vous pouvez souvent imprimer des pages de test, réinitialiser l'appareil, réinitialiser les informations d'identification du panneau Web, etc. Là encore, il est généralement possible de modifier les paramètres TCP/IP et d'autres propriétés réseau.
- Noyaux 2.2.x et 2.4.x très obsolètes, souvent avec de nombreux trous d'escalade des privilèges root.
- Scripts de mise à niveau du micrologiciel mal écrits sur le système, vous permettant de flasher un micrologiciel arbitraire sur les microcontrôleurs internes. Vous pouvez l'utiliser pour briquer l'appareil ou installer un rootkit si vous êtes prêt à passer beaucoup de temps à le développer.
- Démons SMB personnalisés ou anciens, souvent vulnérables au RCE. Facile à utiliser à distance.
- Services exécutés en tant que root, groupes d'utilisateurs mal configurés, autorisations de fichiers mal définies.
- Les travaux d'impression s'exécutaient de manière asynchrone en exécutant des scripts shell, ce qui facilitait l'élévation de vos privilèges jusqu'à ceux du démon (souvent root).
- Serveurs FTP mal écrits intégrés à l'appareil. Je parierais beaucoup qu'un fuzzer pourrait planter la plupart de ces démons FTP.
- Toutes les applications Web habituelles échouent, mais surtout les vulnérabilités de téléchargement de fichiers.
C'est là que les choses deviennent encore plus amusantes. Une fois que vous avez activé l'imprimante, vous pouvez généralement obtenir des noms d'utilisateur et d'autres informations juteuses à partir des poignées de main SMB. Vous constaterez également souvent que le mot de passe du panneau de configuration Web de l'imprimante est réutilisé pour d'autres informations d'identification réseau.
En fin de compte, cependant, l'imprimante est une machine interne sur le réseau. Cela signifie que vous pouvez l'utiliser pour tunneler les attaques vers d'autres machines du réseau. À plusieurs reprises, j'ai réussi à obtenir gcc et nmap sur un photocopieur, que j'ai ensuite utilisé comme base d'opérations.
Quelle est la solution ? Tout d'abord, vous devez reconnaître que les imprimantes et les photocopieurs sont généralement des ordinateurs à part entière, exécutant souvent Linux intégré sur un processeur ARM. Deuxièmement, vous devez les verrouiller :
- Mettez à jour le micrologiciel de l'appareil avec la dernière version.
- Pare-feu de l'imprimante à partir d'Internet. Cela devrait être évident, mais c'est souvent manqué. Les imprimantes / photocopieurs basés sur TCP/IP se lient généralement à
0.0.0.0
, afin qu'ils puissent facilement se faufiler sur le WAN. - Si vous pouvez faire en sorte que l'imprimante n'écoute que le trafic provenant du réseau local, faites-le.
- Modifiez les informations d'identification par défaut sur le panneau de configuration Web. Encore une fois, évident, mais toujours pas fait très souvent.
- Recherchez tous les services en cours d'exécution sur l'appareil et essayez de vous y introduire vous-même. Une fois que vous y êtes, modifiez les mots de passe et désactivez ce qui est inutile.
- Procurez-vous un outil de détection SNMP et explorez ce qui est disponible pour votre imprimante. SNMP a une certaine courbe d'apprentissage, mais cela vaut la peine d'y jeter un coup d'œil.
- Si vous surveillez le réseau interne, configurez une règle pour surveiller tout élément inhabituel sortant L'imprimante. Cela réduit les faux positifs et vous donne une bonne indication du moment où quelque chose de louche se produit.
Dans l'ensemble, s'il s'agit d'un appareil branché sur votre réseau, c'est probablement pwnable, et devrait faire partie de votre gestion des risques.
Le problème majeur ici est que votre imprimante est accessible depuis l'extérieur de votre réseau. Je n'ai jamais vu une situation où les imprimantes doivent être accessibles depuis l'extérieur d'un réseau, et je veux dire jamais ! Je vous suggère de régler ce problème, et de toute urgence !
Les imprimantes sont plus nombreuses que la plupart des gens ne le pensent, mais les risques peuvent être gérés en les mettant à jour, en désactivant les options non sécurisées telles que http et en modifiant les mots de passe administrateur.
Souvent, les imprimeurs conservent des journaux des documents imprimés, contenant parfois des copies des documents eux-mêmes pouvant être téléchargés à distance. Même si les documents eux-mêmes ne sont pas sensibles, les métadonnées peuvent parfois divulguer des informations telles que le nom du serveur de fichiers, l'ordinateur à partir duquel il a été envoyé, le nom d'utilisateur...