HackingTeam 2.0
Прошло более года с момента публикации нашей последней статьи об итальянской компании HackingTeam, производящей «легальную» шпионскую программу Remote Control System (RCS). За это время многое изменилось, и пришла пора рассказать о новых результатах наших исследований этой вредоносной программы.
Расположение командных серверов
За время наших глубоких и долгих исследований мы обнаружили несколько важных вещей, самой существенной из которых является характерный признак, по которому можно распознать командные сервера RCS. Подробности этого метода мы представили на конференции Virus Bulletin 2013.
Вкратце: когда на «безвредный» командный сервер RCS посылается специальный запрос, командный сервер в ответ выдает следующее сообщение об ошибке:
Во-первых, сразу обращает на себя внимание кодовое слово «RCS». У нас были сомнения по поводу того, что может в данном ответе означать слово «Collector». Вероятно, это связано с тем, что сервер «собирает» информацию с зараженных компьютеров. Имея в виду этот характерный признак, мы просканировали все пространство IPv4 и нашли IP-адреса всех командных серверов RCS по всему миру. Местоположение найденных серверов мы нанесли на карту. Всего обнаружилось 326 командных серверов.
Количество командных серверов | Страна |
64 | США |
49 | КАЗАХСТАН |
35 | ЭКВАДОР |
32 | ВЕЛИКОБРИТАНИЯ |
24 | КАНАДА |
15 | КИТАЙ |
12 | КОЛУМБИЯ |
7 | ПОЛЬША |
7 | НОВАЯ ЗЕЛАНДИЯ |
6 | ПЕРУ |
6 | ИНДОНЕЗИЯ |
6 | БРАЗИЛИЯ |
6 | БОЛИВИЯ |
6 | АРГЕНТИНА |
5 | РОССИЙСКАЯ ФЕДЕРАЦИЯ |
5 | ИНДИЯ |
4 | ГОНГКОНГ |
4 | АВСТРАЛИЯ |
3 | ИСПАНИЯ |
2 | САУДОВСКАЯ АРАВИЯ |
2 | МАЛАЙЗИЯ |
2 | ИТАЛИЯ |
2 | ГЕРМАНИЯ |
2 | ФРАНЦИЯ |
2 | ЕГИПЕТ |
1 | УКРАИНА |
1 | ТАИЛАНД |
1 | ШВЕЦИЯ |
1 | СИНГАПУР |
1 | РУМЫНИЯ |
1 | ПАРАГВАЙ |
1 | МАРОККО |
1 | ЛИТВА |
1 | КЕНИЯ |
1 | ЯПОНИЯ |
1 | ИРЛАНДИЯ |
1 | ВЕНГРИЯ |
1 | ДАНИЯ |
1 | ЧЕХИЯ |
1 | КИПР |
1 | БЕЛЬГИЯ |
1 | АЗЕРБАЙДЖАН |
1 | ПРОЧИЕ |
Местонахождение текущих серверов HackingTeam на карте мира
Больше всего серверов обнаружено в США, Казахстане и Эквадоре. К сожалению, нельзя быть уверенными в том, что сервера, расположенные в определенной стране, используются соответствующими спецслужбами той же страны. Однако спецслужбам имеет смысл размещать командные сервера в своих странах, чтобы избежать юридических проблем с другими странами и изъятия серверов. Тем не менее, на основе информации WHOIS для некоторых IP-адресов было установлено, что они имеют отношение к государственным организациям; там же есть вполне определенное указание на то, кому они принадлежат.
Мобильные модули
Уже довольно давно было известно, что HackingTeam производит и вредоносные программы для мобильных телефонов. Однако на практике такие зловреды попадались редко. В частности, троянцы для Android и iOS никогда до этого не обнаруживались и были одним из оставшихся белых пятен в этой истории. В этом году мы обнаружили несколько модулей от мобильных вредоносных программ, созданных HackingTeam для следующих платформ:
- Android
- iOS
- Windows Mobile
- BlackBerry
Все эти модули управляются конфигурационными файлами, имеющими одинаковый формат – это с хорошей долей вероятности указывает на то, что они имеют отношение друг к другу и принадлежат одному семейству.
Конфигурационный файл из мобильных модулей RCS
Ввиду популярности iOS и Android мы, естественно, обращали на эти платформы основное внимание при анализе мобильных модулей. Модуль для iOS работает только на устройствах, подвергшихся джейлбрейкингу. Вот список основных функциональных возможностей модуля для iOS:
- Контроль над Wi-Fi, GPS, GPRS
- Запись голоса
- E-mail, SMS, MMS
- Получение списка файлов
- Cookie-файлы
- Доступ к списку посещенных URL-ссылок
- Веб-страницы, сохраненные в кэше
- Адресная книга (список контактов)
- История звонков
- Заметки
- Календарь
- Буфер обмена
- Список приложений
- Детектирование смены SIM-карты
- Микрофон в режиме реального времени
- Снимки с камеры
- Поддержка чатов, WhatsApp, Skype, Viber
- Запись нажатия клавиш во всех приложениях и экранах через библиотеку libinjection
Дизассемблированный код модуля iOS
Модуль для Android защищен оптимизатором/обфускатором DexGuard, и потому его очень сложно анализировать. Однако мы обнаружили, что образец обладает всем функционалом вышеописанного модуля iOS, а также поддерживает кражу информации из следующих приложений:
- com.tencent.mm
- com.google.android.gm
- android.calendar
- com.facebook
- jp.naver.line.android
- com.google.android.talk
Фрагмент модуля RCS Android
Модуль заражения мобильных устройств
Для нас также представляло особый интерес то, как образцы мобильных зловредов устанавливаются на мобильных устройствах. Мы обнаружили несколько модулей, которые заражают мобильные устройства при подсоединении их к зараженным компьютерам, работающим под Windows или Mac OS X.
Как уже говорилось, модуль iOS может использоваться только на устройствах, подвергшихся джейлбрейкингу. Вот почему модуль заражения iOS при передаче использует протокол AFP2. У этого модуля есть неплохой графический интерфейс, который позволяет произвести установку при наличии физического доступа к устройству-жертве или удаленного доступа с правами администратора к зараженному компьютеру.
Основное окно модуля заражения iOS
iPhone1,1 | iPhone1,2 | iPhone2,1 |
iPhone3,1 | iPhone3,2 | iPhone3,3 |
iPhone4,1 | iPhone5,1 | iPhone5,2 |
iPad1,1 | iPad2,1 | iPad2,2 |
iPad2,3 | iPad2,4 | iPad3,1 |
iPad3,2 | iPad3,3 | iPad3,4 |
iPad3,5 | iPad3,6 | iPhone |
iPhone 3G | iPhone 3GS | iPhone 4 |
iPhone 4 | iPhone 4 (cdma) | iPhone 4s |
iPhone 5 (gsm) | iPhone 5 | iPad |
iPad2 (Wi-Fi) | iPad2 (gsm) | iPad2 (cdma) |
iPad2 (Wi-Fi) | iPad3 (Wi-Fi) | iPad3 (gsm) |
iPad3 | iPad4 (Wi-Fi) | iPad4 (gsm) |
iPad4 |
Список устройств Apple, поддерживаемых модулем заражения iOS
Установив соединение, модуль заражения iOS копирует на устройство несколько файлов и запускает файл install.sh:
Часть файла install.sh, запускаемого на зараженном iOS-устройстве
Как мы уже сказали, удаленный доступ с правами администратора к зараженному компьютеру – это один из способов, при помощи которых вредоносное ПО может быть установлено на подсоединенное мобильное устройство. Ограничением может быть только то, что поддерживаются только iOS-устройства, которые подверглись джейлбрейкингу. Тем не менее, эта проблема не является непреодолимой – через тот же зараженный компьютер киберпреступник может запустить утилиту для джейлбрейкинга, например Evasi0n. В этом случае от удаленного джейлбрейкинга и последующего заражения может защитить только код доступа, установленный на мобильном устройстве. Однако если устройство разблокировано при присоединении к зараженному компьютеру, оно может быть заражено атакующей стороной.
Еще один интересный модуль заражения для мобильных устройств – это модуль для устройств BlackBerry, использующий приложение JavaLoader для загрузки образцов вредоносного ПО на BlackBerry 4.5 и 5.0. В его дизассемблированном коде находим путь к отладочному файлу PDB – похоже, авторы по ошибке забыли его стереть. В момент создания вредоносного кода оригинал находился по адресу C:\HT\RCSBlackBerry\Workspace\RCS_BB_Infection_Agent\.
Фрагмент кода модуля заражения Blackberry, содержащий путь к PDB-файлу
Заключение
В ходе наших исследований (которые еще продолжаются) мы обнаружили колоссальную сетевую инфраструктуру, которая используется для осуществления контроля над вредоносными модулями RCS, внедренными на компьютеры-жертвы. Мы обнаружили существование мобильных модулей, работающих на всех распространенных мобильных платформах, в т.ч. на Android и iOS. Эти модули устанавливаются при помощи модулей заражения – специальных исполняемых файлов для компьютеров Windows или Mac, которые запускаются на уже зараженных компьютерах. Эти файлы берут под полный контроль зараженную компьютерную среду и то, что к ней подключается. Незаметно включая микрофон и регулярно делая снимки с камеры, вредоносная программа осуществляет постоянное наблюдение за целью, что на выходе оказывается гораздо эффективнее традиционной слежки.
Публикуемые нами новые данные по зловреду RCS группы HackingTeam очень важны, поскольку они демонстрируют уровень сложности этих средств наблюдения и их масштаб. Нам бы хотелось думать, что если мы сможем защищать наших пользователей от настолько развитых передовых угроз, то сможем без проблем защищать от более распространенных угроз, которые исходят от киберпреступников.
Приложение
MD5-суммы модулей заражения для мобильных устройств:
- 14b03ada92dd81d6ce57f43889810087 – модуль заражения BlackBerry
- 35c4f9f242aae60edbd1fe150bc952d5 – модуль заражения для iOS
MD5-суммы самплов под Android:
- ff8e7f09232198d6529d9194c86c0791
- 36ab980a954b02a26d3af4378f6c04b4
- a2a659d66e83ffe66b6d728a52130b72
- 9f06db99d2e5b27b01113f78b745ff28
- a43ea939e883cc33fc766dd0bcac9f6a
- a465ead1fd61afe72238306c7ed048fe
MD5-суммы самплов под Windows:
- bf8aba6f7640f470a8f75e9adc5b940d
- b04ab81b9b796042c46966705cd2d201
- 1be71818a228e88918dac0a8140dbd34
- c7268b341fd68cf334fc92269f07503a
Список командных серверов, активных по состоянию на 19 июня 2014 г.:
- 50.63.180.***
- 146.185.30.***
- 204.188.221.***
- 91.109.17.***
- 106.186.17.***
- 119.59.123.***
- 95.141.46.***
- 192.71.245.***
- 106.187.99.***
- 93.95.219.***
- 106.187.96.***
- 124.217.245.***
- 23.92.30.***
- 82.146.58.***
- 93.95.219.***
- 209.59.205.***
Модули RCS (имена, под которыми их распознают решения «Лаборатории Касперского»):
- Backdoor.OSX.Morcut
- Rootkit.OSX.Morcut
- Trojan.OSX.Morcut
- Backdoor.Win32.Korablin
- Backdoor.Win64.Korablin
- Rootkit.Win32.Korablin
- Rootkit.Win64.Korablin
- Trojan.Multi.Korablin
- Trojan-Dropper.Win32.Korablin
- Backdoor.AndroidOS.Criag
- Trojan-Spy.AndroidOS.Mekir
- Trojan.Win32.BBInfector
- Trojan.Win32.IOSinfector
- Trojan.OSX.IOSinfector
- Trojan-Spy.IphoneOS.Mekir
- Trojan-Spy.WinCE.Mekir
- Trojan-Spy.BlackberryOS.Mekir