Table of Contents

Found:
2018-07-01
Verified:
2018-07-25
Reported:
2018-07-25
Problem Version:
0.8.3 r18271
Fixed Version:
0.11.2 r36680
Found by:
Martin
Verified by:
Martin
Abstract:
Automaten D-BUS an 0.0.0.0 und ungeschützt

Alle Komponenten im SiLine-Universum (MachineControl, Payment Devices, etc.) sind im Robimat als D-Bus-Komponenten ausgeführt und kommunizieren auch auf diesem Wege miteinander.

Steps to reproduce

- Automat einschalten

Erwartetes Ergebnis

D-Bus ist nicht öffentlich erreichbar oder zumindest irgendwie geschützt

Tatsächliches Ergebnis

/etc/dbus-1/system.d/sielaff-dbus.conf beinhaltet den folgenden Auszug:

  <listen>unix:path=/var/run/dbus/system_bus_socket</listen>
  <listen>tcp:host=*,port=12434</listen>
  <auth>ANONYMOUS</auth>
  <allow_anonymous/>

Nebenwirkungen

Durch das Binding an * auf Port 12434 kann der Automaten-D-Bus remote ohne physikalischen Zugang ferngesteuert und potenziell gejackpottet werden.

Positiv wirkt sich aus, dass die SiLine-Automaten standardmäßig nur einen Netzwerk-Anschluss haben, welcher by default mit der Automatensteuerungsplatine verbunden und damit belegt ist.

Wird allerdings ein weiteres Interface angesteckt (bspw. per USB), ist der Automat verwundbar.

Problematisch in diesem Zusammenhang ist auch, dass die Geräte des erweiterten Feldtestes mit einem UMTS-Stick ausgeliefert werden, welche in einem M2M-Segment von Sielaff ohne Client Isolation hängen. Gelingt es einem Angreifer an einen der UMTS-Sticks mit der passenden M2M SIM-Karte zu gelangen, können alle Geräte in diesem Netzsegment von Sielaff übernommen werden (IP-Range 127.17.200.0/24)

Es wurde im Rahmen dieser Entdeckung keine Versuche eines tatsächlichen Jackpottings vorgenommen - nachdem aber auch die Zahlungssysteme an genanntem D-Bus hängen, ist davon auszugehen, dass das theoretisch machbar wäre…

Weitere Dokumentation