In manch einer unscheinbaren Apache-Installation kann sich eine Backdoor verbergen. Insbesondere Admins, die den Webserver zusammen mit Cpanel verwenden, sollten nach dem Rechten sehen.
Der Apache-Webserver tut auf vielen Linux-Servern zuverlässig und wenig beachtet seinen Dienst. Doch in den Frühjahrsmonaten 2013 haben die Security-Experten des Unternehmens Sucuri vermehrt Server entdeckt, auf denen statt des friedvollen Apache eine kompromittierte Version mit integrierter Backdoor lief [1]. Betroffen waren Systeme, die das proprietäre Hosting-Controlpanel Cpanel verwenden.
Binary verändert
Die Backdoor, die den Namen Linux/Cdorked.A erhielt, hinterlässt selbst keinerlei Spuren auf der Festplatte – außer der modifizierten Apache-Binärdatei »httpd« . Der Angreifer oder seine Installationsroutine hat die Datei zudem mit dem Immutable-Flag versehen, was das Überspielen durch ein Update verhindert. Der Administrator müsste zuvor das Flag mit »chattr –ai« löschen.
Alle ihre Konfigurations- und Statusinformationen hält die Backdoor in einem rund 6 MByte großen Shared-Memory-Bereich des Hauptspeichers. Die Backdoor lässt sich nicht einfach anhand der Binärdatei entdecken, da alle verdächtigen Codeteile und Strings aufgrund einer statischen XOR-Verschlüsselung nicht direkt lesbar sind.
Zur Kontrolle über den befallenen Rechner ist in die Backdoor eine Reverse-Shell integriert, die sich über spezielle HTTP-»GET« -Anfragen an den Apache-Server starten lässt. Eine solche »GET« -Anfrage richtet sich an einen bestimmten Pfad, und ihr Query-String enthält den Hostnamen und Port für die zu startende Reverse-Shell.
Solange der Angreifer diesen Zugang geöffnet hat, hängt die HTTP-Verbindung, da die Backdoor dabei kein Prozess-Forking verwendet. Somit ließen sich im Prinzip etwaige Shellsessions auf einem kompromittierten System zwar durch lang laufende HTTP-Verbindungen entdecken. Allerdings erscheinen die speziellen HTTP-Anfragen zum Aufbau der Reverse-Shell aufgrund ihrer Struktur nicht in Apaches Logdateien.
Fernsteuerung
Neben diesem Reverse-Shell-Feature kann ein Angreifer via HTTP-»POST« auch direkt Befehle an Linux/Cdorked.A senden. Insgesamt versteht die Backdoor 23 verschiedene Befehle, die sich via »POST« ausführen lassen. Die Befehle enthalten einen Cookie-Header, der mit »SECID=« beginnt und optionale Parameter übermittelt. Die Backdoor liefert Daten über ihren Status im Etag-HTTP-Header zurück. Da die Linux/Cdorked.A einen bestimmten Speicherbereich in Beschlag nimmt, lässt sie sich anhand dessen auch identifizieren. Ein Programm der Security-Firma ESET liest den Speicher der Backdoor aus [2].
Unklar ist derzeit, wie die Backdoor in den Webserver gelangt. Die Security-Firma Sucuri vermutet, es könne sich dabei um Brute-Force-Attacken gegen den SSH-Dienst handeln. Eine detaillierte Analyse der installierten Backdoor findet sich im Blog [3] des Antivirus-Unternehmens ESET. Die Forscher haben mittlerweile auch mit Linux/Cdorked.A infizierte Binärdateien der Server Nginx und Lighttpd entdeckt. (mhu)
Infos
- Daniel Cid, “Apache Binary Backdoors on Cpanel-based servers”: http://blog.sucuri.net/2013/04/apache-binary-backdoors-on-cpanel-based-servers.html
- Programm zum Dumpen des Backdoor-Speichers: http://www.welivesecurity.com/wp-content/uploads/2013/04/dump_cdorked_config.c
- Pierre-Marc Bureau, “Linux/Cdorked.A: New Apache backdoor being used in the wild to serve Blackhole”: http://www.welivesecurity.com/2013/04/26/linuxcdorked-new-apache-backdoor-in-the-wild-serves-blackhole/





