ПОЛЬЗОВАТЕЛЯМ

Поддержка
Круглосуточная поддержка

Позвоните

Бесплатно по России:
8-800-333-79-32

ЧаВо | Форум

Ваши запросы

  • Все: -
  • Незакрытые: -
  • Последний: -

Позвоните

Бесплатно по России:
8-800-333-79-32

Свяжитесь с нами Незакрытые запросы: 

Профиль

Профиль

Вирусная библиотека

Анализ используемых злоумышленниками технологий позволяет нам делать выводы о возможных векторах развития вирусной индустрии и еще эффективней противостоять будущим угрозам. Узнайте и вы о том, как действуют в зараженных системах те или иные вредоносные программы и как этому противостоять.

Linux.Mirai в вирусной библиотеке:

Семейство вредоносных программ для ОС Linux. Описание составлено по одному из образцов.

SHA1:

  • 7e0e07d19b9c57149e72a7ed266e0c8aa5019a6f

Модифицированная версия троянцев Linux.DDoS.87 и Linux.DDoS.89. Основные отличия от Linux.DDoS.89:

  1. в некоторых образцах троянца появилась функция самоудаления;
  2. троянец научился отключать предотвращающий зависание операционной системы сторожевой таймер watchdog (чтобы исключить перезагрузку устройства);
  3. имя процесса заменяется на случайную последовательность, состоящую из символов [a-z 0-9];
  4. изменилась структура конфигурации;
  5. при обнаружении процесса с именем ".anime" функция Runkiller не только завершает его работу, но и удаляет исполняемый файл;
  6. вновь появился метод атаки HTTP Flood, отсутствовавший в Linux.DDoS.89;
  7. если не удалось создать сокет и подключиться к нему, соответствующая функция ищет владеющий сокетом процесс и завершает его.

Конфигурация в этой версии троянца имеет следующий вид:

НомерЗначениеГде используется
3listening tun0main вывод на stdin
4HostIP-адрес управляющего сервера
5Portпорт управляющего сервера
6"https://youtube.com/watch?v=dQw4w9WgXcQ"
7"/proc/" runkiller
8"/exe" runkiller
9" (deleted)"
10"/fd" runkiller
11".anime"runkiller
12"REPORT %s:%s"runkiller
13"HTTPFLOOD"runkiller
14"LOLNOGTFO"runkiller
15"\x58\x4D\x4E\x4E\x43\x50\x46\x22"runkiller
16"zollard"runkiller
17"GETLOCALIP"
18Host
19Port
20"shell"
21"enable"
22"system"
23"sh"
24"/bin/busybox MIRAI"
25"MIRAI: applet not found"
26"ncorrect"
27"/bin/busybox ps"
28"/bin/busybox kill -9 "
29"TSource Engine Query"
30"/etc/resolv.conf"
31"nameserver"
32"Connection: keep-alive"
33"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
34"Accept-Language: en-US,en;q=0.8"
35"Content-Type: application/x-www-form-urlencoded"
36"setCookie('"
37"refresh:"
38"location:"
39"set-cookie:"
40"content-length:"
41"transfer-encoding:"
42"chunked"
43"keep-alive"
44"connection:"
45"server: dosarrest"
46"server: cloudflare-nginx"
47"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" User Agent
48"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36" User Agent
49"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" User Agent
50"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36" User Agent
51"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7" User Agent

Все образцы троянца используют функцию сокрытия строк следующего вида:

def decode(str_enc):
  return "".join([chr(ord(x) ^ 0x22) for x in str_enc])

При запуске троянец удаляет с диска собственный исполняемый файл, затем блокирует сигнал остановки процессов SIGINT с помощью sigprocmask. Устанавливает параметр SIG_IGN для SIGCHLD, а также обработчик для SIGTRAP.

Затем троянец пытается открыть на чтение и запись файл /dev/watchdog (также проверяется /dev/misc/watchdog) и, если попытка увенчалась успехом, отключает сторожевой таймер watchdog (чтобы исключить перезагрузку устройства).

ioctl(fd, WDIOC_SETOPTION, WDIOS_DISABLECARD)

После этого троянец переходит в корневую папку и обращается к адресу 8.8.8.8:53, чтобы получить IP-адрес своего сетевого интерфейса.

Затем вычисляет функцию от значения argv[0]:

def check(name):
    print name
    a = [ord(x) for x in name]
    sum = (0 - 0x51) & 0xff
    for i in [2,4,6,8,10,12]:
        z =  (~a[i % len(a)] & 0xff)
        sum = (sum + z)&0xff
        #print "%x %x %x" % (z, sum, sum % 9)
    return sum % 9

Эта функция возвращает число от 0 до 8, которое является индексом в массиве функций:

off_8055DC0     dd offset bind_socket   ; DATA XREF: main+109o
.rodata:08055DC4                     dd offset sub_80517E0
.rodata:08055DC8                     dd offset sub_8051730
.rodata:08055DCC                     dd offset create_config
.rodata:08055DD0                     dd offset sub_8051760
.rodata:08055DD4                     dd offset sub_80523F0
.rodata:08055DD8                     dd offset strcopy
.rodata:08055DDC                     dd offset runkiller
.rodata:08055DE0                     dd offset sub_804E900

Если значение argv[0] == "./dvrHelper", то родительскому процессу отсылается сигнал SIGTRAP (для которого ранее был установлен обработчик). Обработчик, в свою очередь, заменяет позаимствованный из конфигурации IP-адрес и порт сервера, к которому будет выполняться подключение.

Далее запускается слушающий сокет на адресе 127.0.0.1:48101. Если этот порт занят другим процессом, запускается функция, которая находит владеющий сокетом процесс и завершает его.

Затем троянец генерирует имя в виде случайной последовательности, состоящей из символов [a-z 0-9], и записывает его в argv[0]. С помощью функции prctl имя процесса меняется на случайное.

Далее происходит создание дочерних процессов и завершение родительского. Все последующие шаги выполняются в дочернем процессе – в частности, заполняется структура, содержащая обработчики. Затем запускается функция сканирования уязвимых telnet-узлов и функция, завершающая процессы других троянцев. После этого запускается обработчик поступающих от управляющего сервера команд. Если обнаруживается попытка соединения с локальным сервером, завершаются все дочерние процессы, запускается процесс-потомок с целью сканирования уязвимых telnet-узлов, а родительский процесс завершается.

Для сравнения на иллюстрации ниже показан фрагмент кода Linux.DDoS.87 (слева) и Linux.Mirai (справа).

screen Linux.DDoS.87 #drweb screen Linux.Mirai #drweb

Linux.Mirai в вирусной библиотеке:

Linux.Mirai.4790
Linux.Mirai.4797
Linux.Mirai.4798
Linux.Mirai.4799
Linux.Mirai.4815
Linux.Mirai.4818
Linux.Mirai.4852
Linux.Mirai.4892
Linux.Mirai.4895
Linux.Mirai.4897
Linux.Mirai.4904
Linux.Mirai.4905
Linux.Mirai.4906
Linux.Mirai.4907
Linux.Mirai.4925
Linux.Mirai.4943
Linux.Mirai.4947
Linux.Mirai.4948
Linux.Mirai.4949
Linux.Mirai.4950
Linux.Mirai.4951
Linux.Mirai.4952
Linux.Mirai.4953
Linux.Mirai.4955
Linux.Mirai.4956
Linux.Mirai.4957
Linux.Mirai.4966
Linux.Mirai.4967
Linux.Mirai.4968
Linux.Mirai.4969
Linux.Mirai.4970
Linux.Mirai.4971
Linux.Mirai.4972
Linux.Mirai.4973
Linux.Mirai.4975
Linux.Mirai.4984
Linux.Mirai.4989
Linux.Mirai.4990
Linux.Mirai.4992
Linux.Mirai.4993
Linux.Mirai.5000
Linux.Mirai.5001
Linux.Mirai.5002
Linux.Mirai.5003
Linux.Mirai.5004
Linux.Mirai.5005
Linux.Mirai.5006
Linux.Mirai.5007
Linux.Mirai.5008
Linux.Mirai.5009

1 2 3 4 5 6 7 8

Уязвимости для Android

По статистике каждая пятая программа для ОС Android — с уязвимостью (или, иными словами, — с «дырой»), что позволяет злоумышленникам успешно внедрять мобильных троянцев на устройства и выполнять нужные им действия.

Аудитор безопасности в Dr.Web для Android произведет диагностику и анализ безопасности мобильного устройства, предложит решения для устранения выявленных проблем и уязвимостей.

Российский разработчик антивирусов Dr.Web с 1992 года
Dr.Web в Реестре Отечественного ПО
Dr.Web совместим с российскими ОС и оборудованием
Dr.Web пользуются в 200+ странах мира
Техническая поддержка 24х7х365 Рус | En

Dr.Web © «Доктор Веб»
2003 — 2022

«Доктор Веб» — российский производитель антивирусных средств защиты информации под маркой Dr.Web. Продукты Dr.Web разрабатываются с 1992 года.

125124, Россия, Москва, 3-я улица Ямского поля, д.2, корп.12А