Stáhl jsem si první URL (http://something.example.com/xx) a spustil
$ file xx
xx: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.15, not stripped
Jde tedy o spustitelný program určený ke spuštění na počítači se systémem Linux. Předpokládám, že používáte linuxový server. Dále chceme vidět, co program dělá, ale samozřejmě jej nechcete spustit. Rychlý způsob je ignorovat veškerý počítačový instrukční kód vložený do spustitelného souboru a jen se podívat na to, jaké řetězce čitelné pro člověka může obsahovat. Tak jsem běžel
$ 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
"Povoleno a čekající na objednávky" naznačuje, že se jedná o program, díky kterému se váš server chová jako uzel botnetu.
Další soubor, který stahuje, http://something.example.com/ru, je skript shellu, který zase stahuje .tar.gz
soubor z http://example.hu/ar/64.tgz (nebo 32.tgz, v závislosti na architektuře vašeho CPU), poté jej nainstalujte a spustíte. Tento archiv obsahuje tři soubory:
- A
php
interpret zkompilovaný pro Linux - Další spustitelný soubor pro Linux s názvem
pnscan
- Skript shellu s názvem
run
který spustípnscan
Další věc, kterou dělá, je vytvoření týdenní úlohy cron, která stáhne a spustí http://something.example.com/sh, která obsahuje přesně ten skript, který jste zveřejnili výše. V zásadě to automaticky znovu infikuje váš počítač každý týden, pokud tuto úlohu cron neodinstalujete.
Doporučená akce
Kód vypadá, jako by ho dali dohromady script kiddies. Využívá existující nástroje, jako je pnscan
, spojené s některými skripty shellu. Není to kód kvality Stuxnet.
Z informací, které jste přidali později (váš server Apache nemá podporu PHP, váš server Apache stále běží normálně a nenainstalovala se žádná úloha cron), se zdá pravděpodobné, že se kód na vašem serveru ve skutečnosti nikdy nespustil. V tom případě jste pravděpodobně v pořádku! Spusťte ps ax
zkontrolovat, zda neběží něco podezřelého, a měli byste být v pořádku.
Úplné podrobnosti naleznete v tomto příspěvku na blogu:
Od chvíle, kdy byla v Apache/PHP objevena zranitelnost, která umožňovala spuštění kódu PHP pomocí jednoduchého požadavku HTTP POST, byly široce spuštěny automatizované útoky, které vedly k velkému počtu kompromitovaných hostitelů.
Těchto útoků během posledních měsíců ubylo, nicméně jeden z těchto automatických útoků byl obzvláště zajímavý, protože použitý přístup lze kategorizovat jako červí. Pojďme k celému útoku na vyšší úrovni, než přejdeme k technické části.
Herec použil exploit vydaný kingcope [exploit-db] s upraveným nákladem, který stáhl několik skriptů a binárních souborů, které zase začaly skenovat náhodný blok A adres IPv4. Pokud by se zjistilo, že na hostiteli běží Apache, byly by spuštěny pokusy o zneužití a celý proces začíná znovu. Tyto útoky byly poprvé zaznamenány kolem listopadu 2013.
Na základě nastíněných informací se zdá, že jde o nějaký druh botnetu pracujícího na výše zmíněných exploitech.