Vous pouvez vous amuser sérieusement à jouer avec des imprimantes, des photocopieurs et d’autres appareils similaires, même des onduleurs. La sécurité est généralement une réflexion après coup, au mieux, sinon totalement absente.
Ce que j'ai vu:
- Les identifiants par défaut sont utilisés partout , et sur le Web des panneaux de configuration basés sur le stockage des 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 MD5 ordinaire 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 où aucune sécurité de transport n'est utilisée.
- Noms d'espaces de noms privés SNMP par défaut ou extrêmement faibles (généralement «private», «SNMP» ou le nom du fabricant), vous permettant de reconfigurer les paramètres TCP / IP, d'injecter des entrées dans le routage table, etc. à distance, et il existe souvent des moyens de modifier les paramètres qui ne peuvent pas être définis dans le panneau de commande. Il est assez simple de créer une brique souple de l'appareil.
- UPnP activé sur l'appareil dans la configuration par défaut, permettant une configuration plus amusante à distance. Souvent, vous pouvez imprimer des pages de test, réinitialiser le périphérique, 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 de réseau.
- 2.2.x et 2.4 très obsolètes. Noyaux .x, souvent avec beaucoup de bons trous d'escalade de privilèges root.
- Scripts de mise à jour de firmware mal écrits sur le système, vous permettant de flasher un firmware arbitraire sur des microcontrôleurs internes. Vous pouvez l'utiliser pour brique le périphérique 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 à RCE. Facile à pwn à distance.
- Services fonctionnant en tant que root, groupes d'utilisateurs mal configurés, autorisations de fichier mal définies.
- Les travaux d'impression se sont exécutés de manière asynchrone en exécutant des scripts shell, ce qui facilite la remontée de votre privilèges allant jusqu'à celui du démon (souvent root).
- Serveurs FTP mal écrits intégrés à l'appareil. Je parierais bien 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.
Voici où les choses deviennent plus amusantes. Une fois que vous avez installé l'imprimante, vous pouvez généralement obtenir les 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 commande 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 canaliser des attaques vers d'autres machines sur le réseau. À plusieurs reprises, j'ai réussi à mettre 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 embarqué 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 depuis 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
, ils peuvent donc facilement se faufiler sur le WAN. - Si vous pouvez faire en sorte que l'imprimante n'écoute que le trafic provenant le LAN, faites-le.
- Modifiez les informations d'identification par défaut sur le panneau de configuration Web. Encore une fois, c'est évident, mais ce n'est toujours pas fait très souvent.
- Recherchez les services exécutés sur l'appareil et essayez de les pénétrer vous-même. Une fois que vous y êtes, changez les mots de passe et désactivez ce qui est inutile.
- Procurez-vous un outil de découverte SNMP et explorez ce qui est disponible pour votre imprimante. SNMP a un peu une courbe d'apprentissage, mais cela vaut la peine d'y jeter un coup d'œil.
- Si vous effectuez une surveillance du réseau interne, définissez une règle pour surveiller tout élément inhabituel venant de de l'imprimante. Cela réduit les faux positifs et vous donne une bonne indication du moment où quelque chose de douteux se produit.
Dans l'ensemble, si c'est un appareil branché sur votre réseau, c'est probablement pwnable, et devrait faire partie de votre gestion des risques.