Следующая новость
Предыдущая новость

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

18.05.2018 12:46
Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

Содержание статьи

  • Возможности S8 data line locator
  • Подслушивание
  • Обратный звонок
  • Запрос геопозиции
  • Железо
  • Чипы
  • Коннекторы
  • USB (MTK)
  • Дамп прошивки
  • Скачиваем нужную ветку fernly
  • Дамп ПЗУ
  • Дамп флеш-памяти
  • Попытка записать флеш
  • Анализ
  • Сниффинг SIM (через SIMtrace)
  • Попытка поснифать GPRS (через OpenBTS)
  • Содержимое flash
  • Операторские логи звонков и детализация по счету
  • gpsui.net
  • Как искать жучки
  • Предстоящая работа
  • Проблемы
  • Идеи
  • Приложение: факап

Крошечные жучки с SIM-картой внутри, способные передавать голос и отслеживать местоположение, можно встроить в любую электронику, в том числе — в обычный провод. В образовательных целях мы распотрошим такое устройство, изучим его прошивку, найдем скрытые команды и обнаружим, как он молча шлет данные на китайский сервис. Который еще и оказался уязвимым! Но обо всем по порядку.

INFO

Это перевод статьи Inside a low budget consumer hardware espionage implant. Переводчик — Андрей Письменный. Материал публикуется с разрешения автора.

Какое-то время назад Джо Фитц написал в твиттере об устройстве под названием S8 data line locator и назвал его «просачивающимся шпионажем» из-за того, что он похож на шпионское оборудование АНБ.

S8 data line locator — это подслушивающее устройство, снабженное модулем GSM, которое умещается в штепселе обычного кабеля USB для зарядки и передачи данных. Оно поддерживает частоты GSM 850, 900, 1800 и 1900 МГц.

Идея, лежащая в основе, очень напоминает продуктовую линейку COTTONMOUTH, выпускаемую по заказу АНБ и CSS, — там радиопередатчик тоже спрятан в вилку USB (см. утекший отчет на cryptome.org — PDF). Такие устройства называют имплантами.

Само устройство рекламируется как трекер геолокации, который можно использовать в машине: угонщик не примет кабель USB за маячок. Но сложно не заметить и возможность применения такого устройства во вред. Особенно учитывая, что точность определения геокоординат очень примерная (в моих тестах погрешность составляла 1,57 км). Зато можно позвонить на него и слушать аудио, передаваемое маленьким микрофоном, находящимся внутри. Либо устройство само может позвонить, если определит, что звук превышает предел в 40–45 дБ. Ну и совсем никаких сомнений в том, что шпионаж — основное применение этого гаджета, не остается, если учесть, что оно легко запаковывается обратно в фабричную упаковку после установки SIM-карты и настройки.

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

Возможности S8 data line locator

У устройства есть несколько возможностей для подслушивания и шпионажа. Только взгляни на лог переписки с устройством по SMS.

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

Подслушивание

Если звонить на S8 data line locator в течение десяти секунд, будет установлено соединение, и ты услышишь все, что слышит микрофон внутри устройства.

Обратный звонок

SMS с текстом 1111 на устройство активирует обратный звонок. В подтверждение этого придет SMS с ответом:

DT: Set voice monitoring, voice callback and sound sensitivity:400 

Как только уровень звука поднимется до 40 дБ, устройство перезвонит на тот номер, с которого была прислана команда.

Для отключения обратного звонка нужно отправить SMS с кодом 0000. Ответ будет выглядеть так:

DT: Voice monitoring cancelled successfully. 

Запрос геопозиции

В инструкции написано, что, если отправить по SMS команду dw, устройство в ответ пришлет информацию о своем местоположении. Выглядит это так:

Loc:Street, ZIP City, Country http://gpsui.net/u/xxxx Battery: 100% 

Вместо xxxx будут символы 0–9, A–Z, a–z, а вместо строки Street, ZIP City, Country — название улицы, почтовый индекс, город и страна. По ссылке на http://gpsui.net можно перейти без авторизации, она перенаправит на Google Maps.

Получить местоположение с погрешностью меньше чем в 1,57 км у меня ни разу не вышло.

Делая запрос, устройство использует мобильный трафик для доступа к неизвестному эндпойнту (предположительно gpsui.net). Это подтверждается тем, что мой оператор снял с меня деньги за MMS/Internet. Разницы между MMS и использованием интернета он не указывает, но я беру на себя смелость предположить, что запрос был сделан во время определения местоположения. Именно это и стало отправной точкой для моего анализа.

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

WARNING

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

Дальше я попытался проанализировать и уничтожить эту «фичу» с отстуком куда-то.

Железо

Чтобы получить доступ к внутренностям устройства, сначала нужно снять металлическую защиту коннектора USB.

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

Теперь снимаем пластиковую крышку.

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

Чипы

После вскрытия устройства, определяем, что за чипы на нем установлены.

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

Обнаруживаем:

  • MediaTek MT6261MA — низкобюджетный чип, который часто используется в умных часах китайского производства. Никакой официальной документации или информации о чипе компания MediaTek не публиковала;
  • RDA 6626e — «мощный, высокоэффективный четырехканальный фронтэнд-модуль… созданный для установки в мобильные устройства с поддержкой сетей GSM850, EGSM900, DCS1800, PCS1900».

Коннекторы

Я идентифицировал три разных способа подключиться к устройству.

USB (сквозной)

Коннекторы USB A и Micro-B не подсоединены к MT6261MA. Они просто передают сигнал от одного к другому.

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

UART

Следующее соединение — это UART.

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

Соединение с ним занимает примерно три секунды после загрузки устройства.

screen /dev/ttyUSB0 115200 # 8N1  F1: 0000 0000 V0: 0000 0000 [0001] 00: 1029 0001 01: 0000 0000 U0: 0000 0001 [0000] G0: 0002 0000 [0000] T0: 0000 0C73 Jump to BL  ~~~ Welcome to MTK Bootloader V005 (since 2005) ~~~ **===================================================**  Bye bye bootloader, jump to=0x1000a5b0 

Вывод на этом обрывается, а ввод игнорируется.

Похоже, существует другая версия прошивки, которая может обрабатывать модемные команды AT. В приветствии этой альтернативной прошивки упомянут некто ZhiPu. Я тоже натыкался на эту строку, когда изучал файловую систему FAT12 прошивки, так что какая-то связь определенно есть.

Вот как выглядит вывод у схожего устройства.

F1: 0000 0000 V0: 0000 0000 [0001] 00: 1029 0002        01: 0000 0000 U0: 0000 0001 [0000] G0: 0002 0000 [0000] T0: 0000 0C73        Jump to BL     ~~~ Welcome to MTK Bootloader V005 (since 2005) ~~~ **===================================================**                                                          Bye bye bootloader, jump to=0x1000a5b0  LOG: RegisterSn:  LOG: ZhiPu_sock_buf_init malloc= 217780, 217180, 216940 LOG: ZhiPu_mmi_get_imsi_request LOG: ZhiPu_system_init VERSION= MTK6261M.T16.17.01.10 , build date is 2017/01/10 17:33, curtime 2004-01-01 00:00 LOG: g_zhipu_imei=  LOG: ----- 0 -----  ----- -268081676 -----  ----- 2 ----- LOG: ZhiPu_sms_ready_sync LOG: ZhiPu System Language: English LOG: service_availability= 0,ChargerConnected= 1,poweron_mode= 0 LOG: sim invalid, 4 minutes later reboot LOG: ----- 0 -----  ----- 83 -----  ----- 2 ----- LOG: idle_screen_network_name:Same IMEI 

USB (MTK)

Контакты DP и DM коннектора USB не подсоединены к линиям D+ и D-, зато V и GND подсоединены. DP и DM вместо этого подведены к MT6261MA, как показано на картинке.

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

Припаиваем кабель USB к коннекторам.

Вскрываем хардверный имплант. Как устроен девайс для слежки, замаскированный под кабель USB

Теперь устройство будет распознаваться как телефон MediaTek, подключенный по USB.

ID 0e8d:0003 MediaTek Inc. MT6227 phone 

Этот метод часто называют «починкой бута MTK», «флешем MTK DM DP» и так далее. Он позволит нам общаться с устройством и сделать дамп ПЗУ и флеш-памяти прошивки.

Продолжение доступно только подписчикам

Материалы из последних выпусков можно покупать отдельно только через два месяца после публикации. Чтобы продолжить чтение, необходимо купить подписку.

Подпишись на «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

1 год

6890 р.

Экономия 1400 рублей!

1 месяц

720 р.

25-30 статей в месяц

Уже подписан?

Источник

Последние новости