Почему двухфакторной аутентификации недостаточно

SigPloit SS7 Tool

 | 
 | 
 | 

SigPloit  Telecom Signaling Exploitation Framework — SS7, GTP, Diameter & SIP

SigPloit Screenshot

SigPloit

SigPloit a signaling safety testing framework dedicated to telecom security professionals and researchers pentesting and exploiting vulnerabilities in the signaling protocols used by mobile operators regardless of the generation being used. SigPloit aims to cover all used SS7, GTP (3 G), Diameter (4 G) or even SIP protocols for IMS and VoLTE infrastructures used in the access layer and SS7 message encapsulation in SIP-T. Recommendations will be made for each vulnerability to guide the tester and the operator in the steps to improve their safety position

Note: In order to test SS7 attacks, you need an SS7 access or you can test the used values in the virtual laboratory with the provided server sides of the attacks.
SigPloit is referenced in GSMA document FS.07 «SS7 and Sigtran Network Security» for a brief introduction on SigPloit and Telecom Architecture in general.

Version 4: SIP

This version will deal with SIP as the signaling protocol used in the LTE(VoLTE) and IMS infrastructure access layer for voice over. SIP will also be used to encapsulate SS7 messages (ISUP) to be transmitted to SS7 networks via VoIP providers using the SIP-T protocol, an extension to SIP protocol to provide intercompatibility between VoIP and SS7 networks.

Version 5: Reporting

The reporting feature will be introduced in this last version. A comprehensive report with the tests performed in conjunction with the recommendations for each vulnerability exploited.

The requirements for this project are:

To run use

SS7 с течением времени не меняется

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

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

Особенно важным здесь можно назвать то, что злоумышленнику не требуется быть вблизи абонента, поэтому его крайне трудно вычислить, фактически невозможно. При этом уязвимости SS7 позволяют читать СМС-переписку и прослушивать звонки, что ранее было доступно только спецслужбам, а также взламывать различные соцсети.

Данные Positive Technology показывают, что входящие SMS-ки удается перехватить практически в 9 случаях из 10 (89%). Если говорить о несанкционированном запросе баланса, то результаты еще более плачевны – успех достигается в 92% атак. А телефонные голосовые вызовы перехватывались примерно в половине случаев. Более того, примерно с таким же результатом (около половины случаев) получалось выяснить месторасположение жертвы.

Приведенная информация отлично иллюстрирует тот факт, что злоумышленники обладают широким набором возможностей. В качестве примера подобных действий в системе SS7 можно привести перенаправление вызовов, смена профиля абонента, несанкционированный перевод денег со счета. В частности, исследователи смогли перенаправить около 94% входящих вызовов и около 45% – исходящих. А перевод денежных средств со счета абонента удавался в 64% попыток.

Ключевая проблема SS7 – отсутствие проверки фактического местоположения абонента. Кроме того, в системе нельзя оценить принадлежность конкретного абонента сети, нет средств для фильтрации неиспользуемых сигналов. Очевидно, что в настоящее время SS7 требует серьезной доработки. Ведь система ставит под угрозу безопасность множества абонентов, которые совершенно не подозревают, что потенциально могут стать жертвой прослушки.

Определение местоположения абонента

А теперь перейдем к настоящим атакам. Первое, что приходит на ум, — определить, где находится абонент. Наверняка в недрах мобильной сети должна быть информация о текущем положении абонента. И на самом деле она там есть, правда точность ее не всегда одинакова. Чтобы прояснить этот вoпрос, придется опять погрузиться в технологию связи.

Структура сотовых сетей

Каждый видел антенны базовых станций сотовой связи: в городах ими усеяны практически все высотные здания. За пределами городской застройки антенны базовых станций чаще всего устанавливают на специальных мачтовых сооружениях. Базовые станции обеспечивают радиопокрытие сети, которое в идеале, конечно, должно быть без белых пятен. Базовые станции подключаются к контроллерам — BSC (Base Station Controller) в стандарте GSM и RNC (Radio Network Controller) в стандарте UMTS. Контроллеры подключаются к коммутатору MSC.

На базовой станции, как правило, устанавливают несколько антенн, каждая из которых покрывает свой сектор, или соту. Каждая сота имеет идентификатор CID — Cell ID. Соты объединяются в группы, называемые Location Area, и определяются идентификатором LAC — Location Area Code. Часто в Location Area входят все сектора, базовые станции которых подключены к одному контроллеру.

Идентификатор соты, обслуживающей абонента в каждый момент вpемени, хранится в базе данных контроллера. Но контроллеры — и BSC, и RNC — подключаются напрямую к коммутатору и не имеют подключений к внешним сетям. Вытянуть оттуда информацию практически невозможно.

Каждый MSC тоже имеет свою базу — VLR (Visited Location Register), где хранится информация обо всех абонентах, попавших в зону действия этого коммутатора. Там даже есть данные LAC и CID для абoнентов, но значение CID обновляется только в тот момент, когда абонент переходит через границы Location Area или совершает какое-либо другое активное действие. Хотя с точки зрения сети изменение информации о новом LAC — это такая же активнoсть, как и телефонный звонок.

Коммутатор, в отличие от контроллеров, имеет соединение с внешними сетями, и злоумышленник с доступом к SS7 может получить из его базы данных информацию о местоположении абонентов.

Трехходовка

Теперь, когда мы знаем, как строятся сети мобильной связи, нам легко будет разобраться в технике атаки. Первый ход абсолютно повторяет действия для получения IMSI абонента и адреса обслуживающего его коммутатора. Повторим: это делается с помощью сообщения(злоумышленник эмулирует работу SMS-центра).

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

Стандарт для SMS-сообщений подразумевает возможность сформировать сообщение таким образом, что оно будет невидимым для абонента, так называемое Silent SMS. Телефон принимает сообщение, но не сигнализирует о его получении и не отображает его в списке принятых SMS.

Вторым ходом злоумышленник продолжает эмулировать работу SMS-центра. Он отправляет Silent SMS искомому абоненту в сообщении. Само сообщение отправляется на коммутатор, адрес которого был получен на первом ходе, а адресация абонента происходит по IMSI. После прохождения этого сообщения информация о местоположении абонента в базе коммутатора обновится. Теперь там содержатся данные об актуальных LAC и CID.

Осталось совсем немного — отправить запрос в коммутатор для получения данных об обслуживающей абонента соте. Это делается сообщением, кoторое отправляется на коммутатор, абонент адресуется по IMSI. (Как мы помним, и адрес кoммутатора, и IMSI абонента у нас уже есть.) В сетях мобильной связи это сообщение используется для пeредачи информации о местоположении вызываемого абонeнта для онлайн-тарификации. Если абонент находится в роуминге, включается соответствующая тарификационная схема.

Сообщениевозвращает полный набор идентификаторов обслуживающей соты: MCC — Mobile Country Code, MNC — Mobile Network Code, LAC, CID. В интернете много сервисов, позволяющих по этим четырем параметрам определить географические координаты базовой станции и даже примерную зону покpытия соты. На рис. 3 показан результат определения моего местоположения в момент написания этой статьи. Точкой отмечена базовая станция, а здание, где я сижу, действительно находится в пределах указанного круга.

SS7: A hole in the phone

Intercepting SMS messages is possible because of vulnerabilities in a set of telephony signaling protocols referred to by a common name — SS7 (aka Signaling System 7, aka Common Channel Signaling System 7).

These signaling protocols are the backbone of the contemporary telephone communication system; they are designed to transmit all of the service information within a telephone network. They were developed as far back as the 1970s and implemented for the first time in the 80s, and since then they have become a worldwide standard.

Initially, SS7 protocols were designed for fixed phones. The idea was to physically separate voice and service signals by putting them on different channels, and it was done to harden protection against telephone intruders using special boxes to imitate the tone signals used at the time to transfer service information within telephone networks. (Yes, the same boxes Steve Jobs and Steve Wozniak were making back in the day — but that’s another story.)

The same set of protocols was implemented later, in mobile networks. In between, developers added a range of features. Among other things, SS7 is used to transfer SMS messages.

But information security was not a matter of concern fifty years ago — at least, not for civil technologies. Efficiency was what mattered, and that got us the efficient but insecure Signaling System 7.

The main weak point of this system (along with many other systems designed in those times) is that it is based on trust. It was assumed that only network operators would access it, and they were generally thought to be nice guys.

Ultimately, however, the system’s security level is defined by the least protected member. If any of its operators is hacked, then the whole system is compromised. The same is true if any network administrator working for any of those operators decides to exceed authority and to use SS7 for their own purposes.

SS7 access can allow someone to wiretap conversations, determine the location of the user, and intercept SMS messages, so it’s no surprise that both secret services of various countries and criminals are active users of unauthorized SS7 access.

How the attack actually happened

In the case of the recent attack in Germany, it went like this:

1. Users’ computers were infected by a banking Trojan. It’s very easy to be infected by a Trojan if you do not use a security solution, and they can work without any obvious signs, so users may not notice them at all.

Using the Trojan, hackers stole bank logins and passwords. (Of course, stealing those credentials is not enough in most cases — the confirmation code from the bank sent by SMS is also required.)

2. Apparently, the same Trojan was used to steal the users’ phone numbers. This data is usually requested when people make purchases online, and it’s not hard to steal. So, the crooks had both the credentials to access the users’ bank accounts and their mobile phone numbers.

3. The criminals used the stolen bank logins to initiate the money transfer to their own bank account. After that, having access to SS7 on behalf of some foreign carrier, they forwarded SMS messages sent to those phone numbers to their own phone and received the confirmation codes they needed to complete the logins and transfer money. The bank didn’t have a reason even to suspect possible abuse.

The German carrier whose subscribers were harmed by this case has confirmed the attack. The foreign carrier whose SS7 network access was used for the attack was blocked, and affected persons were notified. We do not know if they managed to get the money back.

Don’t you still need an antivirus?

Two-factor authentication is usually considered solid security — if no one but you has access to your mobile phone, then who else could read a message on it? Well, anyone who has access to the SS7 system and who is interested in using your SMS messages to get to your money.

What can you do to build proper two-factor authentication and protect against attacks similar to the one described in this post? Here are two tips.

SMS is not the only solution for two-factor authentication. See if your bank supports other, more secure variants such as the Google Authenticator app and cryptographic USB keys.

Использование ОКС-7

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

В процессе перемещения некоторых некритичных функций за пределы основных протоколов сигнализации и для сохранения гибкости ОКС-7 появилась концепция разделённых сервисных уровней, реализованная в интеллектуальных телефонных сетях. Сервис, предоставляемый интеллектуальными сетями — это прежде всего услуга преобразования телефонного номера (например, когда бесплатный номер преобразуется в обычный абонентский номер телефонной сети общего пользования). Другие услуги — это АОН, то есть автоматическое определение номера вызывающего абонента, блокирование номеров абонентов, автоматическая переадресация вызова (звонка), удержание вызова (звонка), конференция, предоплаченные звонки. Разные поставщики оборудования предоставляют разные сервисы для абонентов.

ОКС-7 также важен при стыковке VoIP-сетей и телефонной сети общего пользования. В настоящее время сигнализация ОКС-7 нашла реализацию в популярной платформе IP-телефонии Asterisk версии 13 и выше.

ТЕРМИНЫ И ОБОЗНАЧЕНИЯ

Diameter — сигнальный протокол, используемый в телекоммуникационных сетях для передачи служебных данных.

DEA (Diameter Edge Agent) — пограничный агент. Обычно он функционирует на границе сигнальной сети оператора и служит в качестве прокси-агента для сигнального трафика из сетей других операторов.

DRA (Diameter Routing Agent) — агент маршрутизации. Осуществляет маршрутизацию Diameter-трафика.

HSS (Home Subscriber Server) — сервер абонентских данных

Один из важнейших элементов в инфраструктуре сетей четвертого поколения стандарта LTE, служит для хранения важной пользовательской информации и информации о действиях абонентов

IMSI (International Mobile Subscriber Identity) — международный идентификатор абонента мобильной сети. Служит для уникальной идентификации абонента сотовой связи во всем мире.

MME (Mobility Management Entity) — узел управления мобильностью. Обеспечивает возможность переключения между базовыми станциями, работу в роуминге, аутентификацию пользовательских устройств путем взаимодействия с HSS, а также отвечает за выбор обслуживающего шлюза.

SS7 (Signaling System 7) — общеканальная система сигнализации, используемая в международных и местных телефонных сетях по всему миру.

Подсистемы ОКС-7

Стек протоколов ОКС-7 отталкивается от модели OSI и имеет только четыре уровня. Уровни совпадают с уровнями OSI 1 (физический), 2 (канальный) и 3 (сетевой). Уровень 4 ОКС-7 соответствует уровню 7 OSI. Уровни называются MTP (англ. Message Transfer Part) 1 , MTP 2 и MTP 3. Уровень 4 ОКС-7 содержит несколько различных пользовательских уровней, например Telephone User Part (TUP), ISDN User Part (ISUP), Transaction Capabilities Application Part (TCAP) и Signaling Connection and Control Part (SCCP).

MTP описывает транспортные протоколы, включая сетевые интерфейсы, обмен данными, обработка сообщений и маршрутизация их на верхний уровень. SCCP — это подуровень из других протоколов 4 уровня, и вместе с MTP 3 может быть назван Network Service Part (NSP). NSP обеспечивает адресацию и маршрутизацию сообщений и сервис управления для других частей 4 уровня. TUP — это система сигнализации точка-точка для обслуживания вызовов (в России не применялась). ISUP — это ключевой протокол, предоставляющий канально-ориентированный протокол для установки, подключения и завершения соединения при звонке. Выполняет все функции TUP и множество дополнительных. TCAP используется для создания запросов к базе данных и используется при расширенной функциональности сети или как связующий протокол с интеллектуальными сетями (INAP), мобильными службами (MAP) и т. д.

How does SS7 work?

The set of SS7 telephony signaling protocols is responsible for setting up and terminating telephone calls over a digital signaling network to enable wireless cellular and wired connectivity. It is used to initiate most of the world’s public telephone calls over PSTN (Public Switched Telephone Network).

Over time other applications were integrated into SS7. This allowed for the introduction of new services like SMS, number translation, prepaid billing, call waiting/forwarding, conference calling, local number portability, and other mass-market services.

Components and elements that make up the SS7 Protocol Stack –

How do SS7 attacks work?

SS7 attacks exploit the authentication capability of communication protocols running atop the SS7 protocol to eavesdrop on voice and text communications. According to telecommunications experts, all a cyber criminal would need to successfully launch an SS7 attack are a computer running Linux and the SS7 SDK – both free to download from the Internet.

Once connected to an SS7 network, the hacker can target subscribers on the network while fooling the network into thinking the hacker device is actually an MSC/VLR node.

What’s in it for the Hackers?

When a hacker successfully performs a MitM phishing attack, they gain access to the same amounts and types of information that are usually reserved for the use of security services. Having the ability to eavesdrop on calls and text messages, as well as device locations empowers hackers to gain valuable information.

A common security precaution used by many is one of the targets of SS7 attacks. Two-factor authentication (also known as 2FA) via SMS using SS7 is inherently flawed as these SMS messages are unencrypted and hackers know how to intercept them. With the code from the SMS in their hand, a cyber-criminal can potentially reset your password to Google, Facebook, WhatsApp account, or even your bank account.

The Risks to Digital Businesses

It doesn’t take an expert to see that it takes little skill and equipment for a hacker to successfully mount a  man-in-the-middle MitM phishing attack. With most businesses managing their communications over cellular connections, it’s clear that SS7 attacks pose a significant risk. It’s important to remember that isn’t not only proprietary or confidential information hackers are interested in. The growing prevalence of IoT devices relyant on mobile networks to transmit data is expanding the risk playing field.  

An enterprise’s IoT infrastructure, critical services can be prime targets. Such attacks can lead to potentially damaging breaches of confidential information as well as hijacking or disabling of mission-critical devices and services. 

Considering how high the risks are, manufacturers are doing too little to warn businesses using IoT devices about potential security vulnerabilities in their products. This exposes network operators to attacks through compromised customer IoT devices on their network.

Get an SS7 Connection for the hack:

Get SS7 Global Title and Point Code: For an SS7 connection, one should have a Global Title and a point code (international), a local point code (local, between you and mobile operator )can be used, depends on ss7 connection provider. If one is a  mobile operator, then get this from the standard GSM body. New network code is assigned by gsm so that you can have a big range of global titles or MSISDNs and IMSIs.

If not a mobile operator, one can take a global title on lease from a mobile operator. Once you have GT, now there are the following options.

SS7 connection via an aggregator: In this, you can connect to an SS7 aggregator and they can publish you GT, on all networks. So any traffic coming to your GT will be forwarded by aggregator towards your node or application. Mostly MVNO does this, they have GT ranges, those are published to an aggregator for connecting mobile network operators globally.

Directly with a Mobile Operator: In this, you will have direct links with mobile operators, each will set routing for your GT, towards the serving node. In this, you need to connect each mobile operator Individually.

SS7 vs Sigtran:

If you are using pure SS7 (E1/T1), then the box with the application should be on the premises of mobile operators. If using SIGTRAN, which is IP based, You can have your box in a data center on the cloud.

2.6 Frequency Hopping

Frequency Hopping (FHSS)методов расширения спектра

  • Уменьшение влияния интерференции. Благодаря частой смене частоты, интерференция может влиять на сигнал лишь в течение короткого промежутка времени.
  • Защита данных от несанкционированного доступа. Не зная алгоритма, по которому изменяется частота сигнала, невозможно выделить нужные данные из шумоподобного потока.
  • Усложнение глушения сигнала. Frequency Hopping затрудняет «нацеленное» (т.е. глушение определенного устройства, либо совокупности устройств) глушение сигнала. В этом случае приходится глушить весь занимаемый диапазон частот, что требует использования более дорого и мощного оборудования.

SS7 hack applications examples:

Any application which required user verification from SMS or voice can be hacked by the ss7 network. We will cover the ss7 call flows for WhatsApp and Facebook.

ss7 hack Whatsapp:

Whatsapp is used everywhere. It does the message and file transfer over the IP network. It connects your phone book to the others using phone numbers. So no need to add a contact explicitly.  Like in skype, we need to create an account and need to add other skype ids before any communication. But with this app, the phone number is the profile id.  While installing WhatsApp it requires user authentication via SMS.  If WhatsApp needs to hack, after installation, run the ss7 hack software app and received the authentication message on the hack software app.  Enter the code in installed WhatsApp. Now you can have messages on your WhatsApp, while the number belongs to another guy.

2 : Основные функции и возможности WhatsApp

Частые нападки критиков вынудили разработчиков обратить особое внимание на технические характеристики и систему безопасности приложения. Внедрённые новшества сделали мессенджер более удобным в использовании и повысили уровень защиты персональных сведений

Вся пересылаемая через мессенджер информация проходит этап сквозного шифрования, что делает её недоступной для злоумышленников.

WhatsApp открывает перед пользователями следующие возможности:

  1. Отправка текстовых и голосовых сообщений.
  2. Передача информации о текущем местоположении
  3. Хранение и передача медиафайлов и данных
  4. Аудио и видеозвонки в любую точку мира
  5. Поддержка каналов и групповых диалогов

What Does an SS7 do?

  • Routes calls and messages between different networks.
  • Short Messaging Service (SMS)
  • Out of Band Signaling
  • Information Exchange functions (Dial Tone, Call-Waiting Tone, Voice Mail, etc)
  • Switching from one Cell Tower to another.
  • Prevents Call drops without a decrease in quality.
  • Allows users to roam on another when travelling in a different location.
  • Number Translation
  • Local Number Portability
  • Prepaid Billing

SS7 is used in as many as 800+ telecommunication companies around the world, SS7 also Helps Banks in confirming the presence of their customer’s phone in a specific country to authorize their transactions and prevent fraudulent activities.

Example capture file

Example of GSM MAP packet captured on a TDM link.

No.     Time        Source                Destination           Protocol Info
   2698 0.022371    7                     2                     GSM MAP  Invoke processUnstructuredSS-Request

Frame 2698 (99 bytes on wire, 99 bytes captured)
    Arrival Time: Aug 12, 2005 14:39:35.572690000
    Time delta from previous packet: 0.022371000 seconds
    Time since reference or first frame: 41.288610000 seconds
    Frame Number: 2698
    Packet Length: 99 bytes
    Capture Length: 99 bytes
    Protocols in frame: mtp2:mtp3:sccp:tcap:gsm_map
Message Transfer Part Level 2
    .101 0101 = Backward sequence number: 85
    1... .... = Backward indicator bit: 1
    .101 1000 = Forward sequence number: 88
    1... .... = Forward indicator bit: 1
    ..11 1111 = Length Indicator: 63
    00.. .... = Spare: 0
Message Transfer Part Level 3
    Service information octet
        10.. .... = Network indicator: National network (0x02)
        ..00 .... = Spare: 0x00
        .... 0011 = Service indicator: SCCP (0x03)
    Routing label
        .... .... .... .... ..00 0000 0000 0010 = DPC: 2
        .... 0000 0000 0001 11.. .... .... .... = OPC: 7
        0001 .... .... .... .... .... .... .... = Signalling Link Selector: 1
Signalling Connection Control Part
    Message Type: Unitdata (0x09)
    .... 0000 = Class: 0x00
    0000 .... = Message handling: No special options (0x00)
    Pointer to first Mandatory Variable parameter: 3
    Pointer to second Mandatory Variable parameter: 5
    Pointer to third Mandatory Variable parameter: 9
    Called Party address (2 bytes)
        Address Indicator
            .1.. .... = Routing Indicator: Route on SSN (0x01)
            ..00 00.. = Global Title Indicator: No Global Title (0x00)
            .... ..1. = SubSystem Number Indicator: SSN present (0x01)
            .... ...0 = Point Code Indicator: Point Code not present (0x00)
        SubSystem Number: MSC (Mobile Switching Center) (8)
    Calling Party address (4 bytes)
        Address Indicator
            .1.. .... = Routing Indicator: Route on SSN (0x01)
            ..00 00.. = Global Title Indicator: No Global Title (0x00)
            .... ..1. = SubSystem Number Indicator: SSN present (0x01)
            .... ...1 = Point Code Indicator: Point Code present (0x01)
        ..00 0000 0000 0111 = PC: 7
        SubSystem Number: ISDN User Part (3)
Transaction Capabilities Application Part
    begin
        otid: 03C30300
        dialoguePortion: 281C060700118605010101A011600F80020780A109060704...
        oid: 0.0.17.773.1.1.1 (itu-t(0) recommendation(0) q(17) 773 as(1) dialogue-as(1) version1(1))
        dialog: 600F80020780A109060704000001001302
        dialogueRequest
            Padding: 7
            protocol-versionrq: 80 (version1)
                1... .... = version1: True
            application-context-name: 0.4.0.0.1.0.19.2
        components:
GSM Mobile Application
    invoke
        invokeId: invokeid (0)
            invokeid: 1
        invokeCmd: processUnstructuredSS-Request (59)
        ussd-DataCodingScheme: 00
        ussd-String: AA182C368AC966B49A6D74C3E560
        msisdn: 91030000
        1... .... = Extension: No Extension
        .001 .... = Nature of number: International Number (0x01)
        .... 0001 = Number plan: ISDN/Telephony Numbering (Rec ITU-T E.164) (0x01)
        ISDN Address digits: 3000
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector