Цепочка iOS-эксплойтов используется для распространения шпионского импланта LightSpy

10 января 2020 года мы обнаружили сайт, который использовался для атаки типа watering hole, целью которой было внедрение многофункционального импланта LightSpy с помощью удаленной цепочки эксплойтов для iOS. Судя по содержимому стартовой страницы этого сайта, он нацелен на пользователей из Гонконга. С момента обнаружения сайта мы выпустили два приватных отчета, в которых подробно рассказали о процедуре распространения, эксплойтах, инфраструктуре и имплантах LightSpy.

Страница сайта, использованного для атаки watering hole

Мы временно назвали стоящую за атакой APT-группу TwoSail Junk, настоящее время мы располагаем фактами, которые могут указывать на связь этой кампании с предыдущими операциями. В частности, мы пытаемся установить, связан ли зловред LightSpy с предыдущей деятельностью китайскоговорящей APT-группы SpringDragon (aka LotusBlossom/Billbug(Thrip) , известной своими бэкдорами Lotus Elise и Evora. , О деятельности LightSpy уже публично рассказывали наши коллеги из компании TrendMicro, и мы хотим добавить недостающие сведения, не дублируя уже известную информацию. Также мы сообщили об этом зловреде и его активности в Apple и другие компании, на деятельность которых он мог повлиять.

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

  • Хронология атаки: дополнительная информация, подробно описывающая ключевые события, связанные с развертыванием LightSpy, включая как выпуск эксплойтов, так и обновление отдельных компонентов импланта LightSpy для iOS.
  • Распространение: дополнительные технические подробности о различных методах, используемых для доставки вредоносных ссылок жертвам.
  • Инфраструктура: дополнительная информация о существующем RDP-сервере TwoSail Junk, панели администрирования LightSpy и находках, сделанных на основе анализа ее кода.
  • Имплант для Android и использование бэкдора «evora»: дополнительная информация об импланте для Android и соответствующей инфраструктуре. Проанализировав инфраструктуру, описанную в предыдущем разделе, мы нашли связанные с ней импланты и вредоносные бэкдоры, позволяющие нам с низкой степенью уверенности связать данную кампанию с ранее известной APT-группой SpringDragon.

Дополнительная информация о LightSpy доступна клиентам, подписанным на отчеты «Лаборатории Касперского» об APT-угрозах. Для получения подписки свяжитесь с нами intelreports@kaspersky.com

Хронология внедрения

В ходе нашего расследования мы заметили, что злоумышленники модифицировали некоторые входящие в цепь эксплойтов компоненты, существенно переработав их 7 февраля 2020 года и внеся незначительные изменения 5 марта 2020 года.

Рис. 1. Краткая хронология событий, связанных с LightSpy

Первая замеченная версия WebKit эксплойта , датированная 10 января 2020 года, была очень похожа на экспериментальный прототип и содержала кнопки, предупреждающие сообщения и большой объем отладочного вывода. Во второй версии было закомментировано или удалено множество операторов отладочного вывода, операторы alert() заменены на print(), а также появились некоторые языковые ошибки, например «your device is not support…» и «stab not find…».

Анализируя изменения в WebKit-эксплойте первого этапа, мы обнаружили, что список поддерживаемых устройств также был значительно расширен:
Табл. 1. Расширение поддержки эксплойтом версий iOS

Устройство Версия iOS Поддержка на 10 января Поддержка на 7 февраля
iPhone 6 11.03 +
iPhone 6S 12.01 + закомментировано
12.2 +
iPhone 7 12.1 +
12.11 + +
12.12 + +
12.14 +
12.2 +
iPhone 7+ 12.2 +
iPhone 8 12.2 +
iPhone 8+ 12.2 +
iPhone X 12.2 +

Как видно из приведенных выше данных, злоумышленники активно изменяли компоненты имплантов, поэтому мы приводим полный хронологический список хэшей в разделе «Индикаторы заражения» в конце данного отчета. Многие изменения были незначительными и не влияли напрямую на функциональность каждого компонента, но были и исключения, которые будут более подробно описаны ниже. Наблюдая за этими изменениями в течение относительно небольшого промежутка времени, мы можем предположить, что злоумышленники реализовали достаточно гибкий процесс разработки, причем ее скорость, похоже, являлась более важным аспектом, чем скрытность или качество.

Одно из интересных наблюдений касается плагина EnvironmentalRecording (MD5: ae439a31b8c5487840f9ad530c5db391), который представляет собой динамически подключаемую библиотеку, отвечающую за запись окружающего звука и телефонных звонков. 7 февраля 2020 года мы заметили новую версию этого плагина (MD5: f70d6b3b44d855c2fb7c662c5334d1d5), имеющего такое же имя, но кроме этого ничем не похожего на предыдущий. Этот новый файл не содержал никаких путей окружения, меток версий и других следов родительского шаблона, наблюдаемого во всех остальных плагинах. Его единственной целью было удаление компонентов импланта путем стирания всех файлов, расположенных в каталогах /var/iolight/, /bin/light/ и /bin/irc_loader/. Пока мы не знаем точно, намеревались ли злоумышленники заменить исходный плагин пакетом для удаления или это было результатом небрежности либо путаницы, вызванной слишком быстрым процессом разработки.

Другой пример возможной ошибки – плагин Screenaaa. Первая версия (MD5: 35fd8a6eac382bfc95071d56d4086945), которая была развернута 10 января 2020 года, выполняла ожидаемые действия: это был небольшой плагин, который делал скриншот и сохранял его в новый каталог в формате JPEG. Однако плагин (MD5: 7b69a20920d3b0e6f0bffeefdce7aa6c) с тем же именем, который был развернут на его месте 7 февраля, осуществлял совершенно другие функции. Этот двоичный файл на самом деле был средством сканирования локальной сети, созданным на базе MMLanScan, – проекта с открытым исходным кодом для iOS, который сканирует сеть и показывает доступные устройства, включая их MAC-адреса, имена хостов и имена производителей. Вероятнее всего, этот плагин по ошибке попал в полезную нагрузку от 7 февраля под тем же именем, что и плагин для создания скриншотов.

Рис. 2. Схема взаимодействия между компонентами импланта iOS LightSpy

Распространение

Мы не можем однозначно утверждать, что нам известны все используемые злоумышленниками механизмы распространения LightSpy. Мы точно знаем, что в прошлых кампаниях целенаправленный выход на жертв осуществлялся путем прямой отправки сообщений в различных социальных сетях. Кроме того, и в наших отчетах, и предыдущих отчетах других исследователей отмечается широкое и не слишком целенаправленное использование группой TwoSail Junk различных форумов. Сообщения со ссылками на форумах направляли посетителей на веб-страницы, которые содержали элементы iframe, запускающими цепочку эксплойтов. Помимо всего прочего, киберпреступники также использовали каналы в Telegram и публикации в Instagram.

Известно, что эти сайты и социальные сети часто используются некоторыми группами активистов.

Рис. 3. Процесс заражения смартфонов iPhone зловредом LightSpy

Исходный сайт (hxxps://appledaily.googlephoto[.]vip/news[.]html) 10 января 2020 года своим оформлением имитировал известную гонконгскую газету Apple Daily – его создатели скопировали HTML-код оригинала.

Рис. 4. Исходный код HTML-страницы, имитирующей оформление газеты Apple Daily

Однако на тот момент мы не обнаружили никаких признаков того, что ссылки на данный сайт намеренно размещаются в сети. По данным Kaspersky Security Network, массовая кампания по распространению началась только 18 февраля 2020 года.

Таблица 2. Домены и URL-адреса связанных с LightSpy элементов iframe с метками времени первого обнаружения

С 18 февраля злоумышленники начали использовать невидимые элементы iframe для перенаправления потенциальных жертв с ресурса-приманки на сайт с эксплойтом; для демонстрации контента с благонадежного новостного сайта-приманки также использовался элемент iframe.

Рис. 5. Исходный код HTML-страницы с приманкой и эксплойтом

Инфраструктура

Улики, связанные с RDP

Использованный в ходе «watering hole» атаки домен (googlephoto[.]vip) был зарегистрирован через сервис GoDaddy 24 сентября 2019 года. Никакой открытой регистрационной информации по этому домену получить не удалось. Поддомен (appledaily.googlephoto[.]vip) начал резолвиться в IP-адрес 103.19.9[.]185 10 января 2020 года и с тех пор не перемещался. Сервер находится в Сингапуре и размещается на ресурсах компании Beyotta Network, LLP.

Во время нашего первоначального исследования сервер прослушивал порты 80 (HTTP) и 3389 (RDP с включенным протоколом SSL/TLS). Сертификат сервера является самоподписанным и был создан 16 декабря 2019 года. По данным Shodan от 21 декабря 2019 года на сервере был замечен вошедший в систему пользователь с именем SeinandColt.

Рис. 6. Скриншот страницы входа RDP для сервера 103.19.9[.]185

Панель администрирования

Командный сервер полезной нагрузки для iOS (45.134.1[.]180), как оказалось, имеет также панель администрирования на TCP-порте 50001.

По всей видимости, панель администрирования – созданное в среде Vue.js приложение, упакованное с помощью Webpack. В нем два языковых пакета – английский и китайский. Беглый анализ дает представление о реальном масштабе фреймворка:

Разбирая файл index.js данной панели, можно заметить некоторые интересные конфигурации – конфигурацию пользователя, список приложений, список журналов и другие параметры.
Переменная userConfig указывает другие возможные платформы, на которые могли быть направлены атаки этих злоумышленников, в том числе Linux, Windows, Mac и маршрутизаторы.

Еще один интересный параметр – закомментированная переменная app_list. В ней указаны два распространенных приложения (QQ и Miapoi), которые используются для стриминга и чатов, главным образом в Китае. Далее мы видим, что координаты на карте в конфигурации по умолчанию указывают прямо на ворота Тяньаньмэнь в Пекине, однако, скорее всего, это просто стандартное символическое обозначение центра Пекина, используемое в картографических приложениях.

Имплант для Android и использование бэкдора evora
В ходе анализа инфраструктуры, связанной с распространением имплантов для iOS, мы также обнаружили ссылку на вредоносную программу для Android – hxxp://app.hkrevolution[.]club/HKcalander[.]apk (MD5: 77ebb4207835c4f5c4d5dfe8ac4c764d).
Согласно артефактам, найденным в кэше Google, эта ссылка распространялась через Telegram-каналы winuxhk и brothersisterfacebookclub, а также в конце ноября 2019 года через публикации в Instagram с сообщением-приманкой на китайском языке, которое переводится как: «Приложение-календарь для жителей Гонконга доступно в Интернете ~~~ Присоединяйтесь к новому движению за демократию и свободу в Гонконге. Нажмите, чтобы загрузить приложение и поддержать борьбу. В настоящее время доступна только версия для Android».

При дальнейшем техническом анализе APK-файла была обнаружена метка времени его реальной сборки – 04.11.2019, 18:12:33. В качестве командного сервера он использует поддомен домена, с которого распространялся имплант для iOS – hxxp://svr.hkrevolution[.]club:8002.

В его коде содержится ссылка на другой домен:

Проверив этот сервер, мы обнаружили, что он хостит другой имплант, связанный с этой кампанией:

MD5 fadff5b601f6fca588007660934129eb
URL hxxp://movie.poorgoddaay[.]com/MovieCal[.]apk
C2 hxxp://app.poorgoddaay[.]com:8002
Метка времени сборки 2019-07-25 21:57:47

Вектор распространения остается прежним – сообщения в Telegram-каналах:

Последний замеченный образец импланта для Android размещается на необычном в контексте этой кампании сервере – xxinc-media[.]oss-cn-shenzhen.aliyuncs[.]com. Мы предполагаем, что злоумышленники постепенно распределяют iOS- и Android- операции в разные части инфраструктуры.

MD5 5d2b65790b305c186ef7590e5a1f2d6b
URL hxxps://xxinc-media.oss-cn-shenzhen.aliyuncs[.]com/calendar-release-1.0.1.apk
C2 hxxp://45.134.0[.]123:8002
Метка времени сборки 2020-01-14 18:30:30

Пока мы не наблюдали никаких признаков распространения этого URL в сети.

Изучая домен poorgoddaay[.]com, который не только служил для размещения вредоносного APK-файла, но и был командным сервером злоумышленников, мы обнаружили два поддомена, представляющих особый интерес:

  1. zg.poorgoddaay[.]com
  2. ns1.poorgoddaay[.]com

Совместно с партнерами нам удалось выявить несколько образцов бэкдора evora, которые использовали эти поддомены в качестве командных серверов. Далее, используя нашу систему атрибуции Kaspersky Threat Attribution Engine (KTAE), мы обнаружили, что предоставленные партнерами образцы, использующие эти поддомены, на 99% схожи с предыдущими бэкдорами, распространявшимися группой SpringDragon.

Нам известно и о других недавних родственных образцах зловреда evora, которые обращаются к тем же самым подсетям и при этом также нацелены на организации в Гонконге. Эти дополнительные факторы помогают получить по крайней мере небольшую уверенность в том, что данная активность с связана с группой SpringDragon/LotusBlossom/Billbug.

Заключение

Рассмотренные здесь платформа и инфраструктура являются интересным примером гибкого подхода к разработке и развертыванию шпионского фреймворка в Юго-Восточной Азии. Такой инновационный подход мы уже видели ранее у группы SpringDragon, при этом географическое расположение целей LightSpy находится в пределах области расположения целей APT-группы SpringDragon/LotusBlossom/Billbug. Это же относится и к инфраструктуре и использованию бэкдора evora.

Источник: wikimedia.org

Индикаторы заражения

Хэш-суммы файлов

payload.dylib
9b248d91d2e1d1b9cd45eb28d8adff71 (Jan 10, 2020)
4fe3ca4a2526088721c5bdf96ae636f4 (Feb 7, 2020)

ircbin.plist
e48c1c6fb1aa6c3ff6720e336c62b278 (Jan 10, 2020)

irc_loader
53acd56ca69a04e13e32f7787a021bb5 (Jan 10, 2020)

light
184fbbdb8111d76d3b1377b2768599c9 (Jan 10, 2020)
bfa6bc2cf28065cfea711154a3204483 (Feb 7, 2020)
ff0f66b7089e06702ffaae6025b227f0 (Mar 5, 2020)

baseinfoaaa.dylib
a981a42fb740d05346d1b32ce3d2fd53 (Jan 10, 2020)
5c69082bd522f91955a6274ba0cf10b2 (Feb 7, 2020)

browser
7b263f1649dd56994a3da03799611950 (Jan 10, 2020)

EnvironmentalRecording
ae439a31b8c5487840f9ad530c5db391 (Jan 10, 2020)
f70d6b3b44d855c2fb7c662c5334d1d5 (Feb 7, 2020)

FileManage
f1c899e7dd1f721265cc3e3b172c7e90 (Jan 10, 2020)
ea9295d8409ea0f1d894d99fe302070e (Feb 7, 2020)

ios_qq
c450e53a122c899ba451838ee5250ea5 (Jan 10, 2020)
f761560ace765913695ffc04dfb36ca7 (Feb 7, 2020)

ios_telegram
1e12e9756b344293352c112ba84533ea (Jan 10, 2020)
5e295307e4429353e78e70c9a0529d7d (Feb 7, 2020)

ios_wechat
187a4c343ff4eebd8a3382317cfe5a95 (Jan 10, 2020)
66d2379318ce8f74cfbd0fb26afc2084 (Feb 7, 2020)

KeyChain
db202531c6439012c681328c3f8df60c (Jan 10, 2020)

locationaaa.dylib
3e7094eec0e99b17c5c531d16450cfda (Jan 10, 2020)
06ff47c8108f7557bb8f195d7b910882 (Feb 7, 2020)

Screenaaa
35fd8a6eac382bfc95071d56d4086945 (Jan 10, 2020)
7b69a20920d3b0e6f0bffeefdce7aa6c (Feb 7, 2020)

ShellCommandaaa
a8b0c99f20a303ee410e460730959d4e (Jan 10, 2020)

SoftInfoaaa
8cdf29e9c6cca6bf8f02690d8c733c7b (Jan 10, 2020)

WifiList
c400d41dd1d3aaca651734d4d565997c (Jan 10, 2020)

Вредоносное ПО для Android
77ebb4207835c4f5c4d5dfe8ac4c764d
fadff5b601f6fca588007660934129eb
5d2b65790b305c186ef7590e5a1f2d6b

Обнаруженный ранее похожий зловред evora группы SpringDragon
1126f8af2249406820c78626a64d12bb
33782e5ba9067b38d42f7ecb8f2acdc8

Домены и IP-адреса

Командный сервер импланта
45.134.1[.]180 (iOS)
45.134.0[.]123 (Android)
app.poorgoddaay[.]com (Android)
svr[.]hkrevolution[.]club (Android)

Страница эксплойта для WebKit
45.83.237[.]13
messager[.]cloud

Распространение
appledaily.googlephoto[.]vip
www[.]googlephoto[.]vip
news2.hkrevolution[.]club
news.hkrevolution[.]club
www[.]facebooktoday[.]cc
www[.]hkrevolt[.]com
news.hkrevolt[.]com
movie.poorgoddaay[.]com
xxinc-media[.]oss-cn-shenzhen.aliyuncs[.]com

Связанные поддомены
app.hkrevolution[.]club
news.poorgoddaay[.]com
zg.poorgoddaay[.]com
ns1.poorgoddaay[.]com

Полный список команд для мобильных устройств

change_config
exe_cmd
stop_cmd
get_phoneinfo
get_contacts
get_call_history
get_sms
delete_sms
send_sms
get_wechat_account
get_wechat_contacts
get_wechat_group
get_wechat_msg
get_wechat_file
get_location
get_location_coninuing
get_browser_history
get_dir
upload_file
download_file
delete_file
get_picture
get_video
get_audio
create_dir
rename_file
move_file
copy_file
get_app
get_process
get_wifi_history
get_wifi_nearby
call_record
call_photo
get_qq_account
get_qq_contacts
get_qq_group
get_qq_msg
get_qq_file
get_keychain
screenshot

Публикации на схожие темы

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *