Ich habe die erste URL (http://something.example.com/xx) heruntergeladen und ausgeführt
$ file xx
xx: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.15, not stripped
Es ist also ein ausführbares Programm, das auf einem Linux-Rechner ausgeführt werden soll. Ich nehme an, Sie betreiben einen Linux-Server. Als Nächstes wollen wir sehen, was das Programm macht, aber Sie wollen es natürlich nicht ausführen. Eine schnelle Möglichkeit besteht darin, den gesamten in die ausführbare Datei eingebetteten Computeranweisungscode zu ignorieren und sich nur anzusehen, welche für Menschen lesbaren Zeichenfolgen darin enthalten sein könnten. Also rannte ich
$ strings xx | less
[... excerpt ...]
NOTICE %s :Receiving file.
NOTICE %s :Saved as %s
NOTICE %s :Spoofs: %d.%d.%d.%d
NOTICE %s :Spoofs: %d.%d.%d.%d - %d.%d.%d.%d
NOTICE %s :Kaiten wa goraku
NOTICE %s :NICK <nick>
NOTICE %s :Nick cannot be larger than 9 characters.
NICK %s
NOTICE %s :DISABLE <pass>
Disabled
Enabled and awaiting orders
NOTICE %s :Current status is: %s.
NOTICE %s :Already disabled.
NOTICE %s :Password too long! > 254
NOTICE %s :Disable sucessful.
NOTICE %s :ENABLE <pass>
NOTICE %s :Already enabled.
NOTICE %s :Wrong password
NOTICE %s :Password correct.
NOTICE %s :Removed all spoofs
NOTICE %s :What kind of subnet address is that? Do something like: 169.40
NOTICE %s :Unable to resolve %s
NOTICE %s :UDP <target> <port> <secs>
NOTICE %s :Packeting %s.
NOTICE %s :PAN <target> <port> <secs>
NOTICE %s :Panning %s.
NOTICE %s :TSUNAMI <target> <secs>
NOTICE %s :Tsunami heading for %s.
NOTICE %s :UNKNOWN <target> <secs>
NOTICE %s :Unknowning %s.
NOTICE %s :MOVE <server>
NOTICE %s :TSUNAMI <target> <secs> = Special packeter that wont be blocked by most firewalls
NOTICE %s :PAN <target> <port> <secs> = An advanced syn flooder that will kill most network drivers
NOTICE %s :UDP <target> <port> <secs> = A udp flooder
NOTICE %s :UNKNOWN <target> <secs> = Another non-spoof udp flooder
NOTICE %s :NICK <nick> = Changes the nick of the client
NOTICE %s :SERVER <server> = Changes servers
NOTICE %s :GETSPOOFS = Gets the current spoofing
NOTICE %s :SPOOFS <subnet> = Changes spoofing to a subnet
NOTICE %s :DISABLE = Disables all packeting from this client
NOTICE %s :ENABLE = Enables all packeting from this client
NOTICE %s :KILL = Kills the client
NOTICE %s :GET <http address> <save as> = Downloads a file off the web and saves it onto the hd
NOTICE %s :VERSION = Requests version of client
NOTICE %s :KILLALL = Kills all current packeting
NOTICE %s :HELP = Displays this
NOTICE %s :IRC <command> = Sends this command to the server
NOTICE %s :SH <command> = Executes a command
NOTICE %s :Killing pid %d.
TSUNAMI
UNKNOWN
NICK
SERVER
GETSPOOFS
„Aktiviert und auf Bestellungen wartend“ weist darauf hin, dass dies ein Programm ist, das Ihren Server als Botnet-Knoten fungieren lässt.
Die nächste heruntergeladene Datei, http://something.example.com/ru, ist ein Shell-Skript, das wiederum einen .tar.gz
herunterlädt Datei von http://example.hu/ar/64.tgz (oder 32.tgz, abhängig von Ihrer CPU-Architektur), installiert und führt sie dann aus. Dieses Archiv enthält drei Dateien:
- A
php
Interpreter für Linux kompiliert - Eine weitere ausführbare Linux-Datei mit dem Namen
pnscan
- Ein Shell-Skript namens
run
waspnscan
startet
Die andere Sache, die es tut, ist, einen wöchentlichen Cron-Job zu erstellen, der http://something.example.com/sh herunterlädt und ausführt, der genau das Shell-Skript enthält, das Sie oben gepostet haben. Grundsätzlich wird Ihr Rechner automatisch jede Woche neu infiziert, es sei denn, Sie deinstallieren diesen Cron-Job.
Empfohlene Maßnahme
Der Code sieht aus, als wäre er von Skript-Kiddies zusammengestellt worden. Es verwendet vorhandene Tools wie pnscan
, zusammengebunden mit einigen Shell-Skripten. Es ist kein Code in Stuxnet-Qualität.
Aus den Informationen, die Sie später hinzugefügt haben (Ihr Apache-Server hat keine PHP-Unterstützung, Ihr Apache-Server läuft noch normal und es wurde kein Cron-Job installiert), scheint es wahrscheinlich, dass der Code nie wirklich auf Ihrem Server ausgeführt wurde. In diesem Fall sind Sie wahrscheinlich in Ordnung! Führen Sie ps ax
aus um zu überprüfen, ob irgendetwas Verdächtiges ausgeführt wird, und es sollte Ihnen gut gehen.
Ausführliche Informationen finden Sie in diesem Blogbeitrag:
Seit die Schwachstelle in Apache/PHP entdeckt wurde, die es ermöglichte, PHP-Code mit einer einfachen HTTP-POST-Anfrage auszuführen, wurden weit verbreitet automatisierte Angriffe gestartet, die zu einer großen Anzahl kompromittierter Hosts führten.
Diese Angriffe sind in den letzten Monaten zurückgegangen, jedoch war einer dieser automatisierten Angriffe besonders interessant, da der verwendete Ansatz als wurmartig eingestuft werden kann. Lassen Sie uns auf einer höheren Ebene auf den gesamten Angriff eingehen, bevor wir zum technischen Teil übergehen.
Der Akteur nutzte den von Kingcope [exploit-db] veröffentlichten Exploit mit einer modifizierten Nutzlast, die einige Skripte und Binärdateien herunterlud, die wiederum damit begannen, einen zufälligen A-Block von IPv4-Adressen zu scannen. Wenn festgestellt wird, dass auf einem Host Apache ausgeführt wird, werden Exploit-Versuche gestartet und der gesamte Prozess beginnt von vorne. Diese Angriffe wurden erstmals im November 2013 entdeckt.
Basierend auf den skizzierten Informationen scheint es sich um eine Art Botnet zu handeln, das die oben genannten Exploits ausnutzt.