Распространяется через P2P-сеть Win32.Sector, представляет собой троянца для подбора паролей к Wi-Fi-роутерам.
Протокол общения с сервером
Протокол бинарный, имеет простую структуру. Сообщения имеют следующий заголовок:
struct thead{
DWORD crc32;
WORD size;
};
Сообщение после заголовка шифруется RC4 с ключом:
001ls\r\n%2.2u\r\n
Кроме того, к размеру сообщения thead.size добавляется случайная длина в размере 3..20.
Бот отправляет серверу запрос на получение команд следующего вида:
struct OP_01_REQ{
BYTE op; //0x01
BYTE rnd[3];
};
thead head;
OP_01_REQ op_01;
В ответ получает следующие команды:
Просканировать диапазон IP
В ответ приходит
struct OP_01{
BYTE op; //0x01
DWORD addr; //стартовый адрес
BYTE count; //количество адресов, которое нужно просканировать
};
Бот запускает цикл и отправляет GET-запросы следующего вида по заданному диапазону адресов:
http://%s/
В ответе ищет тег:
realm=\"
С помощью этого тега определяет тип роутера.
Список роутеров, с которыми умеет работать троянец:
DSL-2520U
DSL-2600U
DSL router
TD-W8901G
TD-W8901G 3.0
TD-W8901GB
TD-W8951ND
TD-W8961ND
TD-8840T
TD-8840T 2.0
TD-W8961ND
TD-8816
TD-8817 2.0
TD-8817
TD-W8151N
TD-W8101G
ZXDSL 831CII
echolife
level
TP-LINK
ZXV10 W300
Если в теге встречается одно из имен, то бот сообщает на управляющий сервер об успешном обнаружении IP-адреса:
struct OP_02_REQ{
BYTE op; //0x02
DWORD addr;
WORD rnd;
};
Подбор паролей и смена DNS
Троянец получает команду:
struct ITEM{
DWORD addr; //адрес роутера
BYTE len;
BYTE password[len];
};
struct OP_02{
BYTE op; //0x02
DWORD dns; //адрес dns
DWORD count; //количество паролей
ITEM list[count]; //список паролей
};
После этого троянец начинает перебор паролей. В качестве логина использует значения:
admin
support
Сначала определяется тип роутера, в зависимости от него отправляются POST- или GET-запросы на определенные скрипты для данного типа.
Если авторизация прошла успешно, то бот отправляет запросы на смену DNS в настройках устройства. Первый адрес берет из собственного запроса ns1=OP_02.dns, в качестве второго подставляет адрес Google: ns2=8.8.8.8.
И отправляет отчет на сервер об успешном подборе пароля.
BYTE op;
BYTE str[];
Параметр str имеет следующий формат:
url:login:password:type
Управляющий сервер зашит в тело бота:
142.4.213.220:48919
Принцип работы:
Троянец используется для дальнейшего распространения Win32.Sector
- На компьютер, уже инфицированный троянцем Win32.Sector, с использованием этой вредоносной программы загружается Trojan.Rbrute;
- Trojan.Rbrute получает с управляющего сервера задания на поиск Wi-Fi-маршрутизаторов и данные для подбора паролей к ним.
- В случае успеха Trojan.Rbrute подменяет в настройках роутера адреса DNS-серверов.
- При попытке подключения к Интернету пользователь незараженного компьютера, использующий подключение через скомпрометированный маршрутизатор, перенаправляется на специально созданную злоумышленниками веб-страницу.
- С этой страницы на компьютер жертвы загружается троянец Win32.Sector и инфицирует его.
- Впоследствии Win32.Sector может загрузить на вновь инфицированный ПК копию троянца Trojan.Rbrute. Цикл повторяется.
Пример. При обращении к google.com:
nslookup google.com xx.xx.xxx.186
Server: xx.xx.xxx.186
Address: xx.xx.xxx.186#53
Non-authoritative answer:
Name: google.com
Address: xxx.xxx.xxx.92
Примеры словарей для перебора и конфигурационные данные:
0012EC72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0012EC82 00 00 00 00 00 00 00 00 00 00 07 D5 E1 BB 6F 00 ...........-с¬o.
0012EC92 02 7A A8 87 E3 08 00 00 00 02 BF 79 F7 05 61 64 .zиЗу.....¬yў.ad
0012ECA2 6D 69 6E D2 38 78 F7 05 61 64 6D 69 6E 7A A9 87 minT8xў.adminzйЗ
0012ECB2 F7 06 64 72 61 67 6F 6E BB 95 7D F7 06 6D 6F 6E ў.dragon¬Х}ў.mon
0012ECC2 6B 65 79 02 B1 78 F7 06 61 62 63 31 32 33 D0 56 key.-xў.abc123¦V
0012ECD2 67 F7 06 64 72 61 67 6F 6E 7D A0 65 F7 08 74 72 gў.dragon}аeў.tr
0012ECE2 75 73 74 6E 6F 31 59 60 86 F7 08 70 61 73 73 77 ustno1Y`Жў.passw
0012ECF2 6F 72 64 00 00 00 00 00 00 00 00 00 00 00 00 00 ord.............
0012EC82 00 00 00 00 00 00 00 00 00 00 96 34 79 32 61 00 ..........Ц4y2a.
0012EC92 02 1F 1C 67 BA 06 00 00 00 BB AC 20 F8 07 67 69 ...g¦....¬м °.gi
0012ECA2 7A 6D 6F 64 6F 24 47 0A F8 06 64 72 61 67 6F 6E zmodo$G.°.dragon
0012ECB2 BB CC 09 F8 06 64 72 61 67 6F 6E 4F 00 11 F8 08 ¬¦.°.dragonO..°.
0012ECC2 70 61 73 73 77 6F 72 64 29 20 11 F8 06 31 32 33 password) .°.123
0012ECD2 34 35 36 59 BA 1C F8 07 67 69 7A 6D 6F 64 6F 00 456Y¦.°.gizmodo.
0012ECE2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0012ECF2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0012EC82 00 00 00 00 00 00 00 00 00 00 E8 EA FD EE 38 00 ..........шъ¤ю8.
0012EC92 02 1F 1C 67 BA 02 00 00 00 BD F5 30 F8 06 31 32 ...g¦....-ї0°.12
0012ECA2 33 34 35 36 4F 81 3D F8 0D 41 64 6D 69 6E 69 73 3456OБ=°.Adminis
0012ECB2 74 72 61 74 6F 72 00 00 00 00 00 00 00 00 00 00 trator..........
0012EC82 00 00 00 00 00 00 00 00 00 00 5E 20 C1 C7 95 00 ..........^ +¦Х.
0012EC92 02 7A A8 87 E3 0A 00 00 00 BB 89 53 F8 08 6C 69 .zиЗу....¬ЙS°.li
0012ECA2 66 65 68 61 63 6B 3C F2 6F F8 07 73 75 70 70 6F fehack<Єo°.suppo
0012ECB2 72 74 24 49 64 F8 05 61 64 6D 69 6E 7B 1C 56 F8 rt$Id°.admin{.V°
0012ECC2 0E 73 6F 70 6F 72 74 65 45 54 42 32 30 30 36 B4 .soporteETB2006+
0012ECD2 FB 53 F8 07 67 69 7A 6D 6F 64 6F 71 A7 66 F8 06 vS°.gizmodoqзf°.
0012ECE2 61 62 63 31 32 33 24 4C 60 F8 08 70 61 73 73 77 abc123$L`°.passw
0012ECF2 6F 72 64 75 C3 54 F8 04 72 6F 6F 74 5D 5A 57 F8 ordu+T°.root]ZW°
0012ED02 04 72 6F 6F 74 1F 09 53 F8 05 61 64 6D 69 6E 00 .root..S°.admin.
0012ED12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................