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

19 червня 2024 2 хвилин Автор: Cyber Witcher
У статті буде розглянуто загрози SIM-хайджекінгу, зокрема методи, які використовують злочинці для викрадення мобільних номерів. Будуть описані наслідки таких атак для користувачів, включаючи можливі фінансові втрати та компрометацію особистих даних. Також стаття надасть поради щодо захисту від SIM-хайджекінгу, зокрема рекомендації з безпеки від мобільних операторів і способи мінімізації ризиків. Читачі дізнаються, як виявити підозрілі дії та що робити в разі атаки.

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

Розпочинаемо

«Витік телефонних номерів 533 мільйонів користувачів Facebook» — один із резонансних заголовків, що заполонив соціальні мережі. Витік даних, який спочатку продавався у 2020 році, нещодавно було безкоштовно оприлюднено на хакерському форумі. У ньому містяться номери мобільних телефонів та багато іншої пов’язаної інформації. Ця новина породила такі веб-сайти, як https://haveibeenzucked.com , де ви можете перевірити, чи містить витік даних у Facebook ваші дані.

“Що вони можуть зробити з моїм номером телефону? Чи потрібно міняти номер? Витік несерйозний, у них немає мого пароля на Facebook” — такі думки висловлюють багато безтурботних жертв.

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

Атаки, використовуючи лише номер телефону

Зважаючи на витік даних Facebook, ми розуміємо, що ця інформація може стати основою для різноманітних атак, включаючи:

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

Атаки з перенаправленням SMS – деякий час тому хакер на ім’я Lucky225 висвітлив проблему оператора, яка дозволяла комусь отримати або отримати доступ до SMS, призначеного для іншої особи. Щоб не плутати із заміною SIM-карти чи викраденням SMS, це відкриття стало скоріше завдяки помилці на платформі Sakari. Sakari — це торгова компанія, яка пропонує послуги перенаправлення SMS, SMS-маркетингу та масових повідомлень для компаній. Очевидно, відсутність механізму двофакторної автентифікації, що впливає на платформу Sakari, дозволила Lucky225 читати всі SMS-повідомлення цільового номера телефону. Дійсно, зловмисники могли прочитати всі SMS-повідомлення жертв, просто додавши їхні номери телефонів на платформу, і, маючи лише кілька доларів, вони могли видати себе за власника. З цікавості я спробував створити обліковий запис на https://sakari.io , але на момент публікації цього блогу це було неможливо. Незважаючи на те, що можуть існувати інші подібні компанії, багато операторів, як-от AT&TVerizon і T-Mobile, уже пом’якшили цю лазівку. Sakari також нарешті реалізував рішення багатофакторної автентифікації/перевірки.

Заміна SIM-карти – це метод, коли зловмисники видають себе за власників номерів телефону, використовуючи підроблені документи для маніпулювання мобільними операторами, що призводить до передачі прав на нову SIM-карту. Це може призвести до захоплення облікових записів або незаконних фінансових операцій.

Викрадення SIM-карти (SIM Jacker) – вразливість, оголошена в 2019 році, яка все ще впливає на багато SIM-карт. Атака включає надсилання SMS із зловмисними інструкціями, які атакують програми SIM-карти, як-от S@T Browser, що дозволяє ініціювати події SIM-карти та здійснювати логічні маніпуляції на пристрої.

Для тестування в реальній мережі потрібна ліцензія, і будь-яке небажане тестування є незаконним. Необхідно розуміти, що ви робите, перед будь-якими тестами, і цей блог не підтримує незаконні дії.

Модуль ідентифікації абонента (SIM)

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

Смартфони, продані в усьому світі з 2007 по 2021 рік

SIM-карта — це фактично маленький комп’ютер, який зберігає різні дані та дозволяє ними керувати. Серед них — ключ автентифікації (Ki), 128-бітне значення для автентифікації в мобільній мережі, та унікальний номер IMSI (64-біт), який ідентифікує абонентів у мережі. Мобільна мережа складається з однієї або кількох веж стільникового зв’язку та базової приймально-передавальної станції (BTS), забезпечуючи передачу голосу та даних. Радіосигнал може досягати 8 км, залежно від регіону.

Антена GSM, Велика Британія.
GSM антена, Італія.

SIM-карти також можуть містити телефонні контакти та інші дані користувача. Номери екстрених служб, наприклад 112, 113 та/або 991, також зберігаються на SIM-картці.

Номери екстрених служб, збережені в SUT.

Отже, SIM-карта — це комп’ютер, доступний у кишені мільярдів людей, які живуть у різних країнах, де, залежно від юрисдикції, регуляторні органи зв’язку, такі як Ofcom , Федеральна комісія зі зв’язку або AGCOM, діють як головні з власним кодуванням і різними наборами частот.

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

  • Універсальна або повнорозмірна SIM-карта 1991/1992 (53,98 x 85,6 мм)

  • Стандартна або міні-SIM 1996 (15 x 25 мм)

  • Micro SIM 2003 (12 x 15 мм)

  • Nano SIM 2012 (8,8 x 12,3 мм)

  • Embedded-SIM або eSIM 2016

Типи перевірених SIM-карт.

Типи контактів SIM-карт можуть змінюватися залежно від уподобань виробника. Однак призначення PIN-коду SIM-картки завжди однакове зі зрозумілих причин.

Призначення PIN-коду SIM-карти.

Поки ми говоримо про форм-фактор, в ім’я «науки» ми теж розчиняли SIM-карти в ацетоні. Поки що немає цікавих результатів, але процес досить веселий.

Пластикова частина SIM-карти почала розчинятися через кілька хвилин.

Видалення чистого чіпа SIM-карти з розчину ацетону.

Рентгенівське зображення SIM-карти, на якому видно чіп і з’єднання

Нарешті, кожен PIN-код на SIM-картці має певну функцію, одні з яких призначені для передачі потужності, а інші для передачі даних.

Будучи більш зацікавленим у вмісті SIM-карти, а не в її фізичних аспектах, ми проаналізували вміст випадкової SIM-картки за допомогою терміналу PC/SC Gemalto PC Twin Reader разом із криміналістичним інструментом під назвою SIMspy II. Перевіривши результат, отриманий цим інструментом, стало ясно, що інформація зберігається в структурі каталогу.

Структуру каталогів SUT (SIM Under Testing) було визначено за допомогою SIMspy II.
Ключ шифрування (Kc) та інша інформація, отримана з SUT за допомогою SIMspy II.

Дані на SUT (SIM під тестуванням) були організовані в ієрархію дерева, що складається з трьох типів файлів:

  • Головний файл (MF)

  • Елементарні файли (EF)

  • Виділені файли (DF)

Подібну структуру каталогу можна знайти в смарт-картках або кредитних/дебетових картках. Кожна картка налаштовується виробниками за допомогою вихідного повідомлення під назвою ATR (Відповідь на скидання). Це повідомлення містить інформацію про картку, її параметри зв’язку та протоколи. ATR використовується під час активації картки для визначення підтримуваного транспортного протоколу та параметрів зв’язку на початку кожного сеансу картки, наприклад, при доступі до SIM-картки.

Для прикладу ATR для 3B9F96801FC68031E073F62113675602220080010127наступного списку є розбивка деяких важливих байтів.

  1. Байт 1: TS = 0x3B – пряме з’єднання

  2. Байт 2: T0 = 0x9F – символ формату

  3. Байт 3: TA(1) = 0x96 – символ інтерфейсу

  4. Байт 4: TD(1) = 0x80 – символ інтерфейсу (інформація про підтримуваний протокол)

  5. Байт 5: TD(2) = 0x1F – символ інтерфейсу (інформація про підтримуваний протокол)

  6. Байт 6: TA(3) = 0xC6 – Історичні символи (Тип SIM-карти (C2 звичайна SIM + OTA, C3: STK SIM…))

  7. Байт 7: 0x27 – Можливості картки

  8. Байт 8: TCK = 0x27 – контрольна сума

Гіпотетичний каталог верхнього рівня системи, яку ми аналізували (SUT), був позначений скісною рискою ( /) і відомий як головний файл (MF). Він містив підпорядковані каталоги, які інакше називають Dedicated Files (DF) і Elementary Files (EF), де можна було знайти велику кількість конфіденційної інформації операторів мобільних мереж (MNO) і абонентів.

Елементарні файли можуть бути прозорими, лінійними або циклічними. Їх досить просто зрозуміти:

  • Прозорий: рядок байтів

  • Лінійно-фіксована довжина: послідовність записів

  • Лінійно-змінна довжина: послідовність записів, але також може мати змінну кількість байтів

  • Циклічний: «кільце» записів, які можна перезаписати

Після отримання ATR 3F00автоматично вибирається MF ( ) і стає поточним каталогом.

Деревоподібна структура SIM-карти.

Ми здійснили різні атаки фаззингу на SUT, використовуючи інструмент безпеки з відкритим вихідним кодом під назвою SIMTester , сподіваючись ідентифікувати більше файлів, отримати більше інформації та зрештою зрозуміти їхнє призначення.

Приклад деяких файлів (і їхніх відносних шляхів), ідентифікованих у SUT за допомогою SIMTester.

Дані, що зберігаються в SUT (SIM Application Toolkit), були витягнуті з ідентифікованих файлів за допомогою команд Application Protocol Data Unit (APDU), також відомих як C-APDU (Command Request APDU). APDU — це протокол команди-відповіді, який використовується для виклику функцій на смарт-картках або подібних пристроях.

Структура команд APDU складається з двох частин:

  • Команда – 4-байтовий заголовок (клас, інструкція, параметр 1, параметр 2) + тіло даних

  • Відповідь – 2-байт (SW1, SW2)

Відповідь також може містити рядок байтів у полі даних відповіді. Наприклад, під час отримання даних зі смарт-карти або подібних пристроїв.

Нижче наведено список можливих команд APDU, які можна використовувати.

  • ВИБРАТИ

  • СТАТУС

  • ПРОЧИТАЙТЕ ДВІЙКОВИЙ ЗВЕРНИЙ ЗВЕРНИЙ ЗВЕРНИЙ ЗВІТ

  • ОНОВИТИ БІНАРНІ

  • ПРОЧИТАЙТЕ ЗАПИС

  • ОНОВИТИ ЗАПИС

  • ШУКАТИ

  • ЗБІЛЬШИТИ

  • ПЕРЕВІРИТИ ADM

  • ПЕРЕВІРИТИ CHV

  • ЗМІНИТИ CHV

  • ВИМКНУТИ CHV

  • УВІМКНУТИ CHV

  • РОЗБЛОКУВАТИ CHV

  • АНАЛІЗУВАТИ

  • РЕАБІЛІТУВАТИ

  • ЗАПУСТИТИ АЛГОРИТМ GSM

  • СПАТИ

  • ОТРИМАЙТЕ ВІДПОВІДЬ

Ці команди були надіслані за допомогою PyAPDUTool , інструменту, який використовувався для зв’язку з SIM-картою через зчитувач, і дозволив мені отримати та оновити дані, що зберігаються в SUT.
Як приклад, у наступному відео показано, як отримати доступ до головного файлу , потім до виділеного файлу «GSM» ( ) і, нарешті, до елементарного файлу «SPN» ( ), з якого можна отримати рядок «giffgaff» у шістнадцятковому форматі ( ). видобутий. На той момент SUT називався «Giffgaff» ( Giffgaff — мобільна мережа зі штаб-квартирою у Великобританії). Останні два байти ( ) у кінці виводу є даними відповіді (SW1, SW2), які вказують, що команда APDU виконана успішно та без помилок. 3F007F206F4667 69 66 66 67 61 66 6690 00

Доступ до файлів 3F00/7F20/6F46для отримання SPN із SIM-карти шляхом надсилання команд APDU за допомогою PyAPDUTool.

Натомість у наступному відео показано, як оновити запис телефонної книги на SUT за допомогою всіх інструментів, які ми згадували досі. Зауважте, що потрібен фізичний доступ до SIM-карти.

Оновлення номеру запису телефонної книги 5 шляхом надсилання команд APDU за допомогою PyAPDUTool.

PyAPDUTool надає корисну утиліту для аналізу даних відповіді, зокрема трейлера з 2 байтів, визначених як SW1 (байт стану 1 – стан обробки команди) і SW2 (байт стану 2 – кваліфікатор обробки команди). Утиліта SW Lookup PyAPDUTool повертає довідкове повідомлення під час використання дійсних трейлерів програмного забезпечення, що допомогло мені краще зрозуміти процес. Для недійсного трейлера було повернуто повідомлення “Невідома помилка”. Нижче наведено приклади інтерпретації відповідей програмного забезпечення утилітою SW Lookup PyAPDUTool.

Утиліта SW Lookup PyAPDUTool підтвердила правильне виконання команди APDU.
Приклад розбору відповіді APDU за допомогою утиліти SW Lookup PyAPDUTool.
Приклад довідкового повідомлення, поверненого пошуком ПЗ PyAPDUTool для недійсного сліду ПЗ.

AT-команди

Деякими даними SIM-картки також можна керувати за допомогою AT-команд, які також називаються Attention Commands (мова команд, яка спочатку використовувалася для модемів, див. набір команд Hayes ). Для цього кроку необхідно мати модем. Нижче показано зображення, яке ми зазвичай використовуемо:

Arduino 2009 + Hilo Sagem або один з двох модемів USB (Tigo, TIM).

Тим не менш, будь-який мобільний пристрій (ME), який підтримує AT-команди, також буде працювати. Все ж потрібен фізичний доступ до SIM-карти. Деякі вказівки щодо перевірки сумісності пристрою та підтримки AT-команд наведено нижче.

/*
1. Підключіть телефон до комп’ютера через USB.
2. Відкрийте термінал
*/
lsusb -v|less
Виходячи з результатів команди lsusb, мій Samsung S6 підтримував AT-команди.

На цьому етапі для встановлення зв’язку з модемом ми використовували Minicom:

Запустіть:

1. Відкрийте термінал
minicom -D /dev/ttyACM0

Команди Minicom можна викликати, натиснувши CTRL+A <клавіша>.

Натисніть:

/* Open Minicom Helper */
CTRL+AZ

/* Увімкніть/ВИМКніть відлуння (повторіть цей крок двічі, якщо бачите подвійне введення) */
E

Нижче наведено кілька прикладів AT-команд для отримання інформації з SIM-карти:

// Temporary Mobile Subscriber Identity (TMSI)
// 
// 
//Only first 8 characters (4 bytes)
AT+CRSM=176,28448,0,0,11

// Ciphering key KcRemove last two characters (1 byte)
AT+CRSM=176,28448,0,0,9

// ARFCNThe second value
AT+KCELL=0
TMSI & Kc, отримані з SIM-карти за допомогою Minicom на Samsung S6.

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

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

Інші статті по темі
КібервійнаСоціальна інженерія
Читати далі
Як злочинці викрадають ваші номери та що таке SIM-хайджекінг? (Частина 2)
У першій частині статті ми зупинились на AT-командах. У цій частині ми розглянемо можливості SIM Application Toolkit (STK), які дозволяють оператору та додаткам взаємодіяти з SIM-картою для виконання різних завдань, включаючи управління мережевими функціями та безпекою.
385
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.