Keiner traut dem Drucker

Wer kennt das nicht? Unsere Mitarbeitenden müssen Dokumente drucken, scannen oder faxen. Die Lösung für das Unternehmen: ein Multifunktionsdrucker. Hiermit habe ich ein Gerät, welches alles kann. Damit alles funktioniert, muss ich das Gerät ins Netzwerk hängen und über LDAP mit dem Active Directory verbinden, um die E-Mailadressen der Mitarbeitenden auszulesen.

Bei unseren Audits finden wir regelmässig Multifunktionsdrucker mit Standard Anmeldedaten. Dass die Verwendung von Standard Anmeldedaten nicht empfohlen ist, ist den meisten Kunden bekannt. Aber wie gross das Ausmass bei Nichtbeachtung dieser Empfehlung sein kann, ist weniger bekannt. Häufig kommt noch ein weiterer Konfigurationsfehler dazu. Der hinterlegte Service Account für den Zugriff auf LDAP wird als privilegierter Account (im schlimmsten Fall Domänen Administrator) angelegt.

Nachfolgend möchte ich aufzeigen, wie die Informationen vom Drucker ausgelesen werden können. Hier haben wir einen Multifunktionsdrucker mit Standard Anmeldedaten. Im unteren Bereich unter „Authentication“ ist der Service Account inklusive des Kennworts hinterlegt.

Bei einigen Druckern kann das Kennwort direkt im Quellcode der Seite als Klartext-Kennwort ausgelesen werden.

Bei anderen kann die Maskierung des Kennworts deaktiviert werden. Dazu kann im Quelltext der Typ des Feldes einfach geändert werden (type=“password“ durch type=“text“ ersetzen).

Und schon kann das Kennwort in der Weboberfläche in Klartext ausgelesen werden.

Bei neueren Druckern funktionieren diese beiden Varianten nicht mehr. Das heisst jedoch nicht, dass diese sicher sind. Wird das klassische LDAP-Verfahren (unverschlüsselt) verwendet, können wir durch einen Man-in-the-Middle-Angriff das Kennwort abfangen. Wird LDAPS (LDAP über SSL/TLS) verwendet, werden wir bei dieser Methode nicht viel mitlesen können.

Hier besteht aber noch die Möglichkeit, den Drucker umzukonfigurieren. Dazu ändern wir den LDAP Server durch einen von uns kontrollierten Computer und deaktivieren die Verschlüsselung. So ist wieder ein Abfangen der Zugangsdaten mit Netcat oder tcpdump möglich.

Beim der nächsten LDAP-Abfrage, wird diese an den von uns kontrollierten Computer gesendet.

Hier noch ein paar Tipps, um sich dagegen zu schützen:

  • Die Standard Anmeldedaten bei allen Systemen im Netzwerk durch eigene ersetzen
  • Service Accounts immer mit den geringstmöglichen Berechtigungen anlegen (für LDAP reicht ein unprivilegierter Account)
  • Jeder Service Account nur für einen Dienst/Funktion nutzen
  • Überall wo möglich Verschlüsselung einsetzen. (HTTPS, LDAPS)