Admin
Администратор
Перехват трафика сотовой сети с помощью подменной Базовой Станции (FakeBTS), OpenBTS, YateBTS.
ВведениеСложности реализации данной атаки и совершенно не полную картину происходящего и решил сразу же написать вторую часть. Так что за сложности? А дело в том, что в наших суровых реалиях, нужно будет находиться близко к цели и использовать Jammer (глушилку) что бы приглушить 2/3/4G и телефон упал в GSM сам для профита. Как минимум к оборудованию еще понадобятся яйца или
У китайцев огромной популярностью пользуются подменные БС для рассылки SMS-спама, но как вы должны понимать, этим функции не ограничиваются.
Зато в свободной продаже всякие приколюшки связанные с GSM протоколом, по той простой причине, что вышки в Китае уже давно работают на 2G минимум.
… Так вот с БС все куда проще. Сотовая связь устроена так, что устройство будет подхватывать самый мощный сигнал вышки и, если приглушить на короткое время девайс, или вышку полностью (в реализации интереснее, не нужно быть очень близко), тогда абонент перейдет под ваш контроль с нужным вам шифрованием (A5/1) или вовсе без него (А5/0)
Информации опять же очень много в свободном доступе, но приходится «додумывать» на ходу, кто-то найдет для себя что-то новое. Опишу самый короткий путь реализации данной атаки.
Немного повторюсь:
*MCC/MNC - код страны. Список всех MNC можно посмотреть здесь: http://mcclist.com/mobile-network-codes-country-codes.asp
*Cell ID - Идентификатор базовой станции.
*LAC (Location Area Code) — код географической зоны, которая обслуживается одним контроллером базовых станцией (BSC). Когда происходит входящий вызов, то оповещение одновременно получают все базовые станции данной зоны.
*ARFCN Absolute radio-frequency channel number — идентификатор, однозначно определяющий пару частот, используемых для приёма и передачи. Пример: за диапазоном 1800 закреплены номера 512 — 885. При этом частота передачи вычисляется по формуле 1710.2 + 0.2·(n−512), а частота приёма = частота передачи + 95.
* IMSI - международный идентификатор мобильного абонента (индивидуальный номер абонента), ассоциированный с каждым пользователем мобильной связи стандарта GSM, UMTS или CDMA. Во избежание перехвата, этот номер посылается через сеть настолько редко (только аутентификация пользователя), насколько это возможно — в тех случаях, когда это возможно, вместо него посылается случайно сгенерированный TMSI.
*TMSI - временный идентификатор мобильной станции GSM (мобильного телефона). TMSI назначается после успешной аутентификации и используется в процессе установки звонка, регистрации в сети и т. д. TMSI используется из соображений безопасности, для сокрытия других идентификаторов абонента, а именно, во избежание передачи IMSI через радиоэфир.
Все действия необходимо проводить только в своей сети со своими абонентами!
Перехват чужих переговоров и СМС являются нарушением закона!
Подбор железа
Тут все не так однозначно как по цене, так и по сути работы SDR.
Необходим Full-Duplex по той простой причине что трубка обменивается данными аутентификации и регистрируется в БС (получает TMSI, соотносит с номером абонента и т.д. т.п.).
Устройства типа HackRF - Half-Duplex не подойдут. Они работают только в режиме приема, либо передачи.
Сам Майкл Осман (создатель) о переделке HackRF в полный дуплекс:
«If you were to try to redesign the RF section on HackRF One to support full-duplex, the main thing to focus on would be the MAX2837 (intermediate frequency transceiver). This part is half-duplex, so you would either need two of them or you would have to redesign the RF section to use something other than the MAX2837, likely resulting in a radically different design. If you used two MAX2837s you might be able to use one RFFC5071 instead of two RFFC5072s.»
Кратко - все в устройстве кроме питания (необходим дополнительный блок), программной части и трансивера MAX2837 поддерживают такой апгрейд. В твиттере Османа есть схема full-duplex. Попробую обязательно напишу результат
Самый простой и дешевый, очень популярный девайс - два телефона Motorola с123/с113/с118
В статье я упущу материал по установке и настройке сославшись на блог Pentestit на Хабре с полнейшим мануалом - https://habr.com/company/pentestit/blog/331406/
И покажу вам другу сторону данного телефона, это сканер-помощник поиска ARFCN Отличная вещь!
И уже полноценный SDR, приемлемый по цене и функционалу – BladeRF (~400$)
замаскированнный под принтер
По качеству исполнения есть устройство превосходящее - LimeSDR (~40-60 т.р) Есть версия Mini, а есть и полноценная - два канала на прием и два на передачу. Шикарно то что выходит вообще за область бытия и просиживания задницы на стуле… из Lime возможно сделать, доплеровский радар. Вам однозначно не будет скучно c SDR.
Полноценные по ширине канала от Fairwaves:
UmTRX Price: $950.00
Детище Ettus Research:
USRP B210 Price: $1216.00
USRP B200 Price: $745.00
Но у UmTRX есть преимущества:
- все схемы платы и исходные коды софта доступны под open source лицензией
- дешевле, чем аналогичная конфигурация на USRP
- плата может работать с двумя независимыми каналами, в то время как USRP имеют только один канал
- GPS для точной подстройки опорного генератора частоты уже встроен, а не закупается отдельно, как в USRP (плавающая частота генератора приводит в GSM к проблемам)
Установка, конфигурация, запуск
Опишу общие принципы работы, все остальное поковырять самому и прочесть предлагающиеся мануалы ниже. Подробно пошаговые инструкции по установке. Самое главное на что нужно обратить внимание:
- Вы прописываете в конфигурационных файлах или напрямую в веб-интерфейсе такие параметры как - LAC / MCC / MNC предварительно «подглядев» их в открытых источниках.
- Понижаете «сiphering mode» до A5/0.
- Покупаете / подключаете IP телефонию с подменой CallerID и интеграцией с Asterisk (этих услуг более чем достаточно на просторах).
- Цепляете абонента. Он получает внутренний номер. Исходя из настроек Asterisk’a получает CallerID при звонке.
Код:
/etc/asterisk/iax.conf
[VoicePulse]
type=peer
host=server.example.voicepulse.com
username=SomeuSer
secret=PaSsWorD
Код:
/etc/asterisk/sip.conf
[sipuser]
type=peer
host=dynamic
username=allan
secret=1234
context=outgoing
Код:
[outgoing]
exten => _1NXXNXXXXXX,1,SetCallerID(2024561111)
exten => _1NXXNXXXXXX,n,Dial(IAX2/VoicePulse/${EXTEN})
Что использовать:
YateBTS
https://wiki.yatebts.com/index.php/Installing - полноценный мануал по установке.
https://wiki.yatebts.com/index.php/Network_in_a_PC - настройка, веб-морда(!), asterisk, sip-транки.
OpenBTS – онли консоль.
https://github.com/RangeNetworks/dev/wiki
http://openbts.org/wiki/
OsmoBTS – тут все еще жестче, но стабильнее всего.
https://osmocom.org/projects/osmobts/wiki/Wiki
Про сотовую связь на этом все