Plesk-Lizenzvalidierung – Sicherheitsanalyse

🎯 Ziel der Untersuchung

Untersuchung der Frage: Kann die zeitbasierte Testlizenz von Plesk durch Manipulation der Systemzeit umgangen werden?


🖥️ Testumgebung

KomponenteDetails
VMDebian 12 auf ESXi 7.0
Plesk-Version18.0.76
Lizenztyp14-Tage-Testlizenz (installiert am 24.03.2026)
ZugriffSSH (primär) + ESXi-Konsole (bei Ausfällen)

📋 Testprotokoll mit Befehlen

1️⃣ Ausgangszustand – Lizenz gültig

bash

# Lizenzstatus prüfen
/usr/local/psa/bin/license --check-installed-license
echo $?

Ergebnis: Exit-Code 0 (Lizenz gültig)


2️⃣ Internet trennen (Gateway löschen)

bash

# Standard-Gateway löschen (Internet weg, LAN bleibt)
sudo ip route del default

# Prüfen
ping -c 2 8.8.8.8

Ergebnis: ping: connect: Das Netzwerk ist nicht erreichbar


3️⃣ Zeitsynchronisationsdienste stoppen

bash

# systemd-timesyncd stoppen und deaktivieren
sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd

# VMware-Tools stoppen (falls vorhanden)
sudo systemctl stop open-vm-tools 2>/dev/null

# VMware-Zeitsynchronisation deaktivieren
sudo vmware-toolbox-cmd timesync disable 2>/dev/null

4️⃣ Systemzeit manipulieren (auf 01.01.2026)

bash

# Systemzeit setzen
sudo date -s "2026-01-01 01:00:00"

# Hardware-Uhr setzen (persistente Uhr)
sudo /usr/sbin/hwclock --set --date="2026-01-01 01:00:00"

# Prüfen
date
sudo /usr/sbin/hwclock --show

Ergebnis: Systemzeit und Hardware-Uhr zeigen 01.01.2026 01:00


5️⃣ Plesk-Lizenz nach Zeitmanipulation prüfen

bash

/usr/local/psa/bin/license --check-installed-license
echo $?

Ergebnis: Exit-Code 0 (Lizenz weiterhin gültig)


6️⃣ Daily Task manuell ausführen

bash

# Daily Task ausführen
sudo /etc/cron.daily/50plesk-daily

# Lizenz erneut prüfen
/usr/local/psa/bin/license --check-installed-license
echo $?

Ergebnis: Exit-Code bleibt 0 – Daily Task erkennt die Manipulation nicht


7️⃣ Logs analysieren

bash

# Plesk-Log auf Lizenz-Einträge prüfen
tail -50 /var/log/plesk/panel.log | grep -i "license\|expir\|daily"

Ergebnis: Es gibt Einträge zum Daily Task, aber keine Warnung zur Zeitmanipulation


8️⃣ Nach dem Test: System zurücksetzen

bash

# Datum zurücksetzen
sudo date -s "2026-03-25 12:00:00"
sudo /usr/sbin/hwclock --set --date="2026-03-25 12:00:00"

# Zeitsynchronisation wieder aktivieren
sudo systemctl enable systemd-timesyncd
sudo systemctl start systemd-timesyncd

# VMware-Zeitsynchronisation wieder aktivieren
sudo vmware-toolbox-cmd timesync enable 2>/dev/null

# Internet wiederherstellen
sudo dhclient

# Plesk-Dienste neustarten
sudo systemctl restart psa sw-engine sw-cp-server nginx

# Prüfen
/usr/local/psa/bin/license --check-installed-license
echo $?

Ergebnis: Exit-Code 0 – System funktioniert wieder normal


🧪 Zusätzlicher Test: Datum nach Ablauf setzen

bash

# Datum auf 15.04.2026 setzen (nach Ablauf)
sudo date -s "2026-04-15 12:00:00"
sudo /usr/sbin/hwclock --set --date="2026-04-15 12:00:00"

/usr/local/psa/bin/license --check-installed-license
echo $?

Ergebnis: Exit-Code 1 (Lizenz ungültig)


📊 Zusammenfassung der Ergebnisse

TestExit-CodeErkenntnis
Normalbetrieb0Lizenz gültig
Internet getrennt0Kein sofortiger Online-Check
Datum auf 01.01.20260Lizenz vor Ablauf gültig
Datum auf 15.04.20261Lizenz nach Ablauf ungültig
Daily Task ausgeführt0Keine Erkennung der Manipulation

🔐 Sicherheitsanalyse – Die Schwachstelle

Problembeschreibung

Plesk verwendet für die Lizenzvalidierung ein zweistufiges Modell:

  1. Lokale Prüfung: Vergleich der Systemzeit mit dem Ablaufdatum
  2. Online-Prüfung: Täglicher Abgleich mit dem Lizenzserver ka.plesk.com

Schwachstelle: Beide Mechanismen können unabhängig voneinander umgangen werden.

Angriffsszenario (mit root-Zugriff)

SchrittAktionErgebnis
1Zeitsynchronisation stoppenSystemzeit bleibt manipuliert
2Internet blockieren (ip route del default)Online-Prüfung scheitert
3Systemzeit + Hardware-Uhr manipulierenPlesk „glaubt“, die Lizenz sei noch gültig
4Daily Task deaktivieren (chmod -x)Keine wiederholte Online-Prüfung

Folge: Plesk kann über das offizielle Ablaufdatum hinaus genutzt werden.


🛡️ Empfohlene Gegenmaßnahmen

MaßnahmeBeschreibung
Offline-FallbackAuch ohne Internet muss die lokale Ablaufprüfung strikt durchgesetzt werden
Zeitstempel-DateiSpeicherung des letzten gültigen Zeitstempels – bei Rücksetzung der Zeit Warnung oder Sperre
Hardware-Uhr-AbgleichErkennung, wenn Systemzeit und Hardware-Uhr stark voneinander abweichen
Persistente SperrungNach Ablauf auch ohne Internet keine Nutzung mehr erlauben
ZertifikatsprüfungBei Zeitmanipulation Zertifikate neu generieren (statt Dienste zu stoppen)

📝 Fazit

Die Lizenzvalidierung von Plesk ist nicht manipulationssicher. Ein Angreifer mit root-Zugriff auf die VM kann die Testlizenz durch Kombination von Zeitmanipulation und Internetblockade über das offizielle Ablaufdatum hinaus nutzen. Die vorhandenen Schutzmechanismen (Daily Task, VMware-Zeitsynchronisation) können deaktiviert werden. Ein robusterer Schutz würde eine lokale, nicht manipulierbare Ablaufprüfung sowie eine Erkennung von Zeitmanipulationen erfordern.


📂 Wichtige Dateipfade

Datei/VerzeichnisZweck
/usr/local/psa/bin/licenseLizenzverwaltung
/etc/cron.daily/50plesk-dailyPlesk Daily Task
/var/log/plesk/panel.logPlesk-Hauptlog
/etc/systemd/timesyncd.confZeitsynchronisation
/usr/sbin/hwclockHardware-Uhr

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert