В прошлом месяце мы писали о вредоносном ПО OSX/Keydnap, которое специализируется на краже содержимого связки ключей Apple OS X (keychain). Оно также предоставляет злоумышленникам удаленный доступ к скомпрометированному компьютеру (backdoor). На момент написания прошлого анализа, специалистам ESET не было ясно то, каким образом жертвы подвергались компрометации OSX/Keydnap. Мы предполагали, что злоумышленники могли использовать для этого вложения при распространении фишинговых сообщений, а также размещать вредоносную программу на нелегитимных веб-сайтах.
Однако, на этот раз, мы обнаружили метод распространения Keydnap с привлечением легитимного веб-сайта. Исполняемый файл бэкдора распространяется с помощью перекомпилированной версии приложения open-source клиента BitTorrent под названием Transmission. При этом его загрузка была возможна с легитимного веб-сайта приложения, а само приложение подписано цифровой подписи.
После того, как специалисты ESET уведомили разработчиков Transmission об указанной проблеме, они оперативно предприняли меры для удаления вредоносного файла с веб-сервера и начали расследование данного инцидента с целью выяснить причину публикации вредоносного файла. На момент написания нашего анализа невозможно было точно сказать, когда именно этот файл стал доступен для загрузки с официального ресурса. Согласно информации цифровой подписи, дистрибутив приложения был подписан 28 августа 2016 г. и распространялся, видимо, на следующий день. Таким образом, мы рекомендуем все пользователям, которые загрузили приложение Transmission версии 2.92 в промежуток времени между 28 и 29 августа, включительно, проверить факт заражения системы вредоносным ПО путем проверки присутствия в ней нижеуказанных файлов и каталогов.
- /Applications/Transmission.app/Contents/Resources/License.rtf
- /Volumes/Transmission/Transmission.app/Contents/Resources/License.rtf
- $HOME/Library/Application Support/com.apple.iCloud.sync.daemon/icloudsyncd
- $HOME/Library/Application Support/com.apple.iCloud.sync.daemon/process.id
- $HOME/Library/LaunchAgents/com.apple.iCloud.sync.daemon.plist
- /Library/Application Support/com.apple.iCloud.sync.daemon/
- $HOME/Library/LaunchAgents/com.geticloud.icloud.photo.plist
Присутствие одного из вышеперечисленных файлов или директорий означает заражение системы вредоносным ПО Keydnap. Также следует отметить, что название вредоносного образа приложения соответствует Transmission2.92.dmg, в то время как легитимное название имеет вид Transmission-2.92.dmg.
Сходство с KeRanger
В марте 2016 компания Palo Alto Networks опубликовала информацию об обнаружении первого вымогателя для OS X. На самом деле, Keydnap использует аналогичный метод для своего распространения.
В обоих случаях, вредоносный фрагмент кода добавлялся в код главной функции приложения Transmission. Тот код приложения, который отвечает за сброс на диск и запуск вредоносной полезной нагрузки очень похож в обоих случаях.
Основная функция Transmission с вредоносным кодом, которая запускает на исполнение OSX/KeRanger.
Основная функция Transmission с вредоносным кодом, которая запускает на исполнение OSX/Keydnap.
Как и в случае с KeRanger, вредоносный дистрибутив приложения Transmission был подписан цифровым сертификатом. Этот сертификат отличен от оригинального, но также был выдан Apple и может использоваться для обхода защиты антивирусной защиты инструмента Gatekeeper.
# Malicious Transmission.app $ codesign -dvvv /Volumes/Transmission/Transmission.app Executable=/Volumes/Transmission/Transmission.app/Contents/MacOS/Transmission Identifier=org.m0k.transmission Format=app bundle with Mach-O thin (x86_64) CodeDirectory v=20200 size=6304 flags=0x0(none) hashes=308+3 location=embedded Hash type=sha1 size=20 CandidateCDHash sha1=37ffe70260919ee70e9f2a601d5ad00e2dd5a011 Hash choices=sha1 CDHash=37ffe70260919ee70e9f2a601d5ad00e2dd5a011 Signature size=4255 Authority=Developer ID Application: Shaderkin Igor (836QJ8VMCQ) Authority=Developer ID Certification Authority Authority=Apple Root CA Signed Time=Aug 28, 2016, 12:09:55 PM Info.plist entries=38 TeamIdentifier=836QJ8VMCQ Sealed Resources version=2 rules=12 files=331 Internal requirements count=1 size=212
# Clean Transmission.app $ codesign -dvvv /Volumes/Transmission/Transmission.app
Executable=/Volumes/Transmission/Transmission.app/Contents/MacOS/Transmission Identifier=org.m0k.transmission Format=app bundle with Mach-O thin (x86_64) CodeDirectory v=20200 size=6304 flags=0x0(none) hashes=308+3 location=embedded Hash type=sha1 size=20 CandidateCDHash sha1=a68d09161742573b09a17b8aef05f918a1cebcac Hash choices=sha1 CDHash=a68d09161742573b09a17b8aef05f918a1cebcac Signature size=8561 Authority=Developer ID Application: Digital Ignition LLC Authority=Developer ID Certification Authority Authority=Apple Root CA Timestamp=Mar 6, 2016, 3:01:41 PM Info.plist entries=38 TeamIdentifier=5DPYRBHEAR Sealed Resources version=2 rules=12 files=328 Internal requirements count=1 size=180
Специалисты ESET уведомили Apple о скомпрометированном цифровом сертификате.
Кроме схожего в обоих случаях метода распространения вредоносного ПО, Keydnap и KeRanger также используют одинаковые шаблоны URL-адресов при работе с C&C-сервером.
- KeRanger: /osx/ping?user_id=%s&uuid=%s&model=%s
- Keydnap: /api/osx?bot_id=%s&action=ping&data=%s (параметры передаются в качестве данных POST-запроса HTTP-протокола, зашифрованные с использованием RC4)
Keydnap обновился до версии 1.5
При отправке данных на C&C-сервер, Keydnap также уведомляет его о своей внутренней версии вредоносной программы. В новом экземпляре Keydnap мы обнаружили номер версии 1.5. Код этого экземпляра был по-прежнему упакован с использованием модифицированного упаковщика UPX, описанного в нашем предыдущем посте. Ранее, на ресурсе Github, наши специалисты разместили специальный патч для распаковки файла вредоносной программы, который также работает с новым вариантом.
Значительное изменение кода в новой версии заключается в присутствии там клиента анонимной сети Tor. Это позволяет Keydnap работать с управляющими C&C-серверами, которые используют домены onion сети Tor, без привлечения метода Tor2Web, например, ресурса onion.to.
Новая версия Keydnap также содержит в своем коде дополнительную команду с идентификатором 10, которая позволяет C&C-серверу установить новый URL-адрес для него и сохранить его на диск.
Изменению подвергся и ключ алгоритма RC4, который используется для шифрования данных POST HTTP-протокола и расшифровки ответа. Теперь он соответствует значению «u-4&LpZ!6Kgu^=$a».
В тело новой версии Keydnap жестко зашит следующий URL-адрес C&C-сервера: hxxp://t4f2cocitdpqa7tv.onion/api/osx.
Индикаторы компрометации (IoC)
Дистрибутив (пакет) скомпрометированного приложения
SHA-1: 07272d863ab77113e38e6ce3878c2162feb4893e
Название файла: Transmission2.92.dmg
Обнаружение ESET: OSX/Keydnap.C
Дроппер OSX/Keydnap
SHA-1: e0ef6a5216748737f5a3c8d08bbdf204d039559e
Название файла: Transmission
Обнаружение ESET: OSX/TrojanDropper.Agent.A
Бэкдор OSX/Keydnap
SHA-1: 8ca03122ee73d3e522221832872b9ed0c9869ac4
Обнаружение ESET: OSX/Keydnap.C
Адрес C&C-сервера: hxxp://t4f2cocitdpqa7tv.onion
Версия: 1.5
Автор: ESET NOD32