Підтримка
Цілодобова підтримка | Правила звернення

Зателефонуйте

Глобальна підтримка:
+7 (495) 789-45-86

Поширені запитання |  Форум |  Бот самопідтримки Telegram

Ваші запити

  • Всі: -
  • Незакриті: -
  • Останій: -

Зателефонуйте

Глобальна підтримка:
+7 (495) 789-45-86

Зв'яжіться з нами Незакриті запити: 

Профіль

Профіль

Linux.BackDoor.Xudp.1

Добавлен в вирусную базу Dr.Web: 2016-03-15

Описание добавлено:

SHA1

  • 3a5f73d9beb74ee017965fa8922b2228fb684816

Троянец-бэкдор для ОС Linux, устанавливается в систему другими троянцами-загрузчиками. Основной модуль устанавливается в папку /lib/, задача автоматического запуска настраивается в cron. Помимо этого в процессе установки вредоносной программы очищается содержимое iptables.

После запуска Linux.BackDoor.Xudp.1 расшифровывает хранящийся в его теле блок конфигурационных данных, который имеет вид:

dr0id1.xyz          ; Управляющий сервер
transfer.php        ; Страница, на которую отправляются запросы
XorUDP              ; Имя бэкдора, используется в качеcтве User-Agent при 
			формировании запросов
300                 ; Http sleep time
5                   ; Keepalive sleep time
/bin/socket         ;NewProcName
1                   ;usemutex
700                 ;low range udp port
800                 ;high rande udp port

Зашифрованные строки хранятся и передаются следующим образом:

<lenght>:<encrypted value>
10:09Ц<о*.Йs

Если параметр NewProcName имеет ненулевое значение, процесс троянца скрывается под именем, указанным в конфигурации.

Если параметр usemutex имеет ненулевое значение, происходит блокировка файла "/var/.mutexlock". Если заблокировать файл не получается, троянец завершает свою работу.

Затем троянец генерирует ключ длиной 128 байт, выбирает значение UDP-порта и запускает три потока: HTTP_Thread, UDP_Listen и UDP_KeepAlive.

HTTP_Thread

При запуске потока троянец отправляет на сервер сгенерированный ключ, адрес порта и сведения о версии бэкдора. С периодичностью, указанной в конфигурации троянца, он запрашивает с сервера страницу вида:

template1 = "k=%s&p=%s&v=%s&s=1"
param1 = encodenum(ourKey)
param2 = encodenum(udpPort)
param3 = encodenum(version)
params = template1 % (param1,param2, param3)
request = "POST /%s HTTP/1.0\r\nHost: %s\r\nUser-Agent: %s\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: %d\r\n\r\n%s"
actualRequest = request % (page, host, name, len(params), params)

В ответ приходит одно из 4 сообщений:

первые 2 байтаЗначение
00Установить client_key + client_port + client_ip
01Выполнить команду
02Обнулить client_key, client_port, client_ip
03Завершить выполнение

Все сообщения сначала расшифровываются с использованием сгенерированного бэкдором ключа, после этого полученный буфер расшифровывается с помощью client_key:

XOR(msg, len, ourKey);
XOR(msg, len, &client_key);

UDP_Listen

Если дейтограмма поступила с адреса, отличного от client_ip, то она игнорируется. Если не установлено значение client_key, то ничего не происходит. Поступающее UDP-сообщение расшифровывается и имеет следующий вид:

<handler>:<transaction_id> <command>
ПолеЗначение
msg_idНомер сообщения. Все присланные msg_id запоминаются, и команда выполняется только если msg_id раньше не встречался.
HandlerВсегда 8 байт и является идентификатором команды
commandпроизвольная строка

Бэкдор может выполнять следующие команды:

  • запустить флуд (отправку повторяющихся запросов удаленному узлу);
  • остановить флуд;
  • выполнить поступившую команду с помощью system();
  • запустить переданную строку через popen и вернуть вывод команды;
  • открыть слушающий UDP сокет, который логирует все обращения на данный порт в указанный файл в формате: <ipaddr> <size> <List Port>
  • передать на сервер указанный файл частями определенного размера с указанным интервалом между пересылками;
  • просканировать заданный диапазон IP-адресов;
  • выслать список msg_id, меньших, чем msg_id текущего сообщения, которые не были обработаны;
  • пометить переданные msg_id как обработанные;
  • завершить выполнение.

UDP_KeepAlive:

Отправляет на управляющий сервер с заданным интервалом времени определенную дейтограмму, чтобы сообщить, что он все еще работает.

Новость о троянце

Рекомендации по лечению


Linux

На загруженной ОС выполните полную проверку всех дисковых разделов с использованием продукта Антивирус Dr.Web для Linux.

Демо бесплатно

На 1 месяц (без регистрации) или 3 месяца (с регистрацией и скидкой на продление)

Скачать Dr.Web

По серийному номеру