Обновление 27.10.2017. Оценка возможности дешифрования. Возможность восстановления файлов. Вердикты.
Что произошло?
Во вторник 24 октября мы получили уведомления о массовых атаках с использованием вымогателя Bad Rabbit («Плохой кролик»). Пострадали организации и отдельные пользователи — преимущественно в России, но были и сообщения о жертвах из Украины. Такое сообщение видят жертвы:
Что представляет собой Bad Rabbit?
Bad Rabbit относится к ранее неизвестному семейству программ-вымогателей.
Как он распространяется?
Зловред распространятся с помощью drive-by-атаки: жертва посещает легитимный веб-сайт, а на ее компьютер из инфраструктуры организатора атаки загружается дроппер. Преступники не использовали эксплойты, поэтому для заражения пользователь должен был вручную запустить файл, замаскированный под установщик Adobe Flash. Тем не менее, наш анализ подтверждает, что Bad Rabbit использовал эксплойт EternalRomance для распространения внутри корпоративных сетей. Этот же эксплойт использовался шифровальщиком ExPetr.
Мы обнаружили ряд взломанных ресурсов — все они представляют собой новостные порталы и сайты СМИ.
На кого нацелена атака?
Большинство жертв находятся в России. Схожие, но менее массовые атаки затронули другие страны — Украину, Турцию и Германию. Общее количество целей, согласно статистике KSN, доходит до 200.
Когда «Лаборатория Касперского» обнаружила угрозу?
Мы смогли отследить исходный вектор атаки в самом ее начале, утром 24 октября. Активная фаза продолжалась до полудня, хотя отдельные атаки фиксировались до 19.55 по Москве. Сервер, с которого распространялся дроппер Bad rabbit, был отключен тем же вечером.
Чем Bad Rabbit отличается от шифровальщика ExPetr? Или это тот же зловред?
По нашим наблюдениям, сейчас речь идет о целевой атаке на корпоративные сети, ее методы схожи с применявшимися во время атаки ExPetr. Более того, анализ кода Bad Rabbit продемонстрировал его заметное сходство с кодом ExPetr.
Технические подробности
По нашим данным, программа-вымогатель распространятся посредством drive-by атаки. Дроппер вымогателя загружается с адреса hxxp://1dnscontrol[.]com/flash_install.php.
Жертвы перенаправляются на этот вредоносный ресурс с легитимных новостных сайтов.
Загруженный файл install_flash_player.exe жертва должна запустить вручную. Для правильной работы файлу требуются права администратора, которые он запрашивает через стандартное уведомление UAC. В случае запуска зловред сохраняет вредоносную DLL-библиотеку как C:Windowsinfpub.dat и запускает его через rundll32.
По всей видимости, библиотека infpub.dat «брутфорсит» учетные данные NTLM к Windows-машинам с псевдослучайными IP-адресами.
Библиотека infpub.dat также устанавливает вредоносный исполняемый файл dispci.exe в C:Windows и создает задачу для его запуска.
Более того, infpub.dat действует как типичный шифровальщик-вымогатель: он находит данные жертвы по встроенному списку расширений и шифрует файлы публичным 2048-битным RSA-ключом, принадлежащим злоумышленникам.
Параметры публичного ключа:
Public-Key: (2048 bit)
Modulus:
00:e5:c9:43:b9:51:6b:e6:c4:31:67:e7:de:42:55:
6f:65:c1:0a:d2:4e:2e:09:21:79:4a:43:a4:17:d0:
37:b5:1e:8e:ff:10:2d:f3:df:cf:56:1a:30:be:ed:
93:7c:14:d1:b2:70:6c:f3:78:5c:14:7f:21:8c:6d:
95:e4:5e:43:c5:71:68:4b:1a:53:a9:5b:11:e2:53:
a6:e4:a0:76:4b:c6:a9:e1:38:a7:1b:f1:8d:fd:25:
4d:04:5c:25:96:94:61:57:fb:d1:58:d9:8a:80:a2:
1d:44:eb:e4:1f:1c:80:2e:e2:72:52:e0:99:94:8a:
1a:27:9b:41:d1:89:00:4c:41:c4:c9:1b:0b:72:7b:
59:62:c7:70:1f:53:fe:36:65:e2:36:0d:8c:1f:99:
59:f5:b1:0e:93:b6:13:31:fc:15:28:da:ad:1d:a5:
f4:2c:93:b2:02:4c:78:35:1d:03:3c:e1:4b:0d:03:
8d:5b:d3:8e:85:94:a4:47:1d:d5:ec:f0:b7:43:6f:
47:1e:1c:a2:29:50:8f:26:c3:96:d6:5d:66:36:dc:
0b:ec:a5:fe:ee:47:cd:7b:40:9e:7c:1c:84:59:f4:
81:b7:5b:5b:92:f8:dd:78:fd:b1:06:73:e3:6f:71:
84:d4:60:3f:a0:67:06:8e:b5:dc:eb:05:7c:58:ab:
1f:61
Exponent: 65537 (0x10001)
Исполняемый файл dispci.exe, похоже, основан на коде легальной утилиты DiskCryptor. Он действует как модуль шифрования диска и параллельно устанавливает модифицированный загрузчик, блокируя нормальный процесс загрузки инфицированной системы.
В ходе анализа образцов этой угрозы мы отметили интересную деталь: по всей видимости, авторы вредоносной программы являются поклонниками «Игры престолов». Некоторые строки в коде представляют собой имена персонажей из этой вселенной.
Схема шифрования
Как мы уже упоминали, вымогатель Bad Rabbit шифрует файлы и жесткий диск жертвы. Для файлов используются следующие алгоритмы:
- AES-128-CBC
- RSA-2048
Это типичная схема, используемая зловредами-вымогателями.
Интересно, что вымогатель перечисляет все запущенные процессы и сравнивает хэш от имени каждого процесса с имеющимся у него списком хэшей. При этом используемый алгоритм хэширования похож на тот, что использовался зловредом exPetr.
Полный список хэшей от имен процессов:
Хэш | Имя процесса |
0x4A241C3E | dwwatcher.exe |
0x923CA517 | McTray.exe |
0x966D0415 | dwarkdaemon.exe |
0xAA331620 | dwservice.exe |
0xC8F10976 | mfevtps.exe |
0xE2517A14 | dwengine.exe |
0xE5A05A00 | mcshield.exe |
Разделы на жестком диске жертвы шифруются с помощью драйвера dcrypt.sys программы DiskCryptor (он загружается в C:Windowscscc.dat). Шифровальщик посылает этому драйверу необходимые IOCTL коды. Отдельные функции берутся «как есть» из исходников DiskCryptor (drv_ioctl.c), другие, как кажется, были добавлены разработчиками зловреда.
Разделы диска шифруются драйвером DiskCryptor с использованием AES в режиме XTS. Пароль генерируется dispci.exe с использованием функции WinAPI CryptGenRandom и имеет длину 32 символа.
Оценка возможности дешифрования
Наши данные свидетельствуют, что Bad rabbit, в отличие от ExPetr, не создавался как вайпер (о том, что создатели ExPetr технически не способны расшифровать MFT, зашифрованную с помощью GoldenEye, мы писали ранее). Алгоритм работы вредоносного ПО предполагает, что у злоумышленников, стоящих за Bad rabbit, есть необходимые средства для дешифровки.
Данные, которые отображаются на экране зараженной машины как «personal installation key#1», это зашифрованная RSA-2048 и закодированная base64 двоичная структура, которая содержит следующую информацию из зараженной системы:
Злоумышленники могут использовать свой секретный ключ RSA для расшифровки этой структуры и отправить пароль для расшифровки диска жертве.
Обратите внимание, что значение поля id, которое передается dispci.exe — просто 32-битное число, используемое чтобы различать зараженные компьютеры, а вовсе не ключ AES для шифрования диска, как говорилось в некоторых отчетах, опубликованных в интернете.
В процессе анализа мы под отладкой извлекли пароль, создаваемый вредоносным ПО, и попытались использовать его на заблокированной системе после перезагрузки — пароль подошел, и загрузка продолжилась.
К сожалению, расшифровать данные на дисках без ключа RSA-2048 злоумышленников невозможно: симметричные ключи безопасно генерируются на стороне зловреда, что на практике исключает возможность их подбора.
Однако мы обнаружили ошибку в коде dispci.exe: сгенерированный пароль не удаляется из памяти, что дает небольшой шанс на его извлечение до завершения процесса dispci.exe. На скриншоте ниже можно заметить, что, хотя переменная dc_pass (которая будет передана драйверу) будет безопасно стерта после использования, это не относится к переменной rand_str, которая содержит копию пароля.
Шифрование файлов
Как мы уже писали, троянец использует типичную схему шифрования файлов. Он генерирует случайную строку длиной 32 байта и использует ее в алгоритме деривации ключа. К сожалению, при создании этой строки используется функция CryptGenRandom.
Зашифрованный пароль вместе с информацией о зараженной системе записывается в файл Readme как «personal installation key#2».
Интересный факт: зловред не шифрует файлы с атрибутом «Только для чтения».
Возможность восстановления файлов
Мы обнаружили, что Bad Rabbit не удаляет теневые копии файлов после их шифрования. Это означает, что если служба теневого копирования была включена до заражения и полное шифрование диска по какой-то причине не произошло, жертва может восстановить зашифрованные файлы, используя стандартные средства Windows или сторонние утилиты.
Рекомендации
Эксперты «Лаборатории Касперского» подробно анализируют шифровальщик, чтобы найти возможные недостатки в его криптографических алгоритмах.
Корпоративным клиентам «Лаборатории Касперского» рекомендуется:
- проверить, что все механизмы включены согласно рекомендациям; отдельно проследить, чтобы не были выключены компоненты KSN и «Мониторинг системы» (они активны по умолчанию);
- оперативно обновить антивирусные базы.
Этого должно быть достаточно. Но в качестве дополнительных мер предосторожности мы советуем:
- запретить в Kaspersky Endpoint Security выполнение файлов C:Windowsinfpub.dat и C:Windowscscc.dat.
- настроить и включить режим «Запрет по умолчанию» в компоненте «Контроль запуска программ» в Kaspersky Endpoint Security.
Продукты «Лаборатории Касперского» определяют эту угрозу как:
- Trojan-Ransom.Win32.Gen.ftl
- Trojan-Ransom.Win32.BadRabbit
- DangerousObject.Multi.Generic
- PDM:Trojan.Win32.Generic
- Intrusion.Win.CVE-2017-0147.sa.leak
IoC:
http://1dnscontrol[.]com/
fbbdc39af1139aebba4da004475e8839 — install_flash_player.exe
1d724f95c61f1055f0d02c2154bbccd3 — C:Windowsinfpub.dat
b14d8faf7f0cbcfad051cefe5f39645f — C:Windowsdispci.exe
Шифровальщик Bad Rabbit
Роман
Здравствуйте. подскажите какими отладчиками и редакторами вы пользуетесь при исследовании зловреда? часто вижу в ваших статьях одни и те же и не один. спасибо.