Статья Поднимаем GSM станцию с помощью YateBTS и bladeRF

00.jpg

Привет codeby.net!

Не так давно ко мне в руки попал такой устройство как bladeRF x115. Первое что мне захотелось сделать это поднять свою GSM станцию. Когда я начал этим заниматься у меня возникли сложности в процессе установки и настройки необходимого софта. Информации на русскоязычных площадках я не нашел а на зарубежных информация устарела. В процессе пришлось пройти через все грабли самому. В связи с этим собственно появилась мысль описать процесс установки и настройки YateBTS под bladeRF.

Настраивать будем под Ubuntu 18.04.

Для начало установим необходимые пакеты: sudo apt-get install -y libbladerf-dev git subversion autoconf apache2 php libapache2-mod-php g++ make libgsm1-dev libgusb-dev rlwrap

Затем установим ПО для bladeRF:
Код:
sudo add-apt-repository ppa:bladerf/bladerf
sudo apt-get update
sudo apt-get install bladerf

Установим FPGA в соответствии с вашей моделью bladeRF:
Код:
sudo apt-get install bladerf-fpga-hostedx40 # for bladeRF x40
sudo apt-get install bladerf-fpga-hostedx115 # for bladeRF x115
sudo apt-get install bladerf-fpga-hostedxa4 # for bladeRF 2.0 Micro A4
sudo apt-get install bladerf-fpga-hostedxa9 # for bladeRF 2.0 Micro A9

Устанавливаем Yate:
Код:
svn checkout http://voip.null.ro/svn/yate/trunk yate
cd yate
./autogen.sh
./configure
sudo make install-noapi
sudo ldconfig

Перемещаемся обратно домашнюю директорию: cd ~

Устанавливаем YateBTS:
Код:
svn checkout http://voip.null.ro/svn/yatebts/trunk yatebts
cd yatebts/

Прежде чем начать собирать проект нужно внести некоторые изменения иначе будет ошибка при зборки.

Откроем файл mbts/GPRS/MSInfo.cpp:
Код:
GPRSLOG(INFO,GPRS_MSG|GPRS_CHECK_OK) << "Multislot assignment for "<<this<<os;  - найдем эту строку
GPRSLOG(INFO,GPRS_MSG|GPRS_CHECK_OK) << "Multislot assignment for "<<this<<(!os.fail()); и заменим ее на эту

Сохраним изменение и перейдем к следующему файлу.

Тоже самое сделаем с файлом mbts/SGSNGGSN/Sgsn.cpp
Код:
SGSNLOGF(INFO,GPRS_OK|GPRS_MSG,"SGSN","Removing SgsnInfo:"<<ss);
SGSNLOGF(INFO,GPRS_OK|GPRS_MSG,"SGSN","Removing SgsnInfo:"<<(!ss.fail()));

SGSNLOGF(INFO,GPRS_OK|GPRS_MSG,"SGSN","Removing gmm:"<<ss);
SGSNLOGF(INFO,GPRS_OK|GPRS_MSG,"SGSN","Removing gmm:"<<(!ss.fail()));

Когда файлы будут исправлены можно перейти к сборке проекта.
Код:
./autogen.sh
./configure
sudo make install

Настраиваем Web GUI YateBTS:
Код:
cd /var/www/html
sudo ln -s /usr/local/share/yate/nipc_web yatebts
sudo chmod -R a+w /usr/local/etc/yate

- по этому адресу можно получить доступ к Web интерфейсу YateBTS

Настраиваем GSM BTS:
Откроем Web панель YateBTS

01.png


Переходим на вкладку BTS Configuration и выставляем настройки:
Код:
Radio.Band=900
Radio.C0=75
Identity.MCC=001
Identity.MNC=01
Radio.PowerManager.MaxAttenDB=35
Radio.PowerManager.MinAttenDB=35

02.png


После того как настройки выставлены нажимаем Submit. Теперь надо выставить разрешение на подключение к нашей станции. Переходим на вкладку Subscribers в правом нижнем углу выбираем Accept by REGEXP

03.png


В поле Regexp пишем .* и нажимаем Save.

04.png


Затем настроим перехват GSM сигнала. Для этого перейдем на вкладку BTS Configuration чуть ниже найдем вкладку Tapping. Выставим галочку напротив GSM и нажмем Submit.

05.png


Эта настройка позволяет захватывать GSM сигнал через GSMTAP. На этом минимальная настройка GSM сети закончена.

Запускаем BTS:
Запускаем GMS станцию командой sudo yate -s. Если все настроено правильно вы должны увидеть много текста среди которого будет:
Код:
Release 6.1.1 formal build date Jun  6 2019 rev671
2019-06-06_10:27:05.242232 <mbts:NOTE> proc 27570 GSMConfig.cpp:80:regenerateBeacon: thread 139826990253888: regenerating system information messages, changemark 1
Starting MBTS...

Также определить работает ли станция можно посмотрев на плату первый и последний светодиод должен гореть стабильно а центральный мигать. Включив поиск на телефоне доступных сетей мы должны увидеть Test PLMN 1 - 1 2G это и есть наша тестовая сеть.

06.jpeg


Зарегистрировавшись в сети мы получим стандартное сообщение его можно изменить в файле /usr/local/share/yate/scripts/nib.js на строчки 379.

07.jpeg


В Web интерфейсе на вкладке Subscribers чуть ниже перейдя кликнув по ссылки Online Subscribers мы видим зарегистрированных пользователей которые были онлайн за последних 10 дней (частоту обновлений можно изменить в настройках).

08.png


Установка модуля SMSSend:
Из коробки отправить произвольное сообщение клиенту нельзя но это можно сделать через сторонний модуль YateBTS_smssend. Давайте его установим (если у вас запущен yate остановить его перед начал установки модуля).

Код:
git clone https://github.com/Ark444/YateBTS_smssend.git
cd YateBTS_smssend
sudo make
sudo make install

Если нет ошибок установка прошла успешна. Запустим Yate затем в новом окне терминала подключаемся к удаленному интерфейсу: rlwrap nc localhost 5038. Выводим список зарегистрированы пользователи командой nipc list registered:
Код:
IMSI            MSISDN
--------------- ---------------
00101001100110   55124323

И по шаблону составляем команду для отправки сообщения smssend <MSISDN> <CALLER> <message> - smssend 5569413 911 Hello CODEBY.NET после отправки наблюдаем результат

09.jpeg


На этом пожалуй закончу. Если вам понравился материал вы можете прочить следующую стать в премиум разделе EvilBTS или подменяем GSM сети с помощью YateBTS и bladeRF ;)

p.s Если вам понравилась какая либо статья не забывайте нажимать кнопку
2019-06-24_11-55-07.png
это дает мотивацию автором для написание нового материала так как это все делаться на чистом индуизме.
 
Последнее редактирование:
Спасибо за статью, очень интересно! Вопрос что с помощью этой сети делать?)) в мир она "смотреть" не может, ограничено радиусом блейда?
 
Спасибо за статью, очень интересно! Вопрос что с помощью этой сети делать?)) в мир она "смотреть" не может, ограничено радиусом блейда?

Конкретно даную реализацию сети можно использовать исключительно для лабораторных тестов а делать можно с ней все что пожелаешь) Например можно попробовать прослушать трафик для перехвата смс с последующей расшифровкой.
 
Последнее редактирование:
  • Нравится
Реакции: А0038
Можно сделать частью охраной системы своего дома, прикинь сколько желания останеся вломится если он с порога получает смс типо "лапух я тебя вачеслю по твоему номеру"
чел кто берёт свою трубу с собой на делюгу заслуживает такого обращения, а мои наблюдения показывают что таких как минимум половина, если не больше, особенно если эпизод в черте города.
 
  • Нравится
Реакции: majklnovikov и InetTester
Конкретно даную реализацию сети можно использовать исключительно для лабораторных тестов а делать можно с ней все что пожелаешь) Например можно пробовать прослушать трафик для перехвата смс с последующей расшифровкой.
прослушать звонки и смс можно будет только для исходящей активности (то есть, только исходящие звонки и смс)

Можно сделать частью охраной системы своего дома, прикинь сколько желания останеся вломится если он с порога получает смс типо "лапух я тебя вачеслю по твоему номеру"
чел кто берёт свою трубу с собой на делюгу заслуживает такого обращения, а мои наблюдения показывают что таких как минимум половина, если не больше, особенно если эпизод в черте города.
ага, только еще глушилку на 4дж и 3дж диапазон повесить надо, чтобы словили именно твою 2гшную соту и количество таких твоих сот должно быть равно количеству операторов, имеющих покрытие в твоем регионе ))
 
  • Нравится
Реакции: unost и n3d.b0y
там другие методики для 3-4g. Из вариантов:

- операторская фемтосота с измененной прошивкой с выходом в сеть оператора абонента (на дефконе преза была, в теме по осмокому я ссылки вроде, как давал)
- призрачный телефонист (выглядит очень красиво и оборудование недорогое)
- своя сота, подобная описанной в этой теме, с выходом в какую-то операторскую сеть (абонент оказывается в роуминге в данном случае, что для него заметно буде)

Это из того, что вспомнилось, может что-то и забыл, то другие поправят.
 
  • Нравится
Реакции: prado
Внатуре чётко!

Вопрос: а в концепте, который описан в статье, человек подключившийся к нашей соте сможет позвонить? или отправить смс? но самое главное - сможет ли он воспользоваться интернетом?

если да - то мы сможем перехватить траффик? вернее даже не так. сможем ли мы расшифровать перехваченный интернет траффик?
Я слыхал что в казахстане силовики принудительно МИТМят клиентов сотовых сетей в целях безопасности. как же тогда HSTS?
 
не могу поднять веб интерфейс на kali пробовал все как в yatewiki но пишет что нет доступа к стр :/

Внатуре чётко!

Вопрос: а в концепте, который описан в статье, человек подключившийся к нашей соте сможет позвонить? или отправить смс? но самое главное - сможет ли он воспользоваться интернетом?

если да - то мы сможем перехватить траффик? вернее даже не так. сможем ли мы расшифровать перехваченный интернет траффик?
Я слыхал что в казахстане силовики принудительно МИТМят клиентов сотовых сетей в целях безопасности. как же тогда HSTS?
Там же описано как включить GSMTAP дальше Wireshark.
 
не могу поднять веб интерфейс на kali пробовал все как в yatewiki но пишет что нет доступа к стр :/
curl из консоли что возвращает? есть ошибки какие-то? больше инфы

Там же описано как включить GSMTAP дальше Wireshark.
а причем тут вайршарк. вопрос про HTTPS
 
n3d.b0y, а на лайме подобное запустить можно? и на обычной х86 архитектуре (а не на малинках)
интересует именно yatebts, а не openbts?
как выбрать лаймсдр в качестве радиоинтерфейса для yatebts?
 
вопрос по
bladeRF 2.0 Micro A4
скачал спец версию yate-rc запустилась сеть телефон видит,
но нет коннекта ,не регистрируется телефон ,
ВНИМАНИЕ ВОПРОС!?!
кто смог??? и как??? это сделать???
 
Опять старо.. такую хрень ещё со старыми телефонами Моторола делали..
 
А что ж насчет хотя бы имси катчера? на сколько я понимаю блейд и хак рф имеют возможность зацепить ту частоту в которой мы нуждаемся
 
Всем привет, выполнил все по инструкции, запускается, вручную подключается, но вот при попытке просмотра подключенных абонентов получаю ошибку

111.png

Помогите разобраться где не так(
 
вопрос по
bladeRF 2.0 Micro A4
скачал спец версию yate-rc запустилась сеть телефон видит,
но нет коннекта ,не регистрируется телефон ,
ВНИМАНИЕ ВОПРОС!?!
кто смог??? и как??? это сделать???
Покажи хоть лог или скрин какой, подробней описывай ошибку/проблему.
У меня на bladeRF 115 работает без проблем.
Сам как все поставленные задачи по работе с GSM решу, буду запускать LTE станцию.
 

Вложения

  • Screenshot_3.jpg
    Screenshot_3.jpg
    225,6 КБ · Просмотры: 457
  • Screenshot_2020-05-17-00-36-14-503_com.wilysis.cellinfolite.jpg
    Screenshot_2020-05-17-00-36-14-503_com.wilysis.cellinfolite.jpg
    111,6 КБ · Просмотры: 455
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!