Daten auslesen

Smart-Home-Geräte können je nach Funktion vertrauliche Daten speichern und verarbeiten. Denkbar sind theoretisch:

  • Persönliche Daten wie Name, Adresse oder Email-Adresse
  • Video- und Audiodaten
  • Messdaten (Temperatur, Luftfeuchtigkeit, Gesundheitsdaten)
  • Authentifizierungsdaten

Bei der Reconnaissance des LUPFERs waren einzig Dateien aufgefallen, die unter Umständen Authentifizierungsdaten enthalten könnten. Dies waren:

  • Die Konfigurationsdatei /etc/passwd
  • Die Logdateien des Webservers /var/log/nginx/access.log und /var/log/nginx/error.log

Den Inhalt dieser Dateien kannst du mit folgendem Shell-Befehl ausgeben:

cat <Pfad/zu/Datei>

Stelle wieder mit dem Befehl nc -lp <Port> eine Reverse Shell zum LUPFER her. Dafür musst du die Seite https://lupfer.pentest.samsmart.hosts.openinc.de/usermanagement erneut laden.

Die Datei /etc/passwd enthält Informationen zu allen Benutzer. Jeder Eintrag besteht aus mehreren Feldern, die durch einen Doppelpunkt : getrennt sind. Die Felder bedeuten:

  • Benutzername
  • Verschlüsseltes Passwort bzw. x, falls das Passwort in der Datei /etc/shadow gespeichert ist
  • User-ID
  • ID der Gruppe, in der der Benutzer Mitglied ist
  • Benutzername oder Kommentar
  • Home-Verzeichnis des Benutzers
  • Standardshell des Benutzers

Die Passwörter sind demnach also in der Datei /etc/shadow gespeichert, die der Benutzer www-data jedoch nicht lesen darf. Als Nächstes untersuchst du daher die Logdateien.

Diese dürften mehr Einträge haben als die Datei /etc/passwd. Diese Befehle erleichtern dir das Untersuchen von Dateien:

head <Pfad/zu/Datei> # Ausgeben der ersten 10 Zeilen der Datei
tail <Pfad/zu/Datei> # Ausgeben der letzten 10 Zeilen der Datei
grep '<Suchbegriff>' <Pfad/zu/Datei> # Ausgabe aller Zeilen aus der Datei, die 'Suchbegriff' enthalten

Die Logdatei access.log enthält also keine Hinweise auf Zugangsdaten oder API-Schlüssel. Stattdessen werden die HTTP-Anfragen und die IP-Adresse des Absenders protokolliert.

Da du als Benutzer www-data nur beschränkte Rechte hast, sind dir keine weiteren Dateien bekannt, die sensible Informationen enthalten könnten. Daher untersuchst du als Nächstes die Möglichkeit, die Rechte eines anderen Benutzers zu erlangen.