Trustwave: Neue Bot Malware startet PHP-CGI Angriffe auf Webserver
Die Trustwave® Spider Labs, ein Team von global verteilten ethischen Hackern, IT-Sicherheitsexperten und Codeanalysten, haben auf ihren im Internet verteilten Honeypot-Systemen einen äußerst interessanten Angriffscode beobachten können. Die dabei attackierte Schwachstelle auf den Webservern, PHP-CGI (http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1823) ist nicht neu. Der Malware-Code im Payload des Angriffscodes allerdings schon. Hierbei werden die folgenden gefährlichen Elemente kombiniert:
- Aktive Angriffsversuche auf die oben genannte PHP-CGI Webserverschwachstelle mit dem Ziel, Malware auf einem anfälligen Webserver heraufzuladen bzw. zu installieren.
- Die bisherige Erkennungsrate der meisten Anti-Virus Lösungen für diesen Angriffscode ist noch äußerst gering
- Die dabei eingesetzte Malware wird aktiv in den Untergrund-Foren im Internet verkauft
Update: Ein weitere IT-Sicherheitsforscher (https://twitter.com/malekal_morte) konnte ähnliche Aktivitäten auf seinen ModSecurity Honeypots (http://www.malekal.com/2014/08/26/bossabotv2-another-linux-backdoor-irc/) am 26. August 2014 entdecken. Einige der von diesem IT-Sicherheitsforscher beschriebenen Angriffstaktiken haben sich mittlerweile verändert. Die Basisvorgehensweise der Attacke ist aber immer noch dieselbe.
Die grundsätzlichen Gefährdungsbereiche dieser PHP-CGI Schwachstelle für Webserver haben die Trustwave Spider Labs bereits in einem früheren Beitrag (http://blog.spiderlabs.com/2013/11/honeypot-alert-more-php-cgi-scanning-apache-magikac.html) diskutiert. Was aber bei den aktuell beobachteten Angriffen interessant ist, sind die Tools, die bei einem erfolgreichen Angriff auf einen verwundbaren Webserver installiert werden sollen. Hier ein Screenshot der Startsequenz des Payloads vom ModSecurity Audit Logfile des Honeypots:
Die Trustwave Spider Labs haben die Informationen über diese Attacke mit den IDS-Alarmmeldungen des eigenen Trustwave MSS Teams abgeglichen. Es konnte eine eindeutige Zunahme der Scan-Aktivitäten nach der PHP-CGI Schwachstelle innerhalb des letzten Monats beobachtet werden:
Hierbei ist ganz klar zu beachten, dass die potentiellen Angriffsbereiche auf einem Webserver und die Payloads des Angriffscodes unterschiedliche Ökosysteme sind. Sie werden oft in Berichten miteinander vermischt. So konnten in der Vergangenheit des Öfteren neue PHP Kommando-Injektion-Bereiche innerhalb von Botnetzwerk-Codes beobachtet werden, die versucht haben, denselben Backend Malware Code auszuführen oder zu installieren. Die in der URL-Startsequenz verschlüsselten Daten im QUERY_STRING lauten entschlüsselt wie folgt:
Die abschliessende „auto_prepend_file=php://input -a“ Information weist PHP an, Informationen aus dem POST Payload zu entnehmen, diese an irgendeinen bestehenden Code anzuhängen und dann auszuführen. Wenn man auf den vollständigen PHP Code im Request-Teil des Codes schaut, dann erkannt man aktuell zwei verschiedenen Variablen, die base64 verschlüsselte Daten enthalten:
Diese Daten werden später entschlüsselt, an Temp-Dateien angehängt und ausgeführt.
Was sind das für Dateien? Wenn man diese variierenden base64 verschlüsselten Daten entschlüsselt, dann erkennt man, dass sich dahinter ELF Binaries verstecken, die mit UPX gepackt wurden.
Hier eine schnelle statische Analyse der Dateien:
Diese Dateien sind grundsätzlich immer dieselben – egal ob es sich um die 32-Bit oder 64-Bit Versionen handelt. Die Angreifer machen sich nicht einmal die Mühe zu überprüfen, welche Betriebssystemversion auf einem Webserver installiert ist…..sie versuchen gleich, beide Dateien auszuführen und sehen dann, welche der beiden Dateien funktioniert. Eine Überprüfung dieser Dateien auf VirusTotal zeigt, dass aktuell gerade vier Anti-Virus Lösungsanbieter (https://www.virustotal.com/en/file/9c72791d54ddfb20a6c07c986fc4190b7bf09befad2a339a7ca8723f218b8049/analysis/) diese Dateien als gefährliche Dateien erkennen:
Die Trustwave AntiVirus Lösung ist auf diesem Screenshot nicht aufgeführt – sie erkennt diese Dateien aber ebenfalls und stuft sie als gefährlich ein. In diesen Dateien sind URLs im Klartext enthalten, die in einer eindeutigen Verbindung zu Botnetzwerk Command & Control (C&C) Aktivitäten stehen:
- srv5050(dot)co
- ka3ek(dot)com
- ircqfrum(dot)com
- 8rb(dot)su
Wenn man sich den IRC Botnetzwerk-Code betrachtet, dann bekommt man eine klarere Vorstellung, um was es sich hierbei eigentlich handelt:
In diesem Code sind sehr viele IRC Kommandos enthalten. IRC Botnetzwerk Codes sind nichts bahnbrechendes Neues. Die meisten dieser Varianten sind allerdings in Perl, PHP etc. geschrieben. Eine ist sogar in der Programmiersprache C verfasst. Eine weitere sehr interessante, taktische Beobachtung: Der Ziel-IRC Port auf diesen C&C Servern lautet 53. Dies ist ein netter Trick aus Sicht der Angreifer, da die meisten DMZs von Firewalls in einem Netzwerk den Webservern gestatten, DNS Anfragen nach Aussen zu initiieren.
Weiterhin kann man in dem oben gelb markierten Codebereich einen weiteren Code mit dem Namen „BoSSaBoTv2“ entdecken. Nachforschungen haben ergeben, dass dieser Code sehr aktiv in diversen Untergrundforen verkauft wird. Hier einige Screenshots:
Beachten Sie hierbei, dass unter den „Highlights“ dieses Malware-Codes auch ein Bitcoin-Miner Programm aufgelistet ist. Die ist äußerst interessant, da es eine weitere Möglichkeit zeigt, wie die Angreifer einen erfolgreich kompromittierten Webserver nutzen wollen. Sie können die lokalen Systemressourcen wie die CPU oder RAM dazu nutzen, Bitcoins zu kreieren. Hier einige der Kommandos zum Download und zur Ausführung des Bitcoin Miners:
Die Malware wird in Hacker-Foren zu einem günstigen Preis angeboten:
Um sich vor dieser Malware zu schützen – hier einige Verteidigungsschritte:
Aktualisieren Sie ihre Firewall Regelwerke für den ausgehenden Datenverkehr
Allzu oft werden nur sehr schwache oder gar keine Firewall-Regelwerke zur Überprüfung des ausgehenden Datenverkehrs gesetzt. Warum Regelwerke für einen ausgehenden Datenverkehr so wichtig sind? Es können beispielsweise immer wieder IRC Botnetzwerk Master beobachtet und analysiert werden, die ihre Bots angewiesen haben, selbständig Anfragen an den Master zu senden, um die neueste Bot-Version herunterladen zu können. Und diese Anfragen würden aus einem Netzwerk nach Außen gesendet werden…
Wenn man die ausgehenden Verbindungsanfragen von den eigenen Webservern an Hosts von Dritten unterbinden kann, dann hilft diese Vorgehensweise enorm, die Aktivitäten der Angreifer zur Ausbreitung ihrer Aktivitäten einzuschränken.
Setzen Sie eine Web Application Firewall (WAF) ein
Die Honeypots der Trustwave SpiderLabs haben auf diese Attacke aufmerksam gemacht, weil die Regelwerke der ModSecurity WAF angeschlagen haben. Ebenso kann die Trustwave WAF diese Angriffe erkennen. Dies bedeutet nicht nur einen besseren Schutz, sondern sorgt auch für eine bessere Dokumentation (WAF Logs) zur Nachverfolgung als dies mit den normalen Webserver Logs möglich wäre. Ach ja – die Webserver Logs….
Überprüfen Sie Ihre Webserver Log-Dateien
Überprüfen Sie Ihre Webserver Log-Dateien und suchen Sie nach den folgenden PHP-CGI Attacken:
Achten Sie hierbei vor allem auf den HTTP Response Code ihres Webservers. Alles andere als eine „404 – nicht gefunden“ Meldung könnte ein Problem bedeuten…
Quelle: Trustwave SpiderLabs Weblog – Autor: Ryan Barnett