Sie können etwas ernst haben viel Spaß beim Spielen mit Druckern, Kopierern und anderen ähnlichen Geräten - sogar USVen. Sicherheit ist in der Regel bestenfalls ein nachträglicher Einfall, wenn nicht sogar völlig abwesend.
Sachen, die ich gesehen habe:
- Standardanmeldeinformationen, die überall verwendet werden , und webbasierte Konfigurationspanels, die Passwörter im Klartext speichern, oft in einer generierten Konfigurationsdatei. Ich habe noch nie etwas Besseres als einfaches MD5 für Passwörter gesehen, und in einem Fall habe ich CRC32 gesehen.
- Dokumenten- und Benutzernamen, die über SNMP durchgesickert sind, normalerweise über offenen Lesezugriff auf das Gerät und über SNMPv1/2, wo keine Transportsicherheit verwendet wird.
- Standard- oder urkomisch schwache private SNMP-Namespace-Namen (normalerweise "private", "SNMP" oder der Name des Herstellers), die es Ihnen ermöglichen, TCP/IP-Einstellungen neu zu konfigurieren, Einträge in die Routing-Tabelle einzufügen usw. aus der Ferne, und das gibt es oft Möglichkeiten, Einstellungen zu ändern, die nicht in der Systemsteuerung vorgenommen werden können. Es ist ziemlich trivial, das Gerät mit Softbricks zu versehen.
- UPnP auf dem Gerät in der Standardeinstellung aktiviert, was mehr Spaß bei der Fernkonfiguration ermöglicht. Oft können Sie Testseiten drucken, das Gerät hart zurücksetzen, Anmeldeinformationen für das Webpanel zurücksetzen usw. Auch hier ist es normalerweise möglich, TCP/IP-Einstellungen und andere Netzwerkeigenschaften zu ändern.
- Sehr veraltete 2.2.x- und 2.4.x-Kernel, oft mit vielen netten Eskalationslöchern für Root-Privilegien.
- Schlecht geschriebene Firmware-Upgrade-Skripte auf dem System, mit denen Sie beliebige Firmware auf interne Mikrocontroller flashen können. Sie könnten dies verwenden, um das Gerät zu mauern, oder ein Rootkit installieren, wenn Sie bereit sind, viel Zeit für die Entwicklung aufzuwenden.
- Benutzerdefinierte oder alte SMB-Daemons, oft anfällig für RCE. Einfach aus der Ferne zu pwnen.
- Dienste werden als Root ausgeführt, Benutzergruppen falsch eingerichtet, Dateiberechtigungen falsch eingestellt.
- Druckjobs liefen asynchron durch Ausführen von Shell-Skripten, was es einfach macht, Ihre Privilegien auf die des Daemons (oft root) auszuweiten.
- Schlecht geschriebene FTP-Server im Gerät integriert. Ich würde gutes Geld darauf wetten, dass ein Fuzzer die meisten dieser FTP-Daemons zum Absturz bringen könnte.
- Alle üblichen Webapps schlagen fehl, aber besonders Schwachstellen beim Hochladen von Dateien.
Hier wird es besonders lustig. Sobald Sie den Drucker pwned haben, können Sie normalerweise Benutzernamen und andere wichtige Informationen von SMB-Handshakes erhalten. Sie werden auch häufig feststellen, dass das Kennwort für das Web-Bedienfeld des Druckers für andere Netzwerkanmeldeinformationen wiederverwendet wird.
Letztendlich ist der Drucker jedoch eine interne Maschine im Netzwerk. Dies bedeutet, dass Sie es verwenden können, um Angriffe auf andere Computer im Netzwerk zu tunneln. Bei mehreren Gelegenheiten habe ich es geschafft, gcc und nmap auf einen Fotokopierer zu bekommen, den ich dann als Operationsbasis benutzt habe.
Was ist die Lösung? Zunächst müssen Sie erkennen, dass Drucker und Fotokopierer in der Regel vollwertige Computer sind, auf denen häufig eingebettetes Linux auf einem ARM-Prozessor ausgeführt wird. Zweitens müssen Sie sie sperren:
- Aktualisieren Sie die Firmware des Geräts auf die neueste Version.
- Schließen Sie den Drucker per Firewall vom Internet. Das sollte selbstverständlich sein, wird aber oft übersehen. TCP/IP-basierte Drucker/Kopierer binden normalerweise an
0.0.0.0
, sodass sie sich ganz einfach ins WAN einschleichen können. - Wenn Sie den Drucker dazu bringen können, nur Datenverkehr aus dem LAN abzuhören, tun Sie dies.
- Ändern Sie die Standardanmeldeinformationen im Web-Kontrollfeld. Wieder offensichtlich, aber immer noch nicht sehr oft gemacht.
- Finden Sie alle Dienste, die auf dem Gerät ausgeführt werden, und versuchen Sie, selbst in sie einzudringen. Sobald Sie drin sind, ändern Sie Passwörter und deaktivieren Sie unnötige Elemente.
- Besorgen Sie sich ein SNMP-Erkennungstool und erkunden Sie, was für Ihren Drucker verfügbar ist. SNMP hat eine gewisse Lernkurve, aber es lohnt sich, einen Blick darauf zu werfen.
- Wenn Sie eine interne Netzwerküberwachung durchführen, richten Sie eine Regel ein, um auf ungewöhnliche Ereignisse aus zu achten der Drucker. Dies reduziert Fehlalarme und gibt Ihnen einen guten Hinweis darauf, wenn etwas Zwielichtiges passiert.
Alles in allem, wenn es sich um ein Gerät handelt, das an Ihr Netzwerk angeschlossen ist, ist es wahrscheinlich pwnbar und sollte Teil Ihres Risikomanagements sein.
Das Hauptproblem hierbei ist, dass Ihr Drucker von außerhalb Ihres Netzwerks zugänglich ist. Ich habe nie eine Situation gesehen, in der Drucker von außerhalb eines Netzwerks zugänglich sein müssen, und ich meine überhaupt! Ich schlage vor, dass Sie das beheben lassen, und zwar dringend!
Drucker haben mehr zu bieten, als den meisten Menschen bewusst ist, aber die Risiken können gehandhabt werden, indem sie auf dem neuesten Stand gehalten, unsichere Optionen wie http deaktiviert und die Admin-Passwörter geändert werden.
Häufig führen Druckereien Protokolle gedruckter Dokumente, die manchmal Kopien der Dokumente selbst enthalten, die aus der Ferne heruntergeladen werden können. Auch wenn die Dokumente selbst keine sensiblen Metadaten sind, können manchmal Informationen wie der Name des Dateiservers, der Computer, von dem sie gesendet wurden, der Benutzername usw. preisgegeben werden.