Недавно наши коллеги из Центра промышленной экспертизы Positive Technologies обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его SHA-256:

e014dadf6d93b312b93e2fc857791c241692da4015da7a24a4d42a946551add2

Наше внимание привлекло сообщение от аккаунта, с которого залили данный сэмпл.

В тексте сообщения пользователь с ником jeans описывает вредоносную программу, обнаруженную на компьютере с Windows в промышленной среде (на предприятии с оборудованием Siemens). По его словам, предположительно новый вредонос нацелен на промышленные системы управления (ICS). Он пытается манипулировать данными ПЛК по протоколам S7Comm и Modbus TCP, а также маскируется и закрепляется в Windows. Автор при этом подчеркивает, что фактический вред для контроллеров пока не подтвержден.

Сообщение от jeans про новый вредонос
Сообщение от jeans про новый вредонос

Хм, ICS-вредонос, причем уже с готовым названием S7Flip (то есть нам даже не нужно напрягать свою фантазию, чтобы назвать его)? Звучит интересно! Давайте взглянем, что там внутри.

После закрепления в автозапуске под названием aphp.exe сэмпл начинает собирать адреса устройств в локальной сети — это адреса 192.168.*.*, 10.*.*.* и 172.*.*.*, после чего проверяет на них наличие определенных открытых портов, которые широко используются промышленными устройствами:

  • 102 — в основном используют контроллеры Siemens для взаимодействия по протоколу S7Comm или S7Comm+.

  • 502 — стандартный порт протокола Modbus TCP; его могут использовать устройства любых производителей.

  • 44818 — в основном используют контроллеры Allen-Bradley (Rockwell) для взаимодействия по протоколу EtherNet/IP (CIP).

Подключение к устройствам Allen-Bradley (Rockwell) фактически не работает. Реализация клиента для EtherNet/IP (CIP) отсутствует: ветка переиспользует Siemens-клиент и пытается подключиться по порту 102 как к контроллеру Siemens. С настоящим Allen-Bradley соединение не установится — воздействие на устройства, открывшие только порт 44818, не оказывается вовсе.

Определив нужные устройства, S7Flip подключается к ним и начинает применять один из деструктивных механизмов (или сразу оба).

Механизм 1: «randomize» значений

По S7Comm (порт 102): по очереди обходит блоки DB 1–10; для каждого выбирает случайное смещение 0–99, читает оттуда 4-байтовое целое, прибавляет случайное целое число от −10 до +10 и записывает обратно.

По Modbus TCP (порт 502): выбирает 16-битный holding-регистр по случайному адресу 0–99, читает текущее значение, прибавляет случайное целое число от −10 до +10 и записывает обратно.

Механизм 2: инверсия битов (findAndModifyInputs)

По S7Comm (порт 102): последовательно проходит первые 100 байтов в блоках DB 1–10: читает байт, меняет его младший бит на противоположный и записывает обратно.

По Modbus TCP (порт 502): последовательно проходит однобитовые ячейки записи (coils — дискретные выводы, команды, флаги) в диапазоне 0–255: читает бит, меняет на противоположный и записывает обратно.

Каждое изменение пишется в logs.csv рядом с исполняемым файлом и содержит пять колонок — время, тег, вендор, старое и новое значение.

Помимо данного бинаря, мы нашли еще один:

88717716e54b35682a28d673764975d439a31ee194c85dfc619a15ea93ab1280

По логике работы он ничем не отличается от рассмотренного ранее образца. Главное отличие заключается в том, что библиотека libmodbus, реализующая работу протокола Modbus, в e014dadf6d93b312b93e2fc857791c241692da4015da7a24a4d42a946551add2 динамически слинкована, а в 88717716e54b35682a28d673764975d439a31ee194c85dfc619a15ea93ab1280 — статически.

В этот же день с этого же аккаунта jeans, помимо e014dadf6d93b312b93e2fc857791c241692da4015da7a24a4d42a946551add2 (название файла — Edge.exe), был залит еще один бинарь:

2c57c1a39933514c63b5a7b585f5948ead04b65e4df96fb595ccda84208c4aa0

При ближайшем рассмотрении он оказался вайпером. При запуске он по-джентльменски спрашивает, не хотите ли вы установить Microsoft Edge:

И если вы отказываетесь, то вайпер прекращает свою работу :)

Но вот если вы соглашаетесь... то будьте готовы к «непредвиденным обстоятельствам». Вот их список:

  • рекурсивное удаление всего содержимого папки %USERPROFILE%\Desktop;

  • там же будет создан файл compiled-desktop, который будет содержать ровно 1 048 576 случайных байт;

  • ну и, разумеется, файл README.txt с вежливой просьбой перевести биткоины в размере 100 долларов.

После всего этого вредонос добавляет себя в автозапуск.

Расшифровка файлов не предусмотрена: содержимое рабочего стола нигде не сохраняется. Это псевдовымогатель-вайпер.

Самое интересное, что в README.txt указан кошелек, на который злоумышленники предлагают переслать деньги: bc1qp6ejw8ptj9l9pkscmlf8fhhkrrjeawgpyjvtq8 — это официальный кошелек для донатов проекта Bitcoin[.]org. Т. е. жулики на самом деле не хотят выкупа? Хм, интересно...

Чуть позже jeans залил еще один вариант данного инструмента — f47502628708300840efe2771a3c5e7e9a631205512f0a2ee6382a00a92056e2, причем на этот раз файл называется не Edge.exe, а Edgev5.exe.

Обозначает ли v5 какое-то развитие или дальнейшее улучшение вредоноса? Да, в новой версии автор добавил симметричное шифрование файлов с помощью AES-256-GCM, а также расширил количество папок для шифрования: теперь помимо Desktop шифрованию подлежат Downloads и Documents. Правда, есть один нюанс... ключ для расшифрования данных находится в файле master_key.dat, да и биткоин-кошелек такой же, как и в более ранней версии вайпера.

По всей видимости, автор вредоноса активно развивает и тестирует свой инструмент. Возможно, в будущем он начнет активно применять его в «боевом» виде.

А какая связь между S7Flip и вайперами?

В ходе чтения у вас, возможно, возник вопрос: «а как связаны S7Flip и вайпер между собой?» И на самом деле определенные совпадения есть:

  • все бинари были собраны с помощью тулчейна GCC 16.2.0;

  • timestamp сборки PE-файлов 88717716e54b35682a28d673769475d439a31ee194c85dfc619a15ea93ab1280 (S7Flip) и 2c57c1a39933514c63b5a7b585f5948ead04b65e4df96fb595ccda84208c4aa0 (Edge.exe) совпадает с точностью до дня — 2026-09-13;

  • общий аккаунт, с которого файлы были залиты на MalwareBazaar, — jeans.

Достаточно ли этих данных, чтобы утверждать, что S7Flip и вайперы разработаны одним и тем же автором? Нет, определенные сомнения все равно остаются, но некоторая взаимосвязь все же есть.

Индикаторы компрометации

SHA-256

Имя

PT Fusion

88717716e54b35682a28d673769475d439a31ee194c85dfc619a15ea93ab1280

S7Flip

Открыть ↗

e014dadf6d93b312b93e2fc857791c241692da4015da7a24a4d42a946551add2

S7Flip

Открыть ↗

2c57c1a39933514c63b5a7b585f5948ead04b65e4df96fb595ccda84208c4aa0

Edge.exe (ver 1)

Открыть ↗

f47502628708300840efe2771a3c5e7e9a631205512f0a2ee6382a00a92056e2

Edgev5.exe

Открыть ↗

Комментарии (0)