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.logund/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/shadowgespeichert 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.
