MyTetra Share
Делитесь знаниями!
(Вебинар) Мобильная связь - небезопасна по умолчанию
Время создания: 26.08.2017 00:30
Раздел: Знания - Компьютер - Мобильные технологии
Запись: DuwazSandbox/mytetra/master/base/1503696627qpw77vynoy/text.html на raw.githubusercontent.com

Презентация - https://www.ptsecurity.com/upload/corporate/ru-ru/webinars/ics/webinar_7-08-2014.pdf

ggsm - gps-шлюз, который выпускает мобильный телефон в интернет. (Предоставляет доступ к Интернету + Сотовой связи + сторонним организациям)
Протоколы, которые поддерживает ggsm - snmp, telnet, ftp, http


ss7 (общеканальные системы сигнализации №7) - используется для управления телефонными вызовами. Объединяет всех телефонных операторов мобильной связи.


Для возможности передачи информации по IP-каналам был разработан SIGTRAN. Он связывает сети прошлых поколений с будущими.


С приходом конвергентных сетей получить доступ к сигнальной сети стало гораздо проще.


Компоненты в телефонной сети (Из чего состоит сеть мобильного оператора):

1) Радио-часть (наземная сеть базовых станций, контроллеры, мобильные телефоны) {не являются частью сети ss7}

2) MSC VLR (Mobile Switching Center; Visitor Location Reegister) - центр мобильной коммутации (кратко: коммутатор обрабатывающий вызовы). И при нём VLR (Временная база данных абонентов, которые сейчас находятся в зоне действия этого определлённого коммутатора)
3) Gateway MSC (Gateway Mobile Switching Center) - пограничный коммутатор. Нужен для обработки входящих вызовов. На него приходит звонок и он начинает искать, где находится абонент.

4) SMS-C (Short Message Service Center)

5) HLR (Homey Location Register) - это база данных, которая хранит в себе информацию обо всех мобильных абонентах операторов.

6) Billing или Billing'овая платформа - система, которая считает деньги.


Для того, что идентифицировать мобильного оператора используется:
1) GT (Global Title) - идентификатор (какого-то) узла в сети. Телефон таковым узлом не является.

2) MSISDN - фактический телефонный номер абонента

3) MSRN (Mobile Subscriber Roaming Number) - роуминговый номер мобильного абонента. Он идентичен обычному телефонному номеру и является временным идентификатором трубки, который используется исключительно на момент соединения коммутации звонка.

4) IMSI (International Mobile Subscriber Identity) - международный идентификатор абонента. Иногда его ещё называют номером сим-карты.


Телефонная связь не изолирована от внешнего мира, она окружена другими сетями и активно с ними работает и поэтому попасть в сеть сигнализации можно при помощи:

1) Корневые сети. Сети для обработки корневого трафика. (PSCore, IMS)

2) Различные сети доступа, к которым подключается абонент. (LTE, Wi-Fi, WiMAX, PON, DSL)

3) Сети обмена GPRS-трафиком (GRX, IPX)
4) Сети, с которых осуществляется управление и техническая поддержка (OAM; Remote control) всей инфраструктуры

5) IT networks для бухгалтерии, маркетинга...

6) Internet


Определение местоположения:
1) Выбирается телефонный номер жертвы.

2) Имея подключение к сигнальной сети, собирал информацию о сети оператора, в которой находился абонент-жертва. А именно о коммутаторе и VLR, который на данный момент обслуживали абонента. {Для получения информации о коммутаторе посылается запрос sendRoutingInfoForSM, указывая в качестве получателя номер телефона. Gateway MSC, на который приходит данный запрос, о не обладает информацией, которую запрашивает атакующий. А атакующий в этом случае представляется СМС-центром. Будто жертве кто-то хочет отправить смс. И дабы отправить СМС, СМС-центру нужно выяснить, где находится абонент, где и делается этот запрос. Gateway MSC, не обладая информацей перенаправляет запрос HLR'у, который обрабатывает этот запрос и отвечает Gateway MSC(пограничному коммутатору) следующее: а) Я HLR с таким-то Global Title'ом. б) твой абонент зарегистрирован на MSC VLR таком-то, сообщает его Global Title. в) IMSI абонента. Пограничный коммутатор сообщает данную информацию нам.}

3) Далее через запрос-информацию об абоненте можно получить идентификатор сотового, в которой находился телефон. {Посылаем запрос provideSubscriberInfo на MSC VLR и представимся HLR'ом, указывая его Global Title. Тем самым просим нам сказать, где находится абонент-жертва. После чего возвращаются Mobile Country Code, Mobile Network Code, Locall Area Code и самое главное Cell ID - то, что мы хотели узнать. Это идентификатор базовой станции, которая на данный момент обслуживает абонента.}

4) Имея этот идентификатор производится поиск на карте. {Сервисы для gsm-сигнализации позволяют по Cell ID найти точку на карте, где находится базовая станция.}


Прослушка переговоров:

Можно осуществить при помощи перенаправления вызова в сигнальной сети. Т.е. маршрутизирует вызов на своё оборудование.

1) Выбирается телефонный номер жертвы.

2) Собираем информацию об операторе. {Отправляется sendRoutingInfoForSM как при нахождении местоположения жертвы}

3) Посылаем запрос provideSubscriberData на MSC VLR и представимся HLR'ом, в котором указывается, что для абонента сменился адрес billing'овой платформы и, в качестве billing'овой платформы, злоумышленник указывает себя.

0) Это означает, что когда абонент А решат позвонить жертве, то запрос этого вызова обработает его домашний коммутатор. Коммутатор, в свою очередь, должен обратиться к billing'овой платформе, чтоб начать верификацию. Но этот запрос уходит злоуышленнику, который отвечает, что разрешает подключение и отсылает номер, куда следует маршрутизировать вызов. После чего маршрутизатор переводит звонок на номер, который был послан billing'овой системой. После этого злоумышленник может пообщаться с абонентом А. На этой стадии злоумышленник маршрутизирует вызов к жертве, подменяя номер, дабы абонент А видел, что он звонил жертве. В итого получается что-то наподобе конференции, где третий лишний. Причём злоумышленник в любой момент может прервать разговор.


Перехват сообщений:

1) Выбирается телефонный номер жертвы.

2) Собираем информацию об операторе. {Отправляется sendRoutingInfoForSM как при нахождении местоположения жертвы}

3) Представляемся перед HLR'ом как коммутатор, который обслуживает абонента-жертву. {Зная Global Title можем напрямую отправить запрос UpdateLocation, к котором указываем, что адрес MSC VLR сменился на адрес злоумышленника. После чего HLR начинает думать, что наш хост и есть MSC VLR, которым обслуживается абонент-жертва. Это работает потому что могла сложится такая ситуация, что переехав в другую страну, я подключаюсь к другой сети, где меня встречает MSC VLR.}

0) Абонент А отправляет сообщение жертве. Сообщение попадает в его MSC VLR и после в SMS-C, а SMS-центр, не зная, где искать абонента, спраживает об абоненте-жертвы у HLR'а. После чего получив адрес злоумышленника, SMS-центр отправляет сообщение злоумышленнику. Злоумышленник может оставить у себя SMS, может переслать в изменённом виде или переслать ещё кому-то.


Money Transfer (Using USSD)

Ущерб зависит от того, что предоставляет оператор (Какой набор сервисов реализован через USSD). Можно перевести деньги с счёта на др. счёт, оформить подписку на платные услуги стороннего контент провайдера.

1) Выбирается телефонный номер жертвы.

2) Собираем информацию об операторе. {Отправляется sendRoutingInfoForSM как при нахождении местоположения жертвы}

3) Теперь у нас всё есть. Отправляем например запрос о балансе (*100# processUnstructuredSS-Request), далее можно например переверсти деньги на счёт (*123*номер_карты*баланс# processUnstructuredSS-Request)

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования