Программно-определяемая радиосвязь, часть 6: Создание перехватчика IMSI для сотовых телефонов (Stingray)

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
152
Депозит
-8.95$
Добро пожаловать обратно, мои начинающие RF-хакеры!

Среди множества радиосигналов, ежедневно окружающих нас, есть и сигналы мобильных телефонов, от которых мы все так зависим. Мобильные сети используют различные технологии, включая GSM, CDMA, TDMA, 4G, LTE, 5G и многие другие.

Уже почти два десятилетия правоохранительные органы по всему миру используют IMSI-перехватчики (они же «Stingray») для прослушивания и отслеживания подозреваемых. Эти IMSI-перехватчики работают как мобильные вышки сотовой связи и анализируют трафик сотовой связи, определяют IMSI, отслеживают его географически, перехватывают и считывают метаданные/интернет-трафик, а также прослушивают голосовые разговоры.

6a4a49_f6f7f0bcaf1c48a68a615ff9b4fa759e~mv2.png


Коммерческие устройства для перехвата IMSI известны под названием «Stingray» и другими названиями. Эти устройства должны быть доступны только правоохранительным органам, но они попали в руки и других. Многие жаловались на то, что правоохранительные органы и репрессивные правительства используют эти устройства для отслеживания и прослушивания целей, что нарушает гражданские свободы, но это не остановило их использование. Фонд Electronic Frontier Foundation назвал эти устройства «неконституционным, бесконтрольным доступом к данным».

Как правило, стоимость этих устройств у таких производителей электроники, как Harris, оценивается в 50–200 тысяч долларов. Я предполагаю, что если бы цена упала до 2000 долларов и стала доступна любому человеку с минимальными техническими знаниями, они бы быстро вышли из-под контроля. Именно в этом и заключается наша цель в этой серии статей: разработать недорогой Stingray.

Технически Stingray — это, по сути, перехватчик IMSI с использованием базовой станции сотовой связи. В нашем руководстве мы реализуем первый этап атаки «man-in-the-middle» (человек посередине) — перехват IMSI. В данном случае мы сможем перехватывать IMSI только для сотовых телефонов 2G и 3G. Это может показаться ограничением для жителей США или Западной Европы, но, согласно последним данным, около 46% современных телефонов по всему миру используют эти две устаревшие технологии. В следующих руководствах мы рассмотрим технологии 4G, LTE и 5G.

Получив IMSI, мы приступили к созданию Stingray. Следующий шаг — создание базовой станции сотовой связи. Базовые станции сотовой связи стоят непомерно дорого, но проект с открытым исходным кодом OpenBTS разработал базовую станцию менее чем за 1000 долларов.

Сети GSM и номера IMSI

GSM — стандарт, разработанный Европейским институтом стандартов в области телекоммуникаций (ETSI) и впервые внедренный в Финляндии (родине Nokia и Линуса Торвальдса) в декабре 1991 года. Он быстро стал европейским стандартом передачи данных по сотовой связи и к XXI веку достиг 90% проникновения в глобальную мобильную сеть.

Одной из уязвимостей безопасности сетей GSM является отсутствие взаимной аутентификации. GSM-телефон не аутентифицирует базовую станцию перед подключением к сети. В этом руководстве мы воспользуемся этой уязвимостью для перехвата и получения IMSI-номера телефона.

6a4a49_2d64658853bf418fb46c7be716346292~mv2.jpg


Номер IMSI — это уникальный глобальный номер, идентифицирующий пользователя. Он может содержать до 15 цифр и включает в себя:

MCC – мобильный код страны. Три знака после запятой, идентифицирует страну владельца мобильного устройства.

MNC – код мобильной сети. Два десятичных знака, идентифицирует сеть оператора.

MSIN – номер мобильного абонента. 10 знаков после запятой, идентифицирует абонента.

6a4a49_c82524476a8c4df5be73631580702dbf~mv2.jpg


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

Давайте посмотрим, как можно собрать эту информацию из мобильных сетей 2G и 3G с помощью нашего RTL-SDR-ключа и нескольких программных обеспечений.

Шаг №1: Установка нового программного обеспечения в Kali

В этом руководстве мы будем использовать Kali и несколько новых программ. Начнём с gr-gsm. Gr-gsm — это набор инструментов для приёма GSM-сигналов, работающий с любым программным радиооборудованием (SDR), способным принимать GSM-сигнал.

Хотя gr-gsm доступен в репозитории Kali, я обнаружил, что сборка из исходного кода работает лучше. Чтобы установить gr-gsm, сначала установите зависимости;

kali > sudo apt-get install -y cmake autoconf libtool pkg-config build-essential python-docutils libcppunit-dev swig doxygen liblog4cpp5-dev gnuradio-dev gr-osmosdr libosmocore-dev liborc-0.4-dev swig

Затем клонируйте gr-gsm из репозитория github.

kali > sudo git clone https://git.osmocom.org/gr-gsm

6a4a49_808f568de2f04db3a8bdcaa7945c7df1~mv2.png


Затем выполните следующие несколько шагов для создания приложения.

cd gr-gsm mkdir build cd build cmake .. make -j 4 sudo make install sudo ldconfig

Наконец, нам нужно изменить переменную среды PYTHONPATH.

kali > sudo echo 'export PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH' >> ~/.bashrc

6a4a49_d09b25c0cf94495d8cbecffb3b01246b~mv2.png


Теперь вы готовы установить kalibrate-rtl из репозитория Kali.

Кали > sudo apt install kalibrate-rtl

6a4a49_63b44435632e4166b668900f68665cc4~mv2.png


Далее клонируем IMSI-перехватчик с github.

6a4a49_acefc278e0e54ca893268319c7497dc0~mv2.png


Шаг №2: Найдите частоты, на которых работают базовые станции

Следующий шаг — найти базовые станции в вашем районе и частоту, на которой они работают. Для этого можно использовать функцию «калибровка».

Начнем с изучения экрана справки по калибровке.

кали > кал -х

6a4a49_d1a4ee4388c148eb8e45c1c26198c131~mv2.png


Как видите выше, kal просто нужно указать -s для сканирования, а затем технологию, например, GSM850, GSM-R, GSM900, EGSM, DCS или PCS. Кроме того, можно указать усиление с помощью опции -g. Поскольку GSM850 распространён в Северной и Южной Америке, я буду сканировать с усилением 45 дБ.

кали > sudo кал -s GSM850 -g 45

6a4a49_61473a34bbab4cc48b478b0d966cc67b~mv2.png


Как вы видите выше, в зоне действия находились две базовые станции на частотах 889,0 МГц и 890,0 МГц. Они попадают в диапазон приёма моего RTL-SDR-модема (24–1766 МГц).

Шаг №3: Настройте grgsm на частоту базовой станции

Теперь нам нужно настроить grgsm на частоту ближайшей базовой станции. Перейдите в папку gr-gsm и введите:

kali > grgsm_livemon -f 889.0M -g 45

6a4a49_5f5c7d085400456cbb27d8c622b97756~mv2.png


Откроется графический интерфейс gr-gsm. При необходимости частоту можно настроить с помощью ползунка.

Где 889.0M — это частота, которую мы хотим «прослушивать» (обязательно замените частоту, найденную в вашем регионе, с помощью kalibrate), а -g 45 — это коэффициент усиления.

6a4a49_3973e0d2ccaa4a66b161cf05167a2efa~mv2.png


Шаг №4: Запуск IMSI Catcher

Наконец, давайте запустим перехватчик IMSI.

Перейдите в каталог IMSI-catcher, а затем запустите перехватчик с опцией -s (сканирование).

kali > cd IMSI-catcher

Кали > sudo python simple_IMSI-catcher.py -s


6a4a49_bf90f2f136334412b72563569a4195fb~mv2.png


Поскольку я живу в отдалённом районе Скалистых гор в США, где мало кто ещё пользуется телефонами GSM 2G и 3G, мой IMSI-перехватчик не ловит ни один IMSI. Кроме того, наше оборудование — недорогой RTL-SDR — ограничено верхней границей диапазона 1766 МГц, а некоторые технологии GSM-телефонии работают за его пределами, на более высоких частотах.

С другой стороны, другой пользователь в Европе, где GSM является стандартом и по-прежнему имеется множество телефонов 2G и 3G, записал многочисленные IMSI вместе с идентификатором оператора и соты, как показано ниже.

6a4a49_dda82099ed2143e993c0a47ce624b0be~mv2.png


Краткое содержание

Даже с недорогим RTL-SDR мы можем перехватывать и анализировать сотовый трафик 2G и 3G вместе с IMSI. Поскольку IMSI встроен в SD-карту, вероятность подмены IMSI без более дорогостоящего оборудования крайне мала. С другой стороны, IMSI собирают ряд мобильных приложений, и эти IMSI могут быть использованы для сопоставления с этими данными для идентификации пользователя. Конечно, правоохранительные органы могут получить повестку с требованием предоставить IMSI пользователя и идентифицировать его с помощью этих данных.

По мере продвижения по этой серии мы будем добавлять более сложное программное обеспечение и оборудование, разрабатывая недорогой Stingray для перехвата мобильных сообщений.
 
Назад
Сверху Снизу