Як злочинці викрадають ваші номери та що таке SIM-хайджекінг? (Частина 2)

19.06.2024 4 хвилин Автор: Cyber Witcher

У першій частині статті ми зупинились на AT-командах. У цій частині ми розглянемо можливості SIM Application Toolkit (STK), які дозволяють оператору та додаткам взаємодіяти з SIM-картою для виконання різних завдань, включаючи управління мережевими функціями та безпекою. Особливу увагу приділено потенційним вразливостям STK та способам, якими зловмисники можуть використовувати ці функції для атак.

Disclaimer: Ця стаття підготовлена на основі інформації з відкритих джерел і має виключно освітню мету. Її мета — допомогти зрозуміти методи, які можуть використовувати зловмисники, щоб користувачі могли краще захистити себе. Ми не підтримуємо жодних незаконних дій і закликаємо використовувати ці знання тільки для підвищення власної безпеки.

Продовжуемо

Деякі SIM-карти мають додаткові функції для віддаленого доступу до мережевих операторів для обслуговування або послуг, що покращують роботу абонентів, таких як кредит, погода чи банківські послуги. Ці завдання виконуються за допомогою SIM-аплетів — програм, встановлених на SIM-карті. Вони використовують команди та процедури STK для взаємодії з сумісними мобільними пристроями, забезпечуючи можливість зовнішніх комунікацій.

Доступ до програми STK можна отримати через головне меню або налаштування пристрою. Іноді для цього потрібні коди USSD (неструктуровані додаткові службові дані), які складаються з комбінації цифр з решіткою (#) та зірочкою (*).

Зразок піктограми меню програми SIM Toolkit (STK) на Pixel 4a.
Зразок пункту меню SIM Toolkit Application (STK) на Nokia 3330.

Доступ до програми SUT STK на Samsung S6 за допомогою USSD-коду *888#.

SIM-карти, що підтримують STK, можна ідентифікувати через каталог DF_GSM (3F00/7F20), який містить “таблицю послуг GSM SIM”. У цій таблиці перераховано всю інформацію, пов’язану з мережею. Це дозволяє також отримати дані про послуги, якими користується SIM Application Toolkit (SUT). Нижче наведено приклад:

Сервіси, пов’язані зі STK, визначені на SUT за допомогою SIMspy II.

Нижче наведено деякі служби/програми на прикладі знімка екрана:

  • SMS-Cell Broadcast Data Download використовується для доставки повідомлення на все мобільне обладнання у певній зоні.

  • SMS-Point-to-Point Data Download використовується для ініціалізації SIM-карти.

  • Проактивна SIM-карта визначає протоколи зв’язку між SIM-картою та мобільним пристроем. Він пропонує різні команди, які SIM-карта може видавати безпосередньо на мобільному телефоні, а саме: ПОКАЗАТИ ТЕКСТ, ВІДТВОРЕННЯ СИГНАЛУ, ЗАПУСК ЗА КОМАНДОЮ, НАЛАШТУВАННЯ ВИКЛИКУ, НАДІСЛАТИ КОРОТКЕ ПОВІДОМЛЕННЯ, НАДІСЛАТИ DTMF та багато іншого.

TAR (Довідник із застосування інструментарію)

Для точної ідентифікації служб або додатків у механізмі набору інструментів (наприклад, завантаження даних SMS-Cell Broadcast, завантаження даних SMS точка-точка, проактивна SIM-карта тощо) використовуються довідники із застосування інструментарію (TAR). TAR унікально ідентифікують служби або програми за допомогою діапазону чисел від 000001 до FFFFFF. Нижче наведено додаткову інформацію про значення TAR та їхню категорію.

  • Tar: 000000, Категорія: Card Manager

  • Tar: 000001до AFFFFF, Категорія: Виділено емітентом програми 1-го рівня

  • Tar: B00000до B0FFFF, Категорія: Віддалене керування файлами (RFM)

  • Тар: B10000до B1FFFF, Категорія: Платіжна заявка

  • Тар: B20000до BFFEFF, Категорія: РФС

  • Tar: BFFF00до BFFFFF, Категорія: Власна програма Toolkit

  • Tar: C00000до FFFFFF, Категорія: Виділено емітентом програми 1-го рівня

TAR активують функції та служби, що використовуються операторами для віддаленого зв’язку з SIM-картами, встановлення програм і керування їхнім вмістом. Доступ до даних у TAR можливий лише з ключами ADM, кількість спроб введення яких обмежена 5-8 разами. Відсутність дійсних ключів може призвести до несправності SIM-карти. Однак через недоліки безпеки деякі TAR можна отримати без ключів через спеціальні SMS.

Ми зібрали колекцію SIM-карт багатьох операторів для дослідження вразливостей. Частина SIM-карт була придбана в Інтернеті або надіслана друзями з-за кордону. Хоча деякі з них були неактивні в мережі, вони все одно були корисні для аналізу. Для більшості SIM-карт потрібен був активний кредит, інакше процес активації та тести були неможливі.

Деякі SIM-карти.

Під час цього дослідження ми протестував понад 60 SIM-карт. Нижче наведено розбивку мереж і походження:

  • Giffgaff (Великобританія) * 16

  • Lebara (Великобританія) * 8

  • O2 (Великобританія) * 6

  • T-Mobile (Великобританія) * 5

  • Lyca Mobile (Великобританія) * 4

  • Smarty (Великобританія) * 3

  • VOXY (Великобританія) * 2

  • EE (Великобританія) * 2

  • Vodafone (Великобританія) * 2

  • 3 (Великобританія) * 2

  • Tesco Mobile (Великобританія) * 2

  • Wind Tre (Італія) * 2

  • Talk Home (Великобританія) * 1

  • ASDA Mobile (Великобританія) * 1

  • Vodafone (Італія) * 1

  • Vodacom (Танзанія) * 1

  • Salt Mobile (Швейцарія) * 1

  • Natel (Швейцарія) * 1

  • Kölbi (Коста-Ріка) * 1

Здавалося, що багато SIM-карт були вразливі до атак викрадення SIM-карти через незахищені програми. Щоб визначити вразливі програми, ми перевірили усі TAR, які використовуються програмами в SUT, та ідентифікував ті, що повернули відповідь без захисту (наприклад, KIC і KIK). За допомогою SIMTester було виявлено різні вразливі TAR, пов’язані з віддаленим керуванням файлами (RFM), які могли бути доступні через OTA SMS для передачі push-команд. Важливо зазначити, що ці SIM-карти були виготовлені у різний час, але багато з них все ще доступні для придбання. Нижче наведено скріншоти, що демонструють процес ідентифікації незахищених TAR і результати тестування вразливих SIM-карт за допомогою SIMTester.

Використовуючи SIMTester, сканування TAR може тривати багато років.
SIM-карта, потенційно вразлива до атаки на оперативну пам’ять.
Приклад SIM-карти, вразливої ​​до RFM-атаки (B00001/2:SIM, B00010:USIM).
SIM-карта вразлива до SIMjacker через S@T Browser.

Налаштування тестування

Ми використовували обмежену демонстраційну версію NowSMS , сподіваючись дізнатися про Over The Air (OTA) і як віддалено запускати служби/програми на вразливих SIM-картах за допомогою SMS. NowSMS — це рішення для шлюзу SMS і MMS (449,00USD за повну версію.

Графічний інтерфейс програмного забезпечення NowSMS SMS&MMS Gateway та його веб-інтерфейс.

Серверне програмне забезпечення NowSMS було встановлено на моєму ноутбуці (шлюз), а для клієнта ми використовували Samsung S6 (модем GSM).

Тепер SMS-модем на Samsung S6.

SMS-повідомлення були надіслані на Nokia 3330 (варіант відомої Nokia 3310), підключений до іншого ноутбука за допомогою кабелю даних F-BUS (модель DAU-05B) і конвертера USB в RS232 у поєднанні з утилітою dct3-gsmtap, запустіть відому утиліту Wireshark для аналізу трафіку.

Послідовні PIN-коди на Nokia 3330.
Кабель USB F-BUS Nokia, підключений між акумулятором і послідовними PIN-кодами.
Налаштування середовища.

Це дало змогу отримувати дані GSM (вперед і назад) після ввімкнення секретного меню під назвою NetMonitor на Nokia 3330. Цей процес можна виконати за допомогою інструменту під назвою gnokii.

Приклад отриманого SMS у відкритому вигляді.

Меню NetMonitor, доступне на різних телефонах Nokia, складається з набору дисплеїв, на яких доступна велика кількість інформації про SIM-картку, телефон і мережу.

Нижче наведено список доступних дисплеїв:

  • Дисплей 1: інформація про комірку

  • Дисплей 2: Додаткова інформація про обслуговуючу комірку

  • Дисплей 3: обслуговуюча комірка, 1-й і 2-й сусіди

  • Дисплей 4 і 5: 3-8 сусідні комірки

  • Дисплей 6: Дисплей вибору мережі

  • Дисплей 7: біти системної інформації для обслуговуючої комірки

  • Дисплей 10: Період повторення пейджінгу, TMSI, Таймер оновлення розташування, AFC і AGC

  • Дисплей 12: Шифрування, перемикання, статус DTX та IMSI

  • Дисплей 13: Дисплей перемикання висхідного каналу DTX

  • Дисплей 14: Перемикання індикатора екранування

  • Дисплей 17: Перемикач статусу «BTS Test».

  • Дисплей 18: контроль стану освітлення

  • Дисплей 19: Перемикання статусу блокування клітинок

  • Дисплей 20: стан зарядки

  • Дисплей 21: Дисплей постійної напруги зарядки

  • Дисплей 22: виявлення повного заряду батареї

  • Дисплей 23: Монітор стану акумулятора та телефону

  • Дисплей 24: значення BSI

  • Відображення 30: відображення регістру аудіо API

  • Дисплей 34: дисплей FBUS

  • Дисплей 35: Причини скидання ПЗ

  • Дисплей 36: Лічильники для скидання

  • Дисплей 39: Інформація про причини зняття виклику

  • Дисплей 40: скидання лічильників передачі

  • Дисплей 41 (односмуговий): дисплей передачі

  • Дисплей 41 (дводіапазонний): дисплей передачі, INTER CELL

  • Дисплей 42 (дводіапазонний): дисплей передачі, INTRA CELL

  • Дисплей 43 L2 дисплей

  • Дисплей 44: Перемкнути рівень версії

  • Дисплей 45: Перемикання функцій передавача

  • Дисплей 51: інформація про SIM

  • Дисплей 54: блок дисплей 1

  • Дисплей 55: блокувати дисплей 2

  • Дисплей 56: блок дисплей 3

  • Дисплей 57: Стан пам’яті перед скиданням

  • Дисплей 60: скидання лічильників до нуля

  • Дисплей 61: Дисплей лічильника пошуку та повторного вибору

  • Дисплей 61 (дводіапазонний): дисплей лічильника пошуку та повторного вибору

  • Дисплей 62: Дисплей лічильника вимірювань сусідів

  • Дисплей 63: Лічильники спроб виклику

  • Дисплей 64: Лічильники спроб оновлення місцезнаходження

  • Дисплей 65: Лічильники спроб SMS

  • Дисплей 66: Лічильники часу очікування SMS

  • Дисплей 70: Тимчасові лічильники DSP

  • Дисплей 71 і 72: Керуйте вдосконаленнями звуку DSP 1 і 2

  • Дисплей 73: загальний дисплей для DSP Audio Enhancements

  • Дисплей 74: покращення звуку DSP 1 (DRC)

  • Дисплей 75: Стан аудіошляху

  • Дисплей 76: Вухо (= SownLink) звуковий дисплей

  • Дисплей 77: Дисплей аудіо з мікрофона (= UpLink).

  • Дисплей 78: покращення звуку DSP (AEC)

  • Дисплей 79: Дисплей еквалайзера звуку

  • Дисплей 80: скинути та перезапустити таймери

  • Дисплей 81: увімкнення або вимкнення таймерів

  • Дисплей 82: Дисплей тестового таймера

  • Дисплей 83: керування відображенням інформації про завдання

  • Дисплей 84, 85 і 86: Інформація про завдання

  • Дисплей 87: Інформація про OS_SYSTEM_STACK

  • Дисплей 88: Інформація про поточні версії програмного забезпечення MCU та DSP

  • Дисплей 88 (Nokia 9210): інформація про версію органайзера

  • Дисплей 89: Інформація про поточні версії HW і TXT

  • Дисплей 89 (Nokia 9210): інформація про версію телефонної частини

  • Дисплей 96 (Nokia 3210): температура приймача

  • Дисплей 99 (Nokia 7110): режим FBUS і режим аксесуара

  • Дисплей 100 (Nokia 7110, 62XX): використання внутрішньої пам’яті, огляд

  • Дисплей 102 (Nokia 9210): тип останнього виклику даних

  • Дисплей 103 (Nokia 9210): тип останнього виклику MT

  • Дисплей 107 (Nokia 62XX): функція голосового набору

  • Дисплей 110–115 (Nokia 7110, Nokia 62XX): використання внутрішньої пам’яті, деталі

  • Дисплей 130 (Nokia 7110): Відкрийте лічильник

  • Дисплей 132 (Nokia 3310): інформація про виклик

  • Дисплей 133 (Nokia 3310): Інформація про зарядний пристрій

  • Дисплей 240 (без виведення): Очистити лічильники та запустити таймери

  • Дисплей 241 (немає виводу): вимкнути меню NetMonitor

  • Дисплей 242 (немає виводу): вимкнути дисплеї польових тестів R&D

Доступ до дисплея 01 секретного меню NetMonitor на Nokia 3310.

Доступ до дисплея 11 секретного меню NetMonitor на Nokia 3310.
Доступ до дисплея 62 секретного меню NetMonitor на Nokia 3310.

Дисплей 17 є наступним прихованим параметром меню NetMonitor, і його можна ввімкнути, створивши запис телефонної книги SIM під назвою «BTS TEST» у позиції 33 списку контактів, використовуючи ідентифікаційний номер вежі стільникового зв’язку як номер телефону контакту. Це також можна зробити за допомогою gnokii, використовуючи наведений нижче запис у телефонній книзі:

// Ім'я запису; Cell ID, Location; посада; Ярлик
 BTS TEST;113;SM;33;5

Дисплей 17 дає змогу «прив’язати» мобільний пристрій до однієї вежі стільникового зв’язку, і під час використання цієї функції жодна інформація не передається сусіднім осередкам, але дані все ще можуть надсилатися та отримуватися без проблем. Оскільки ловці IMSI отримують прибуток, створюючи підроблені вежі стільникового зв’язку, а жертви підключаються до них через сильнішу потужність сигналу, безумовно, Display 17 потребує додаткового дослідження.

Переглядаючи дисплей 3, інформація передавалася між сусідніми комірками, коли BTS TEST було вимкнено.
Увімкнення функції «BTS TEST» для роботи на каналі 113 (Вежа стільникового зв’язку з ідентифікатором 113, видима на попередньому знімку екрана).
Вишки стільникового зв’язку більше не обмінювалися даними, коли мобільний пристрій був змушений підключитися до вежі стільникового зв’язку з ідентифікатором 113.

СЕРВІС КОРОТКИХ ПОВІДОМЛЕНЬ (SMS)

SMS може бути надіслано через мобільний пристрій, комп’ютер або сервер і передано до центру обслуговування коротких повідомлень (SMSC), який зрештою направляє його до місця призначення. Хоча процес надсилання та отримання SMS здається простим, він включає кілька ролей і маршрутів, що визначають тип SMS. Служба коротких повідомлень складається з двох основних служб:

  • Коротке повідомлення Mobile Terminated (SM MT), ця послуга стосується SMS, отриманих на мобільний пристрій абонента. У цьому випадку тип SMS визначається як SMS-ДОСТАВКА.

  • Short Message Mobile Originated (SM MO), ця послуга стосується SMS, які надсилаються від  мобільного пристрою абонента. Тип SMS, до якого призведе ця дія, визначається як SMS-SUBMIT.

Можуть бути випадки, коли наступне SMS, визначене як SMS-STATUS-REPORT, надсилається SMSC відправнику мобільного пристрою, щоб підтвердити, що адреса призначення (DA) успішно отримала SMS.

Процес SMS-SUBMIT і SMS-DELIVER.

Усі вихідні SMS-повідомлення, надіслані за допомогою NowSMS, були перераховані у веб-інтерфейсі адміністратора та закодовані у форматі протокольних даних (PDU) відповідно до 7-бітного стандарту GSM . Це означало, що всі SMS-повідомлення PDU можна аналізувати, скасовувати, налаштовувати та використовувати повторно.

Повідомлення PDU можна надсилати через USB-модем (або сумісний телефон) за допомогою Minicom. Нижче наведено приклад того, як надіслати SMS-SUBMIT PDU, який містить текст «Hello SensePost» за допомогою Minicom.

AT+CMGS=27// Довжина октетів (70 символів / 2 - 8 SMSC) > 079144872000626001000C9144573227562000000FC8329BFD064DCBEE7919FA9ED301// Тут необхідно натиснути Ctrl+Z замість ENTER

Нижче наведено таблицю, що описує кожну частину (октети) наведеного вище корисного навантаження. Декодери SMS PDU також можна легко знайти в Інтернеті – наприклад, https://www.diafaan.com/sms-tutorials/gsm-modem-tutorial/online-sms-submit-pdu-decoder/ . Зручним інструментом для створення правильного корисного навантаження також був модуль python SMS PDU ( pip install smspdu).

  • Октет: 07, посилання: довжина адреси

  • Октет: 91, поле TP: тип адреси, посилання: 91 міжнародний (81 національний)

  • Октет: Міжнародний 448720006260 Національний 7008022660F (F == заповнення), Поле TP: SMSC, Посилання: Міжнародний (+447802002606)

  • Октет: 01, поле TP: TP-MTI, посилання: індикатор типу повідомлення – SMS-SUBMIT (21 SMS-SUBMIT + статус звіту про запит)

  • Октет: 00, поле TP: TP-MR, посилання: посилання на повідомлення

  • Октет: 0C, посилання: довжина адреси в півоктетах

  • Октет: 91, Поле TP: Тип адреси, Посилання: 91 Міжнародна

  • Октет: 441122334455, поле TP: TP-DA, посилання: адреса призначення (+441122334455)

  • Октет: 00, поле TP: TP-PID, посилання: ідентифікатор протоколу

  • Октет: 00, поле TP: TP-DCS, посилання: схема кодування даних

  • Октет: 0F, поле TP: TP-UDL, посилання: довжина даних користувача

  • Октет: C8329BFD064DCBEE7919FA9ED301, поле TP: TP-UD, посилання: дані користувача (Hello SensePost)

SMSC також можна опустити ( 00). У цьому випадку буде використовуватися стандартний. Зберігається на SIM-картці ( EFsmsp– параметри послуги SM).

Зазвичай SMS автоматично зберігається на SIM-картці після отримання від мобільного пристрою. Можливість видалити або зберегти SMS доступна абоненту пізніше. Однак класи SMS можна використовувати для визначення місця, де слід зберегти SMS.

  • Клас 0: у разі використання цього класу SMS з’являтиметься на екрані мобільного телефону одержувача, і втручання користувача не буде потрібно. Це SMS буде автоматично видалено через дуже короткий час (за замовчуванням це 5 хвилин, але також можна встановити 0 секунд, що призведе до невидимого SMS), якщо користувач не вирішить зберегти його. Щоб використовувати цей клас, у полі Схема кодування даних (TP-DCS) має бути встановлено значення 10.

  • Клас 1: цей клас вказує на те, що SMS буде збережено в пам’яті пристрою або на SIM-картці. Поле TP-DCS має бути встановлено на 11.

  • Клас 2: цей клас використовується, коли SMS-повідомлення містить дані SIM-карти. Для цього класу схема кодування даних (TP-DCS) повинна бути встановлена ​​на 12.

  • Клас 3: цей клас вказує на те, що після отримання SMS буде переслано на зовнішній пристрій. У цьому випадку для поля TP-DCS має бути встановлено значення 13.

Нижче наведено простий SMS PDU класу 0 ( додаткових тестів щодо інших типів класу SMS не проводилося ), а потім приклад того, як зловживати цією функцією.

AT+CMGS=28
0001000C9144112233445500 10 114676788E064D9B53500B34A7D7E96D
Звичайне SMS класу 0.
Зразок SMiShing з SMS класу 0.

Хоча наведене нижче працює лише на старих телефонах (здебільшого Nokia), нижче наведено приклад налаштувань служби WAP OTA, які також можна надіслати за допомогою SMS.

<!-- TP-USER-DATA -->
<?xml version="1.0"?>
<!DOCTYPE CHARACTERISTIC-LIST SYSTEM "file://c:/settingspush/settings.dtd" >
<СПИСОК ХАРАКТЕРИСТИК>
<CHARACTERISTIC TYPE="ADDRESS">
<PARM NAME="BEARER" VALUE="GSM/CSD"/>
<PARM NAME="PROXY" VALUE="52.85.104.62"/>
<PARM NAME="CSD_DIALSTRING" VALUE="+44123456"/>
<PARM NAME="PPP_AUTHTYPE" VALUE="PAP"/>
<PARM NAME="PPP_AUTHNAME" VALUE="stutm"/>
<PARM NAME="PPP_AUTHSERCRET" VALUE="password123"/>
<PARM NAME="CSD_CALLTYPE" VALUE="ANALOGUE"/>
<PARM NAME="CSD_CALLSPEED" VALUE="AUTO"/>
</ХАРАКТЕРИСТИКА>
<CHARACTERISTIC TYPE="URL" VALUE=" https://sensepost.com "/>
<CHARACTERISTIC TYPE="NAME">
<PARM NAME="NAME" VALUE="SensePost:)"/>
</ХАРАКТЕРИСТИКА>
<CHARACTERISTIC TYPE="BOOKMARK">
<PARM NAME="NAME" VALUE="Wap"/>
<PARM NAME="URL" VALUE=" https://sensepost.com "/>
</ХАРАКТЕРИСТИКА>
</CHARACTERISTIC-LIST>
// Перше SMS PDU
AT+CMGS=155
>0051000C9144571651228900F5A78C0B0504C34FC002000304020101062C1F2A6170706C69636174696F6E2F782D7761702D70726F762E62726F777365722D73657474696E67730081EA01016A0045C60601871245018713110335322E38352E3130342E36320001872111032B343431323334353600018722700187231103737475746D00018724110370617373776F726431323300018728720187
// Другий PDU SMS
AT+CMGS=123
>0051000C9144571651228900F5A75D 0B0504C34FC0020003040202296A01018607110368747470733A2F2F73656E7365706F73742E636F6D0001C60801 8715110353656E7365506F73743A29000101C67F0187151103737475746D3 A2900018717110368747470733A2F2F73656E7365706F73742E636F6D00010 101

Налаштування служби WAP OTA.

Висновок

У цьому дописі ми розглянули багато аспектів, пов’язаних із SIM-карткою, включаючи фізичні характеристики, внутрішнє програмне забезпечення, методи взаємодії з програмами та їх тестування на SIM-карті. Крім того, ми обговорили інформацію про SMS-повідомлення, зокрема як надсилати власноруч створені SMS.

Інформація була взята з відкритих джерел Sensepost

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.