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

Позвоните

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

ЧаВо | Форум

Ваши запросы

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

Позвоните

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

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

Профиль

Профиль

BackDoor.Bulknet.739

Добавлен в вирусную базу Dr.Web: 2012-09-20

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

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

screen

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

Загрузчик

Загрузчик троянца устанавливается копированием себя в папку %USER%\<rnd>.exe, прописывает себя в автозапуск:

software\microsoft\windows\currentversion\run <rnd>=%USER%\<rnd>.exe

Шифрует трафик с использованием RSA-ключей.

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

screen

ответный запрос расшифровывает приватным ключом:

screen

Загрузчик содержит в своем теле список доменных имен, часть имен зашифрована. Обращается к доменам по списку с GET-запросом по протоколу HTTPS, в ответ получает главную веб-страницу располагающегося по данному адресу сайта и разбирает ее HTML-структуру в поисках тега вставки изображения <img src="data:image/jpeg;base64 … >.

Расшифровывает из аргументов данного тега вредоносный файл (по команде либо запускает процесс svchost.exe) и пытается встроить файл в данный процесс, либо сохраняет его во временную папку.

Далее расшифровывает из своего тела модуль BackDoor.Bulknet.739 (DDoS) , и список адресов к нему, загружает его в память.

Обращается к одному из серверов в списке с HTTP-запросом, загружает веб-страницу и разбирает ее HTML-структуру в поисках тега вставки изображения <img src="data:image/jpeg;base64 … >. Расшифровывает из аргументов данного тега файл, маскирующийся под изображение в формате JPEG. Этот файл содержит контейнер данных, сжатых gzip. Из gzip расшифровывается второй модуль BackDoor.Bulknet.739, предназначенный для рассылки спама.

Протокол загрузчика

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

int crypt_send_data(DWORD *data, signed int size, int key1)
{
  int count; // ecx@1
  int key; // edi@4
  int n; // eax@4
  int size_add; // ebx@7
  DWORD *v7; // esi@8
  int v9; // [sp+4h] [bp-8h]@1
  int v10; // [sp+8h] [bp-4h]@8
  count = 0;
  v9 = 0;
  if ( data && size && key1 )
  {
    key = 0x19660D * key1 + 0x3C6EF35F;
    n = size / 4;
    if ( size / 4 > 0 )
    {
      v9 = 4 * n;
      do
      {
        data[count] ^= key;
        key = 0x19660D * key + 0x3C6EF35F;
        ++count;
      }
      while ( count < n );
    }
    size_add = size % 4;
    if ( size % 4 )
    {
      v10 = 0;
      v7 = &data[count];
      memcpy(&v10, &data[count], size_add);
      v10 ^= key;
      memcpy(v7, &v10, size_add);
      v9 += size_add;
    }
  }
  return v9;
}

Пакет имеет такую структуру:

struct HEAD{
    uint32 rnd1;
    uint32 rnd2;
    uint32 crc32;
};
 
struct BOT_INFO{
    uint32 field2;// 1
    uint32 field3;// 2
    uint32 field4;// 1
    uint32 field5;// 0
    uint32 field6;// 0
    uint32 field7;// 15
    uint32 rnd3[4];
    uint32 bid[4];
    uint32 instal_flag;
    uint32 len_host_crc32;
    uint32 host_crc32;
};
 
HEADER 0xC
97 73 BC F2 DB 00 76 E0  72 88 73 07
 
BOT_INFO 0x44
01 00 00 00 02 00 00 00  01 00 00 00 00 00 00 00
00 00 00 00 15 00 00 00  FA 13 29 40 56 6C 82 99
AF C5 DB F2 09 1F 35 4C  68 55 ED 52 F5 60 43 1E
1E 95 41 3A 33 21 C3 3B  0C 00 00 00 04 00 00 00
4B ED 16 27 00 00 00 00  00 00 00 00 00 00 00 00

DDoS

Для осуществления DDoS-атаки троянец создает 8 тредов, случайным образом выбирает адрес и направляет на него POST-запрос вида:

http://%s/?ptrxcz_%s
или
http://%s/

со случайным содержимым произвольной длины. Также, соединившись с сервером SMTP, троянец может отправлять сообщения электронной почты с произвольным содержимым.

Бот сохраняет себя в папку  %SYSTEM32% или %USERDIR% с именем regedit.exe и изменяет ветвь системного реестра Software\Microsoft\Windows\CurrentVersion\Run для обеспечения автозагрузки. Увеличивает количество возможных tcp-соединений путем модификации ветви реестра  SYSTEM\CurrentControlSet\Services\Tcpip\Parameters.

Спам-машина

Для рассылки почтовых сообщений троянцем применяется специальная спам-машина, использующая набор шаблонов, например шаблон сообщений:

screen

Список адресов электронной почты:

screen

Шаблон, содержащий список имен:

screen

В случае отказа бот может направить на собственный управляющий сервер сообщение об ошибке с использованием протокола UDP.

screen

Протокол спам-машины

Все сообщения бота представляют собой следующий блок данных:

struct MSG{
    DWORD size;
    BYTE data[size]; //данные зашифрованы
};

Данные шифруются с использованием следующего алгоритма:

void ciper(char *key, char* data, int size){
    uint32 max=sizeof(KEY_ENC)-1;
    int j=0;
    if ( key && data ){
        if ( size > max){
            do{
                for (int i=0;i<max;i++){
                    data[i+j]^= key[i];
                }
 
                for (int i=0;i<max/2;i++){
                    char tmp = data[i+j];
                    data[i+j] = data[j-i+(max-1)];
                    data[j-i+(max-1)]= tmp;
                }
 
                if ( j & 1 ){
                    for (int i=0;i<max;i++){
                        data[i+j]=~data[i+j];
                    }
                }
                j+=max;
            }while (j+max< size );
        }
        size=size%max;
        for (int i=0;i<size;i++){
            data[i+j]=~data[i+j];
        }
    }
}

И ключами для шифрования и дешифровки:

0xe0:eto ochen prostoarelkioiqyrut
0xe1:turyqioikleraotsorp nehco ote

Исходящие сообщения имеют следующую структуру:

struct HEAD_REQ{
  DWORD bid;
  DWORD lip;
  DWORD bver;
  DWORD num_cfg;
  DWORD subop;
  DWORD os;
  WORD dns;
  WORD smtp;
};
 
DWORD size;
//данные с этого поля шифруются
HEAD_REQ head;
BYTE data[size];

Входящие пакеты:

struct HEAD_RES{
  DWORD cmd;
};
 
union U_OP{
  OP_0 op0;
  OP_1 op1;
  OP_4 op4;
  OP_5 op5;
  OP_6 op6;
  OP_7 op7;
  OP_8 op8;
};
 
struct OP_0{
};
 
 
 
struct OP_1{
  DWORD build;
  DWORD size;
};
 
 
struct OP_4{
};
 
struct OP_5{
  DWORD bid;
  DWORD remote_addr;
  DWORD seed_time;
  DWORD d4;
};
 
struct OP_6{
  DWORD num_tmpl;
  DWORD d2;
  DWORD d3;
  DWORD num_x;
  DWORD d5;
};
 
struct OP_7{
  DWORD flag_op;
  DWORD num_cfg;
};
 
 
struct OP_8{
  DWORD sub_opcode;
  BYTE b1;
};
 
 
enum OP_RES{
    OP_0 = 0, //остановить спам, очистить шаблоны
    OP_1 = 1, //список шаблонов имен
    OP_4 = 4, //обновить бота
    OP_5 = 5, //инициализация bid, определение имени хоста бота
    OP_6 = 6, //спам шаблоны
    OP_7 = 7, //основной конфиг бота
    OP_8 = 8, //список email
};
 
DWORD size;
//данные с этого поля шифруются
HEAD_RES head;
U_OP op;
BYTE data[size+sizeof(op)+sizeof(HEAD_RES)];

Троянец отправляет пакеты в следующей последовательности:

  1. Исходящий. bid еще не инициализирован (если бот запускается впервые). Содержит локальный IP lip, версию ОС, dns-флаги, версию бота bver, количество проверенных smtp-серверов. И num_cfg=0 0x1C
    00 00 00 00 C0 A8 EE 83  AC 01 00 00 00 00 00 00
    00 00 00 00 05 01 28 0A  20 00 04 00
  2. Входящий. OP_7, содержит основной конфигурационный файл для спам-машины. 0x1F1
    07 00 00 00 01 00 00 00  08 00 00 00 75 64 70 73
    6F 63 6B 63 6F 75 6E 74  00 32 30 00 69 66 68 6F
    73 74 75 73 65 69 6E 6D  61 69 6C 66 72 6F 6D 00
    31 00 6D 61 78 74 72 79  63 6F 6E 6E 00 33 23 23
    23 23 00 62 63 63 00 30  00 65 78 65 5F 75 72 6C
    00 00 61 64 64 72 00 37  38 2E 34 36 2E 34 36 2E
    31 32 34 00 70 6F 72 74  00 32 35 00 6D 61 78 63
    6F 6E 6E 00 31 30 30 00  68 65 6C 6F 73 65 6C 65
    63 74 69 66 68 6F 73 74  00 33 00 74 72 79 61 67
    61 69 6E 74 72 79 00 33  00 6D 61 78 74 72 79 65
    72 72 00 32 00 64 69 65  69 66 6E 6F 73 70 61 6D
    00 31 30 00 6D 61 78 74  72 79 62 61 64 66 72 6F
    6D 00 32 00 63 6F 6E 73  74 63 6F 6E 6E 65 63 74
    00 31 00 63 6F 6D 5F 62  6F 74 5F 63 6F 6E 74 72
    5F 64 69 76 00 00 63 68  65 63 6B 73 6D 74 70 64
    65 6C 61 79 00 32 35 30  00 74 75 72 62 6F 6D 69
    6E 00 35 00 74 72 79 61  67 61 69 6E 70 61 75 73
    65 00 33 36 30 00 74 72  79 70 69 70 65 6C 69 6E
    69 6E 67 00 31 00 62 6F  74 5F 64 69 76 00 00 68
    65 6C 6F 73 65 6C 65 63  74 69 66 6E 6F 68 6F 73
    74 00 31 00 6B 6E 6F 63  6B 64 65 6C 61 79 00 36
    30 00 6D 61 78 74 72 79  62 6C 61 63 6B 00 32 00
    73 77 6F 74 74 69 6E 67  00 00 6D 61 78 75 64 70
    74 72 79 00 35 00 63 6F  6D 5F 62 6F 74 5F 64 69
    76 00 00 74 75 72 62 6F  6D 61 78 00 32 30 00 63
    63 00 30 00 75 64 70 72  65 63 76 74 69 6D 65 6F
    75 74 00 32 30 00 6D 78  63 6F 6E 6E 74 69 6D 65
    6F 75 74 00 38 30 00 62  6F 74 5F 63 6F 6E 74 72
    5F 64 69 76 00 00 73 61  76 65 75 6E 6B 61 6E 73
    77 00 00 6D 78 72 65 63  76 74 69 6D 65 6F 75 74
    00 38 30 00 6D 61 78 64  6F 6D 63 6F 6E 6E 00 32
    00

    screen

  3. Исходящий. num_cfg=head.num_cfg 0x1C
    00 00 00 00 C0 A8 EE 83  AC 01 00 00 08 00 00 00
    00 00 00 00 05 01 28 0A  20 00 04 00
  4. Входящий. OP_5, содержит bid, присвоенный боту, внешний IP бота, время. 0x14
    05 00 00 00 97 68 1F 00  5F D3 A8 0A C8 E1 53 51
    00 00 00 00
    Бот пытается определить имя хоста для своего внешнего IP  и выставляет dns-флаг.
  5. Исходящий. num_cfg=head.num_cfg, dns|1 и присвоенный bid теперь будут присутствовать во всех пакетах. 0x1C
    97 68 1F 00 C0 A8 EE 83  AC 01 00 00 08 00 00 00
    00 00 00 00 05 01 28 0A  21 00 04 00
  6. Входящий OP_8.  Список e-mail 0x35
    08 00 00 00 0B 00 00 00  00 50 41 59 56 45 53 55
    50 50 4F 52 54 40 41 45  58 50 2E 43 4F 4D 00 77
    70 70 69 6D 30 30 31 2E  41 45 58 50 2E 43 4F 4D
    00 0C 0A DB 1A
  7. Исходящий.  HEAD_REQ.subop=OP_8.sub_opcode, num_cfg=head.num_cfg 0x1C
    97 68 1F 00 C0 A8 EE 83  AC 01 00 00 08 00 00 00
    0B 00 00 00 05 01 28 0A  21 00 04 00
  8. Входящий. OP_6 спам-шаблон.
  9. Исходящий. Аналогичный предыдущему, но только добавляются дополнительные данные. struct OP_1_EXT{
        DWORD field4;
        DWORD field5;
        DWORD field6;
        DWORD field7;
        DWORD field8;
    };
    0x1C
    97 68 1F 00 C0 A8 EE 83  AC 01 00 00 08 00 00 00
    0B 00 00 00 05 01 28 0A  21 00 04 00
     
    OP_1_EXT.field4=OP_6.num_tmpl;
    OP_1_EXT.field5=OP_6.d2;
    OP_1_EXT.field6=HEAD_REG.num_cfg;
     
  10. Входящий. OP_1 список имен.

Причем OP_1.num_tmpl==OP_6.num_tmpl номер шаблона.

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

  1. В случае если операционная система способна загрузиться (в штатном режиме или режиме защиты от сбоев), скачайте лечащую утилиту Dr.Web CureIt! и выполните с ее помощью полную проверку вашего компьютера, а также используемых вами переносных носителей информации.
  2. Если загрузка операционной системы невозможна, измените настройки BIOS вашего компьютера, чтобы обеспечить возможность загрузки ПК с компакт-диска или USB-накопителя. Скачайте образ аварийного диска восстановления системы Dr.Web® LiveDisk или утилиту записи Dr.Web® LiveDisk на USB-накопитель, подготовьте соответствующий носитель. Загрузив компьютер с использованием данного носителя, выполните его полную проверку и лечение обнаруженных угроз.
Скачать Dr.Web

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

Выполните полную проверку системы с использованием Антивируса Dr.Web Light для macOS. Данный продукт можно загрузить с официального сайта Apple App Store.

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

Скачать Dr.Web

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

  1. Если мобильное устройство функционирует в штатном режиме, загрузите и установите на него бесплатный антивирусный продукт Dr.Web для Android Light. Выполните полную проверку системы и используйте рекомендации по нейтрализации обнаруженных угроз.
  2. Если мобильное устройство заблокировано троянцем-вымогателем семейства Android.Locker (на экране отображается обвинение в нарушении закона, требование выплаты определенной денежной суммы или иное сообщение, мешающее нормальной работе с устройством), выполните следующие действия:
    • загрузите свой смартфон или планшет в безопасном режиме (в зависимости от версии операционной системы и особенностей конкретного мобильного устройства эта процедура может быть выполнена различными способами; обратитесь за уточнением к инструкции, поставляемой вместе с приобретенным аппаратом, или напрямую к его производителю);
    • после активации безопасного режима установите на зараженное устройство бесплатный антивирусный продукт Dr.Web для Android Light и произведите полную проверку системы, выполнив рекомендации по нейтрализации обнаруженных угроз;
    • выключите устройство и включите его в обычном режиме.

Подробнее о Dr.Web для Android

Демо бесплатно на 14 дней

Выдаётся при установке