• XSS.stack #1 – первый литературный журнал от юзеров форума

GSM EvilBTS или подменяем GSM сети с помощью YateBTS и bladeRF

weaver

31 c0 bb ea 1b e6 77 66 b8 88 13 50 ff d3
Забанен
Регистрация
19.12.2018
Сообщения
3 301
Решения
11
Реакции
4 622
Депозит
0.0001
Пожалуйста, обратите внимание, что пользователь заблокирован
4097



Вот и еще одна статья на тему bladeRF. Недавно я показал как с помощью bladeRF можно поднять свою GSM станцию. Сегодня мы рассмотрим как настроить Yate таким образом чтобы она стала клоном действующей сотовой сети.

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

Теория:
Чтобы подделать базовую станцию реального оператора мобильной связи, необходимо смоделировать Home Network Identity (HNI) целевой сети.

HNI - это комбинация MCC (код страны мобильной связи) и MNC (код мобильной сети). Это номер, который идентифицирует сеть абонента, также известную как PLMN (Public Land Mobile Network).

Комбинация, используемая для идентификации оператора мобильной сети, также называется кортежем MCC / MNC.

Mobile Country Code (MCC)
MCC расшифровывается как Mobile Country Code. Этот параметр используется для определения информации о стране и географическом регионе.

MCC состоит из трех десятичных цифр, где первая цифра обозначает географический регион, как видно из следующей таблицы:

4096


Цифры 1 и 8 не используются.

Mobile Network Code (MNC)
MNC - это сокращение от Mobile Network Code. Этот параметр используется для однозначной идентификации конкретной PLMN в конкретной стране (определяется MCC).

Location Area Code (LAC)
Location Area Code (LAC) - это уникальный номер текущей зоны местоположения. Область местоположения - это набор базовых станций, которые сгруппированы для оптимизации сигнализации.

Location Area Identification (LAI)
Location Area Identification (LAI) - это объединение MCC, MNC и LAC. Мобильная станция использует эту информацию в качестве важной основы для выбора сети.

p.s Для лучшего понимание вы можете отдельно почитать про это. Тут я затронул краткое описание с тем минимум который нам потребуется для реализации задуманного.

Практика:
Для начало нам надо установить Yate + YateBTS и настроить. Как это сделать я описал в сатья Поднимаем GSM станцию с помощью YateBTS и bladeRF правда есть тут один нюанс. Бесплатная версия Yate и YateBTS нам не подойдет так как она урезана. Нам понадобиться взломанная версия. Скачать можно с моего репозитория n3d-b0y/evilbts.

Складируем репозиторий в домашнюю директорию: git clone https://github.com/n3d-b0y/evilbts

А дальше продолжаем установку по инструкции до пункта (Настраиваем Web GUI YateBTS). Команду sudo ln -s /usr/local/share/yate/nipc_web yatebts меняем на sudo ln -s /usr/local/share/yate/nib_web yatebts и сново продолжаем настройку по инструкции.

Подними тестовую точку и проверим что у нас все работает перед тем как приступить к следующему шагу. Если сесть с именем Test PLMN появилась и нет никаких ошибок идем дальше (если ошибки все таки есть значит что то вы настроили не так).

Перед тем как приступить к клонированию базовой станции в настройках сим карты установками предпочитаемый тип сети 2G. У меня это делаеться следующем образом:


4095



4094





4093





4092


После того как это было сделано. Нам надо получить 3 параметра MCC / MNC и LAC оператора сети которой мы хотим подделать. На Android это можно сделать двумя способами. Первый это использовать стандартный функционал вывод Access the Android Testing menu второй это установив приложение из Google Play.

Первый вариант:
набираем код *#*#4636#*#* и перед нами открывается меню в маем случаи выбираю “Информация о телефоне 1” это первая сим карта в моем телефоне:


4091


В новом окне в самом низу найдем информацию с заголовком “Статистики сети” выглядеть это будет примерно так:

4090


Если посмотрите на имена колонок то найдете значения которые мы искали MCC / MNC и LAC. Значения будет брать из первой строчки 286 / 01 / 40500. Также отсюда нам понадобиться значения ARFCN это частота на которой мы будем вещать 44.

Второй вариант:
Устанавливаем приложение CellMapper. После установки открываем его и просматриваем все те же значения в более удобном формате:

4089


После того как мы получили всю нужную информацию переходим к настройке YateBTS. Открываем Web интерфейс переходим на вкладку BTS Configuration и устанавливаем следующие значения:

Код:
Radio.Band: EGSM9000 - так как сеть у нас 2G (в приложении CellMapper есть поле Band Name которое подсказывает что надо выставить)
Radio.C0: 44 (это параметр ARFCN)
Identity.MCC: 286
Identity.MNC: 01
Identity.LAC: 40500


4088


После того как все значения установили не забудьте нажать Submit. Вот мы и настроили YateBTS для подмены сотовой станции у абонента. Осталось только проверить все ли правильно мы сделали ;)

Перед запуском Yate зайдем в настройки сим карты в раздел Мобильные сети и убедимся что у нас стоит “Выбирать сеть автоматически”

4087


Также обратите внимание на подключенную сеть у меня это KKTCELL у вас будет ваш оператор. Запускаем Yate sudo yate -s. Буквально через 10 сек произошла подмена сети) Как можно увидеть на скриншоте ниже у меня по прежнему выбрано “Выбирать сеть автоматически” но сеть выбрана 712712.

4086


Также надо учиться тот факт чтобы произошла подмена требуется чтобы ваш сигнал был сильнее базовой станции.
Данные действия противозаконны в любой стране и все действия вы выполняете на свой страх и риск. Я не несу ответственность за то как вы будете распоряжаться данной информацией. Если ваш сигнал слишком мощный, вы можете нарушить работу устройств в вашем радиусе. Будьте осторожны.
p.s Вероятно эта последняя статья в ближайшее время связанное с bladeRF так как отпуск подходит к концу, пора уезжать с солнечного Кипра в страну для жизни)) Спасибо @HakJob за то что дал попользоваться bladeRF, без него не было этого материала.

Автор: n3d.b0y
 
Смотрел давненько вебинар Vektora там он всё реализовывал другими доступными инструментами (бук, мобильник и программное обеспечение Osmocom) и способом описанным на habr Здесь на много всё проще если не считать приобретение bladeRF, а так в наше время есть масса "девайсов" для поставленной задачи включая усилители сигнала... тыц
 
Смотрел давненько вебинар Vektora там он всё реализовывал другими доступными инструментами (бук, мобильник и программное обеспечение Osmocom) и способом описанным на habr Здесь на много всё проще если не считать приобретение bladeRF, а так в наше время есть масса "девайсов" для поставленной задачи включая усилители сигнала... тыц
На моторолах очень не стабильно все работает. И лучше все таки Лайм SDR)
 
На моторолах очень не стабильно все работает. И лучше все таки Лайм SDR)
limesdr не работает с yateBTS если мне не изменяет память.
Если изменяет, то ткните, плз, в маны, я с радостью бы поднял ятебтс на базе лаймсдрки

Смотрел давненько вебинар Vektora там он всё реализовывал другими доступными инструментами (бук, мобильник и программное обеспечение Osmocom) и способом описанным на habr Здесь на много всё проще если не считать приобретение bladeRF, а так в наше время есть масса "девайсов" для поставленной задачи включая усилители сигнала... тыц
Вот давние вебинары вектора, имхо, не то, чем надо руководствоваться для жээсээм хака.
Как по мне, то там такое количество ляпов архитектурных было (даже в приватных), что лучше смотреть что-то другое. Например, того же крейзи датского хакера, бастиена бараноффа и других.

Ну, и спрошу тут. Есть ли готовые сборки виртуалок для джсм хака под лаймсдр железку.
Интересует готовая сборка бски на опенбтсе, а также готовая сборка для прослушивания джсм пакетов на выбранной частоте (gnu radio +gr-gsm) для лаймсдрмини?
Сигинтос, вроде как не для лайсдрки из коробки.

Спасибо за ответы
 
Главный вопрос, как решается проблемма с хоппингом?
Всем привет.
Насколько я помню проблема с хопингом только при пасивном перехвате. Тут же автор пытается эмулировать сеть.
В идеале при перехвате берется кракен с радужками, глушилка до 2g и на выбор любая сдрка - от блейда до лайма, ну и прямые руки.
 
Ставил по сему мануалу, Blade-cli version 1.8.0 (BladeRF a4), libblade 2.2.1 , FPGA 0.10.2 при запуске yate ошибка

<bladerf/10:WARN> Failed to open USB device: USB reset failed - No device found [0x7f1ee4001130]
2020-11-12_03:19:24.060174 <gsmtrx:GOON> Failed to create radio interface: failure
ALERT 139862380549952 03:19:24.0 TRXManager.cpp:135:sendCommand: RESET failed with status 2
ALERT 139862380549952 03:19:24.0 OpenBTS.cpp:250:main: Failed to reset transceiver
2020-11-12_03:19:24.061158 <mbts:WARN> TRXManager.cpp:135:sendCommand: RESET failed with status 2
2020-11-12_03:19:24.061429 <mbts:WARN> OpenBTS.cpp:250:main: Failed to reset transceiver
2020-11-12_03:19:29.002178 <ybts:NOTE> Peer pid 22774 vanished
2020-11-12_03:19:29.999832 <ybts:NOTE> 'shutdown' command failed
2020-11-12_03:19:30.028546 <ybts:NOTE> State changed Running -> Idle
2020-11-12_03:19:31.001872 <ybts:GOON> Restart index reached maximum value 10. Exiting ...
Yate engine is shutting down with code 125

Трансивер не распознан как я могу понять из лога. В чём может быть дело? Версия FPGA? Libblade ?
 
по опыту скажу что все прокатывает, так как телефон он как баба, подключается к самому сильному сигналу)
+ рекомендую для большего радиуса купить в китае усилители радио сигналов так как блейд, вещает так себе (маленькое расстояние)
+ если юзать с распбери можно еще модем подключить 3-4г и взять под контроль ИНЕТ трубки клиента, ессено поднять прокси с функцией ssl-strp ,но это уже скорее не актуал
 
+ если юзать с распбери можно еще модем подключить 3-4г и взять под контроль ИНЕТ трубки клиента, ессено поднять прокси с функцией ssl-strp ,но это уже скорее не актуал
Конечно не актуал, кто пользуется 2g инетом в наше время, и уж тем более зачем это надо, кряхтеть-перехватывать с никакой скоростью
 
Конечно не актуал, кто пользуется 2g инетом в наше время, и уж тем более зачем это надо, кряхтеть-перехватывать с никакой скоростью

нет, тут фишка в том что сигнал сделать сильнее, и тогда трубка подцепится автоматом) а дальше уже, смотря какая задумка у атакующего)
 
Всем привет.
Насколько я помню проблема с хопингом только при пасивном перехвате. Тут же автор пытается эмулировать сеть.
В идеале при перехвате берется кракен с радужками, глушилка до 2g и на выбор любая сдрка - от блейда до лайма, ну и прямые руки.
а для krakena подойдет hhd ?и сколько нужно тарабайт?
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх