Você está na página 1de 67

A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Análise de ataques / vulnerabilidades SS7 / Sigtran


usando Wireshark ( e / ou tshark) e Snort

Madrid, março 2018.

Por: Alejandro Estrada Corletti ( acorletti@darFe.es - acorletti@hotmail.com )

CONTEÚDO

1. Propósito deste documento.

2. Apresentação.

3. Introdução ao SS7 / Sigtran.

3.1. sinalização SS7.

3.2. SIGTRAN.

4. Apresentação dos diferentes tipos de ataques.

4.1. análise IR 82 GSM (SS7 de Segurança sobre a implementação da rede SS7.

4.2. Classificação de diferentes tipos de ataques.

4.3. A análise detalhada.

5. análise de tráfego de captura: à procura de padrões, uso de Wireshark.

6. A análise do tráfego usando capturas Haxixe.

6.1. O arquivo de configuração.

6.2. Saídas.

6.3. Os SS7.rules.

7. ferramentas adicionais.

7.1. MATE (Análise Meta e Tracing Engine) para Wireshark.

7.2. Tshark.

7.3. quadros unificadores (mergecap).

7.4. Pegar informação (capinfos).

8. Conclusões.

Referências

Alejandro Estrada Corletti p.1


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

1. Propósito deste documento.


Apresentar uma metodologia de trabalho altamente técnico que permite: detectar, identificar e
avaliar ataques de rede SS7 / Sigtran através de " análise de tráfego "Com base nas ferramentas" Wireshark
"(Y / ou tshark) e " bufar ".

2. Apresentação.
Há vários anos ( poderíamos dizer que em datas próximas a 2010), começou a ouvir que este
sistema de sinalização ( real coração de toda a rede de voz global e certos tipos de dados )
apresenta sérios problemas de segurança . A exploração deles abre um leque para todos os
tipos de ataques de hoje já estão em execução em várias operadoras de telefonia, roubar
dinheiro de contas bancárias, telefonemas interceptar, localizar a posição de telefones celulares,
fazendo diferentes tipos de voz fraude e navegação, correndo negações de serviço, etc. Ao
longo destas linhas, não vamos desenvolver o SS7 (Signaling System 7), nem Sigtran (Signaling
Transport), faremos apenas uma breve apresentação deles para entender o problema. Vale
ressaltar que o " análise de tráfego "É o SOMENTE metodologia que temos de compreender e
avaliar tais anomalias em nossos fluxos de sinalização. Ousamos fazer essa afirmação, apoiada
por uma série de documentos e regras estará apresentando neste documento. Temos um problema
sério para o nível Mundia ly estende necessariamente, pelo menos durante os próximos dez
anos, porque esta sinalização só será substituído quando todos os troncos protocolos de
emprego global SIP e / ou diâmetro que são voz sobre IP, ou seja, quando o fim para acabar
com conectividade para todos os serviços é empacotados de voz através da pilha TCP / IP.

Alejandro Estrada Corletti página 2


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

3. Introdução ao SS7 / Sigtran.


3.1. Sinalização.

A finalidade básica de sinalização é estabelecer uma informação de controle de câmbio


linguagem que permite que duas linhas de telefone em qualquer parte da rede de
telefone para se comunicar uns com os outros.

Especificamente, abrange todos os aspectos relacionados a:

Estabelecimento.

Fechar manutenção

Uma comunicação ( hoje, seja de voz ou de dados).

SS7 entra em produção na década de 80 ', como uma rede " fechado " operadoras de
telefonia, definida como sinalização por canal comum . Estabelece os procedimentos e
protocolos para a troca de informações entre entidades residentes de uma rede de
sinalização { telefonia fixo (PSTN) - rede pacotes (PDTN) - telefonia móvel (PLMN)}

de controle, monitoramento, acesso, gerenciamento e encaminhamento de canais de voz


ou de dados transmitidos nas ligações digitais PCM
( Pulso Modulação Codificada - Pulse Code Modulation).

Se nós entrarmos em um pouco mais detalhadamente, existem dois tipos de sinalização:

acesso (Ou assinante)

ou DSS (Digital Subscriber Signaling) → dados (canal D


ISDN)

ou PSTN (assinante analógico) por freqüência


independente

tronca l

ou CAS (canal de sinalizao associado)

ou CCS (Sinalização por canal comum) • Esta é SS7


A base do presente sistema, tal como é mencionado PCM, baseia-se nos primeiros
passos digitalização da "voz analógica" onde na nossa parte do planeta que foi adoptado
como "largura de banda aceitável" para um alcance vocal o valor de 4000 hertz (ou
Hertz) e de acordo com o teorema de amostragem, foram tomadas duas vezes o seu
"amostras" de largura de banda, ou seja 8000 amostras / segundo, que finalmente
"codificada" com 8 bits, obtendo-se o "canal de voz digitalizada básico" = 64,000 bits / s
= denominados 64 Kbps.

Este canal básico, foi integrado o que são chamados de "hierarquias digitais", dos
quais o primeiro (em seu Plesiochronous ou versão PDH) foi o famoso enredo E1 ( Reitero
que para nossa parte do mundo

Alejandro Estrada Corletti página 3


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Ocidental, uma vez que existem outros) Este lote é simplesmente a soma de 32 64Kbps
canais agrupados em " timeslots "(ou ranhuras). Destes 32 slots,
30 são baixos canais onde "voz", a primeira é para "sync" e no caso do
SS7 é utilizado apenas o " Tempo de entalhe 16 "Neste canal SS7 viaja de sinalização
por meio da utilização de dois grupos de 4 bits (chamado ABCD) que são de
sinalização
apenas dois canais de voz por trama, 30 de cada E1. Como, uma vez que o quadro E1 é
"injectada" para a rede de espinha dorsal, que tem uma duração total de 125 μ s
(microssegundos), a cada 8 quadros passa um milésimo de segundo, por conseguinte, a
cada 2 milissegundos passar 16 quadros com a qual ambos os sinais de retorno para o
quadro E1 primeiros canais. Um exemplo deste formato é o seguinte:

formato de base de um quadro E1

Tempo formato ranhura 16

A rede SS7 é um protocolo baseado em níveis de pilha 7 responsivos ao modelo ISO /


OSI ( não acessível a partir de) pilha TCP / IP. Este modelo de camadas permite mover
informações através de três tipos de nós, a saber:

SP ( Sinalização Point).

SSP ( Sinalização Switching Point).

STP ( Ponto de Transferência de Sinalização) → Ou roteador GW, gera mensagens


encaminhadas apenas faz medições de transferência.

SCP ( Ponto de Controlo de Sinalização) proporciona o acesso a aplicações (por exemplo, bases de

dados, etc.).

Alejandro Estrada Corletti P4


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

rede SS7

SS7 mencionado cone, nascido na década de 80 ` dentro de um quadro de "fechado" Acessíveis


apenas pelos operadores de telefonia ............. o
problema surge com " inteligência "Começamos a colocar nossas redes ( NGIN: Rede
Inteligente Next Generation).

Especificamente, este Resumidamente "inteligência", começa talvez com as primeiras


redes ISDN ( rede digital de serviços integrados) e um protocolo chamados implantes ISUP
( iremos apresentar a seguir)
em SS7 pilha, quando a primeira rede móvel a partir de uma camada é incorporada sob
a forma de BSSAP ( também presente abaixo) e, finalmente, o protocolo MAP ( Application
Part) Mobile para todos os aspectos de perfis, mensagens, sistemas de autenticação de
dois fatores, mobilidade, roaming, não estruturados, etc. Abaixo está uma imagem
onde aparecem apresentou estes novos aspectos que, finalmente, oferecidos por
servidores ou aplicações de software ( SS7 coisa nova na hierarquia).

rede SS7 e NGIN

Como estes novos protocolos, a infra-estrutura SS7 sob a sete camadas ISO / modelo
OSI começa a tornar-se incorporada

Alejandro Estrada Corletti p.5


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

inoperável, e assim nasce "Sigtran" que incorpora a pilha TCP / IP abaixo deste SS7
família ... .. e entrar no mundo do IP ( ...... o que é bom e o mau ....) Aqui começam
especificamente os nossos problemas e vulnerabilidades potencialmente acessível
a partir de qualquer lugar do mundo através de roteamento IP. Aqui estão algumas
fotos de modelos de camadas.

pilha SS7

OSI pilha - pilha SS7 - Sigtran pilha

Como mencionado anteriormente, este não é um texto sobre SS7 / sitgtran mas uma breve
apresentação de ambos, portanto, os únicos aspectos que desejamos destacar são:

Na pilha SS7 ( central) podemos ver um modelo que atenda as sete camadas
da pilha OU SIM ( esquerda). Reiteramos que não tem comunicação com o
mundo TCP / IP. Os protocolos que estão mais interessados ​neste modelo são:
SCCP, TCAP, MAP, CAP (Camel) e ISUP.

Alejandro Estrada Corletti p.6


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Na pilha SIGTRAN ( direita) SCTP deve enfatizar que é o protocolo que


substitui TCP ou UDP na camada de transporte que incorpora as vantagens de
ambos ( É claro que hoje também é usado como transporte para outra
aplicação protocolos TCP / IP pilha; por exemplo http)

O nível da bateria "Phisical" Sigtran não é superior a 1,2 e 3 níveis da pilha TCP
/ IP.

Apenas um título descritivo, em seguida, apresentar estes protocolos.

MTP Camada 1 : (Message Transfer Nível Parte 1)

camada MTP 2 : (Message Transfer Nível Parte 2)

MTP Camada 3 : (Message Transfer Parte Nível 3)

SCCP: (Parte de Controlo de Sinalização de ligação)

mensagens de sinalização ISUP (ISDN User Part) ISDN (canal D) TUP


(Telefone User Part) sinalizando mensagens de telefone
TCAP (Application Part Capability Transação)
➢ MAP (Mobile Application Part) usado por MSC, SGSN
e GGSN

➢ INAP (Intelligent Network Application Protocol)


➢ AIN: (Advenced Rede Inteligente)
➢ PAC: (/ CAMEL Application Protocol [ customizáveis
Os pedidos de Lógica melhorada móvel]) Roaming.
➢ WIN (Rede Inteligente Wireless) BSSAP: sistemas (Base Station
Sistema Application Protocol) empregam nativa com GSM MSC e BSS,
revelar dois tipos de funções:

➢ DTAP gestão (Transferência Directa Application Part)


chamadas e gestão da mobilidade.
➢ BSS-MAP: O diálogo entre MSC-BSS e Handover. IS-41 WIN: (ANSI-41) A
gestão da mobilidade em telefonia móvel (ANSI / TIA / EIA-41.5-D, Wireless
Intelligent Networking (WIN) extensões ANSI / TIA / EIA-751, ANSI / TIA / EIA-764 ,
ANSI / TIA / EIA-771, ANSI / TIA / EIA-826 [Prepaid])

Aqui está um primeiro tráfego de captura em Sigtran pilha para começar a entender
esse sistema de "embalagem".

Alejandro Estrada Corletti p.7


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Capturar o tráfego (em verde protocolos TCP / IP stack, azul pilha de protocolos
SIGTRAN)

Finalmente para o nosso trabalho de análise, não podemos ignorar, pelo menos Llos
esquemas de endereçamento básicos que usam esses protocolos.

MSISDN: ( Mobile Station Integrated Services Digital Network) composto pelo


código do país (a Espanha é 34) eo número de telefone do assinante (Código
Destino Nacional mais o número do Assinante).

IMSI: ( International Mobile Subscriber Identity), o identificador único para cada


cartão SIM na rede móvel (formado pela Móvel Código do país, Mobile Network
Code and Mobile Subscription Identification Number).

IMEI: ( Equipamento Móvel Internacional de identidade) identificador de cada


terminal móvel (mobile está disponível discando
* # 06 # contra-dialer).
GoblalTitlle: É a direção SCCP cada nó na rede SS7 usando o mesmo formato
que os números de telefone dos assinantes. mas neste caso eles representam
nodos na rede, não as pessoas.

SubSystemNumber ( SSN) indica cada nó da rede com a qual outro nó irá


estabelecer ligação / comunicação. Cada tipo de nó tem o seu próprio número 6
HLR (MAP), 7 VLR (MAP), 8 MSC (MAP)
....

PointCode: É o identificador da camada de MTP 3 que é atribuído a cada nó de


rede. Eles estão listados no link a seguir 3GPP " TS

23.003: Numeração, endereçamento e


identificação " com melhor
descrição e formato de cada um. Para
esclarecer um pouco mais a relação de cada
um com o seu protocolo correspondente,
um presente
associação dos mesmos por meio de uma
imagem.

Alejandro Estrada Corletti p.8


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

4. Apresentação dos diferentes tipos de ataques.


Para iniciar esta seção, através de um documento que apresenta GSMA (GSM Association)
para tratar o assunto co grande detalhe, embora devemos notar que se aplica apenas à rede
móvel. Mais tarde, no nosso documento também abordamos a rede fixa.

4.1. análise IR 82 implementação da rede GSM (Segurança SS7 SS7 em

Orientações - Versão 3.0 21 - Março de 2016) Eu .

Os ataques podem ser executados principalmente por:

manipulação SCCP

alterações MAP

NOTA : Tenha em mente que uma vez que este é um documento publicado pela GSMA não é
ISUP, TUP ou (rede fixa)

55 identifica risco de operações, e classificados em 5 categorias:

• Categoria 1: Mensagens que só deve acontecer em " Início Net "


• Categoria 2: mensagens NO Eles são de " Início Net "

• Categoria 3: Mensagens que normalmente seriam recebidos de um assinante que está


em um " Net externa "Exclusivamente da" Net externo "

• Categoria 4: operações SMS


• Categoria 5: CAMEL

Nós apresentamos uma tabela associando estas categorias com possíveis soluções:

mensagens categoria 1 Eles podem ser filtradas por técnicas relativamente simples na borda
da rede.
Isto pode ser feito através da avaliação do tipo de mensagem e verificar se a mensagem foi enviada
ou não de um "Extenal Net". as mensagens categoria 2 Eles não podem ser filtrados na borda da
rede.

Alejandro Estrada Corletti p.9


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

O operador deve correlacionar estados assinante e verificar se o assinante está em um "Net


externo" ou não antes de poder bloquear.

mensagens categoria 3 Eles devem usar abordagens mais sofisticadas. Estas são
mensagens que têm um uso legítimo na rede e simplesmente não podem ser filtrados.
sistema de proteção precisa analisar o fluxo de mensagens da rede e ser capaz de olhar para
as mudanças no comportamento dos elementos da rede e assinantes. Por exemplo, olhando
para o local anterior de assinantes.

4.2. Classificação de diferentes tipos de ataques.

Para a análise desses ataques, vamos construir sobre as várias referências


disponíveis na Internet:

Engel, T ii

Langlois, P. iii

Nohl, K. iv

Vauboin, P.-O. v

De acordo com estas referências o atacante deve ser:

1) conectado a rede SS7 de alguma forma.

2) capaz de gerar mensagens SS7 vontade arbitrária, e

3) capaz de imitar um nó na rede SS7 fornecendo


recursos SS7.

Eles podem ser agrupados em quatro categorias :

1) Filtrou ou má informação securisé (vazamento de informação).

2) protocolos fuzzing (DoS Resource exaustão, etc.).

3) Reconhecimento e rede de enumeração (mapa e de varredura


nodos, portas, etc.).

4) injecção de pacotes (SendRoutingInfo,


ProvideSubscriberLocation, etc).

4.3. análise detalhe

Aqui estão quinze tipos diferentes de ataques que têm categorizados dessa forma a
"segregar" todo o possível padrões de tráfego e as origens e destinos destes. Esta
classificação não é

Alejandro Estrada Corletti p.10


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

do pensamento exaustiva e é claro que pode ser debatido e até mesmo disproven que é
possível agrupar algumas delas ou mesmo quebrá-los ainda mais.

Nossa boa intenção de apresentá-lo desta forma, ele só é dito: fluxos e avaliar diferentes
parâmetros, mas desde mais aceitar qualquer crítica do aspecto, é apenas uma maldita
visão mais.

1. Encontrar informações sobre célula-HLR-VLR / MSC

a. O serviço MAP.
anyTimeInterrogation (ATI)
Você pode consultar o assinante HLR para a
sua Cell-ID e IMEI (número de série do seu
telefone, pode ser usado para procurar tipo
de telefone) ( Texto no documento " 31c3ss7-localizar-track-manipulate.pdf
"

p 13 Tobias Engel) da NET INÍCIO NET


para VISITOU

• Algumas redes agora bloqueá-lo.

b. Em vez disso, consultar o MSC / VLR diretamente (ou seja, consulta directa com o MSC / VLR
em vez do HLR) na mesma rede local (p 16)

c. Depois de saber o IMSI do assinante, o intruso pode consultar


diretamente pelo "Cell ID" da mesma, neste caso o parâmetro MAP é: " provideSuscriberInfo
Request " e se o MSC / VLR responde, ele vai fazer com o " provideSuscriberInfo Response
"( ver o tráfego de captura na página 18 desse documento).

Alejandro Estrada Corletti p.11


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

parâmetro: returnResultLast ( 2) anyTimeInterrogation (ATI) não deve responder a qualquer


pessoa que questionou, se isso acontecer, oferece a GT, o VLR-número, os dígitos
locationNumber e Endereço (todos os campos MAP). ( podemos ver no doc: " 31c3-SS7-localizar-track-manipulate.p
"
p.14).

SOLUÇÃO: Para analisar a possibilidade de implementar uma trava PIs ATI ou SCTP ou TCAP
imprópria).

Solução em um operador alemão:


• O Operador começou a filtrar todas as mensagens à rede interna nas fronteiras da rede

• Este (combinado com roteamento casa SMS, qual o operador tem em vigor) Essencialmente eliminou a
forma mais simples de rastreamento como visto antes
• tráfego de ataque caiu mais de 80%:

2. serviços de localização (LCS) (uso de localizador de emergência)

MAP novamente cerca de duas etapas são


executadas:
a. O intruso envia
pedido
SendRoutingInfoForSM ( o
HLR), que responde com
resposta
SendRoutingInfoForSM
b. segunda remessa:
pedido provideSuscriberLocation ( agora para a MSC / VLR, que fala com a
antena), que responde com

Alejandro Estrada Corletti p.12


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

provideSuscriberLocation resposta ( veja na página 25 desse documento).

o encaminhamento de mensagens MAP ocorre na camada SCCP (Isto é muito importante !!!
ANALISAR SCCP nos campos !!!! Dígitos parte chamada e
Chamando dígitos partido)

Os pedidos são direcionados para o "chamado endereço de festa" ( por exemplo, o endereço de um
VLR). As respostas serão enviadas de volta para o "chamado endereço partido" da aplicação.

( Veja a captura de tráfego na página 26 desse documento)

Alejandro Estrada Corletti p.13


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

problema : SCCP Você não sabe nada sobre o MAP ou o que as entidades devem ser capazes de usar os serviços
MAP

SOLUÇÃO :
Fazer o remetente Coloque outra cópia seu
"chamando endereço partido" em um campo
adicional na camada MAP, para que possa
ser verificada (Isso eu acho que é bom,
porque você pode verificar este endereço de
MAP, verifique se ele está correto:

Se não é um erro se for, vá em frente


e envia a resposta para o campo
correto em SCCP (chamador e
chamada Dígitos partido Dígitos)

Routing vai continuar a acontecer para os endereços da camada de rede ( Consulte a página 27 desse
documento).

Alejandro Estrada Corletti p.14


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

3. Negação de Serviço

Não só pode ler os dados do assinante, mas também pode ser modificado, pois a maioria
da rede VLR / MSC não executar verificações de plausibilidade .

Uma vez que o intruso sabe o endereço do MSC / VLR você pode enviar através do MAP, os
seguintes parâmetros:
ou req insertSubscriberData
ou req deleteSubscriberData
ou req cancelLocation

SOLUÇÃO :
Controlar cada aspecto do que um assinante é permitido fazer:
ou habilitar ou desabilitar chamadas / SMS ou dados de entrada e / ou
cessante
ou ou remover o assinante do VLR como um todo.

4. CAMEL "aplicativos customizados para Redes Móveis Logic reforçada"

especificada no 3GPP TS 23,078, É como uma sobreposição na lógica usual de MAP.


Define um conjunto de eventos para os quais o VLR deve

Alejandro Estrada Corletti p.15


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

CAMEL em contato com a entidade na assinante rede doméstica ( gsmSCF =


"Função de controle de serviços GSM")

O gsmSCF, em seguida, determina se a acção desejada pode continuar inalterada ou modificada ou


ser abortada. exemplo:
assinante alemã está em roaming
( roaming) em
França.

HLR alemão diz VLR francês


"notificar-me gsmSCF na direção 4917
quando o assinante quer fazer uma
chamada."

O assinante deseja fazer uma


chamada telefónica, mas disca o
formato nacional alemão (0317654 ...)
MSC pedir gsmSCF na rede
doméstica a ver com a chamada,
gsmSCF reescreve o número

para formato
Internacional (+49317654 ...) e ele diz
MSC para continuar com o novo
número.

Interceptar chama CAMEL

A função básica de camelo é quando uma rede de assinante A (Alemanha), visite o B rede
(Bélgica), vamos quebrar:

a. o assinante estar em B,
liga para um número de rede B (mas
sem adiantar o código internacional,
uma vez que está chamando a sua
"própria rede".

b. MSC / VLR (a rede que é, neste caso


rede B) consultar o gsmSCF (Rede
A) e o mesmo que

reescreve em seu formato internacional (neste caso, gostaria de acrescentar +49) e conta a MSC para
continuar com a chamada.

Alejandro Estrada Corletti página 16


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

c. Para interceptar esta chamada,


em primeiro lugar, o intruso
"Substitui" o
gsmSCF abordar com a sua "falsa
gsmSCF". Isso é feito com o
parâmetro:
req insertSubscriberData ( MAP).

d. MSC (neste caso


A rede novamente) irá responder
ao "false
gsmSCF "parâmetro é" InitialDP ".

e. O intruso agora escreve sobre o número, por exemplo 210.987 ...


registrá-lo como seu próprio proxy (por exemplo, um PABX Asterisk).

f. MSC para configurar a chamada 210.987 ... deixando um MITM ao


telefone original (pode gravar toda a conversa).
(Tudo isso nas páginas 31 a 37 do referido documento)

5. HLR Localização Atualização

Quando um assinante viaja para outra região ou


país, o VLR / MSC envia uma solicitação de
atualização para o MAP Subscriber HLR
(o parâmetro É:
req UpdateLocation).

O HLR envia uma cópia de dados dos assinantes


para o VLR / MSC e as lojas VLR o endereço /
MSC (parâmetro:
insertSubscirberData req).

Alejandro Estrada Corletti p.17


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Agora, quando alguém quer ligar ou


enviar uma mensagem de texto para
assinante de
qualquer rede, você será solicitado a HLR
informações de roteamento (da rede de
origem, por exemplo,
SMSC envia ao HLR
req SendRoutingInfoForSM e HLR
responde com:
SendRoutingInfoForSM resp) e
dá o endereço do VLR / MSC.
Finalmente, se a partir dessa rede a chamada ou SMS é enviado ele vai diretamente para o MSC / VLR a
ser apenas indicado pelo HLR através do parâmetro: req mtforwardSM.

HLR: Assinantes Roubando (assinantes roubo)

O procedimento UpdateLocation
Nem é autenticado.

Um atacante pode simplesmente fingir que


um assinante está em sua
"Red" ao enviar o
UpdateLocation com o seu Título Mundial para o HLR do assinante (Os parâmetros são: req
UpdateLocation, o HLR para responder com

req insertSubscirberData e lembre-se que manter este endereço no HLR).

Agora, chamadas e SMS para o


assinante são encaminhadas
para atacante.
Exemplo: o assinante banco
envia texto MTAN. O atacante
intercepta a mensagem e
transferir dinheiro para a sua
própria.

Alejandro Estrada Corletti p.18


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

(Tudo isso nas páginas 38 a 42 do referido documento)

Nós também podemos analisá-lo a partir


do referido documento
Philip Langlois:

Alejandro Estrada Corletti p.19


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

6. Serviços Suplementação HLR (serviços suplementares).

códigos USSD ( Unstructured Supplementary Service Data) pode ser executado por outros
assinantes. Algumas operadoras oferecem transferência de pré-pago ou através de cartão de
crédito.
O encaminhamento de chamadas pode ser definido / apagada. Um invasor pode encaminhar chamadas a
partir de um assinante para números de tarifa premium por ela controladas e, em seguida, ligue para o
número de assinantes, faturando todas as chamadas para assinantes taxa de prémio

Interruptor SIM ativado em caso de Multi-SIM. Os pedidos podem ser enviados mesmo sem prévia UpdateLocation,
porque é que o HLR não verificar se o assinante está na rede o envio de solicitação.

Todos estes parâmetros são também parte do MAP eo campo é USSD String)
(Tudo isso, nas páginas 43 e 44 do referido documento Tobias Engel)

7. ataques híbridos: TMSI De-anonymization (Desanonización TMSI)

Alejandro Estrada Corletti p.20


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Um atacante pode encontrar os números de telefone de


assinantes ao redor:
- assinantes de paginação (por exemplo, para notificar
uma chamada recebida) acontece sem criptografia.

- TMSI (Temporary Mobile Subscriber Identifier) ​é


normalmente usado para paginação para que a
verdadeira identidade do assinante ( IMSI) não tem que
ser enviada através da interface aérea sem criptografia.

(O parâmetro enviado a partir do MSC / VLR para mim é: PagingRequest


e que contém o TMSI).

O atacante captura TMSI no ar (por exemplo com OsmocomBB)

Pode pedir ao MSC para enviar o IMSI se o TMSI é


conhecido parâmetro (:
req sendIdentification, o MSC / VLR responde com

sendIdentification resp, contendo o IMSI). com UpdateLocation,


o atacante pode descobrir a MSISDN É pertencente ao
IMSI.

8. ataques híbridos: Chamadas Intercept (Chamada Intercepção)

Você também pode pedir a MSC a chave de sessão de


assinantes (neste caso o intruso envia o parâmetro: req
sendIdentification com TMSI a MSC / VLR, à qual este
responde com:
sendIdentification resp contendo as chaves de sessão).

Se o atacante captura um GSM chamada encriptada ou UMTS, você pode decifrar


utilizando a chave de sessão (chaves de sessão).

Preste atenção a este ataque pode classificá-lo


como "passivo", porque você não precisa usar
ou solicitar o IMSI (como acima).

9. LTE ( evolução a longo prazo)

Alejandro Estrada Corletti p.21


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

LTE utiliza o protocolo diâmetro na rede principal. SS7 está se

tornando um protocolo legado, mas:

- Grande parte do projeto foi portado para SS7 diâmetro, incluindo suas falhas.

- Por exemplo, ainda não há uma extremidade à outra autenticação para assinantes.

- GSM / UMTS (e com eles SS7) estará disponível por um longo tempo (provavelmente cerca
de 20 anos).

A fim de ter ligações GSM / UMTS para a LTE, existem interfaces que mapeiam a maior parte da
funcionalidade do SS7 (incluindo as suas deficiências) em diâmetro.

10. Ataques via SCTP (Fonte: " bh-eu-07-Langlois PPT-apr19.pdf " vi )

O que podemos dizer sobre isso é baseado principalmente em scans SCTP.

11. ataques em combinação com DIÂMETRO . (Fonte:

diameter_research.pdf vii )

NOTA : Este documento " diameter_research.pdf "Deve ser tida em conta para avaliar IMS e VoLTE
como ele é voltada principalmente para esta rede.

Muitas das redes e funções de hoje FTTH e VoLTE que poderia funcionar primeiramente em diâmetro
( sem SS7) ainda que necessitam para viver e dialogar com aspectos legados SS7, e é provável
que continue assim durante algum tempo.

Por esta razão, você deve considerar este cenário de ataque potencial.

Alejandro Estrada Corletti p.22


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Há também formas de obter IMSI de um assinante através de um diâmetro da rede. Isso requer
o número do assinante móvel ( MSISDN) e a direcção de um nó de borda no diâmetro da rede
de sinalização.

Num cenário de ataque que usa uma


vulnerabilidade conhecida é a
seguinte. Um atacante, que atua como
SMS Center ( SMS-C),
envia uma
mensagem SSR ( Envie-RoutingInfo-for-SM-Request)

especialmente concebido para o


Servidor de Início Subsciber ( HSS). Se
for bem sucedido, o atacante recebe o
IMSI do utilizador relevante em resposta.

Em um segundo cenário,
atacante pode personificar um servidor de aplicativos e enviar uma mensagem UDR ( User-Data-Request)
especialmente concebido para HSS. Os dados recebidos em resposta conter o utilizador IMSI
HSS.

Outra forma para forçar a divulgação de IMSI está atacando o nó IWF ( Função
interfuncionamento) responsável pela compatibilidade entre a rede eo redes Diâmetro gerações
anteriores. Neste caso, um pedido SRI4SM SS7 MAP traduz (ou movimentos) para o
equivalente pedido SRR diâmetro. Em resposta, o atacante recebe o IMSI solicitado.

Uma vez que o atacante obtém o IMSI aborda mais de um subscritor dos nós de rede móvel que
prestam serviço para o assinante, você tem a informação que você precisa para lançar outros
ataques.

12. Ataques ISUP (Fonte: FRHACK2009_Attacking-SS7_Langlois.pdf viii )

Alejandro Estrada Corletti página 23


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Lembre-se que este protocolo (ISUP) é aquele que usa a pilha SS7 para redes
ISDN.

Fluxo início de chamada ISUP:

Alejandro Estrada Corletti p.24


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

13. informação vazou errado ou securisé ( vazamentos de Informação n) (Fonte: final

pesquisa Report.pdf ix )

Todos nós já ouviu falar ou recebido qualquer sessão de trabalho sobre a importância de
proteger as informações confidenciais da nossa empresa, este torna-se crítica quando falamos
documento IR 21. Este documento contém

Alejandro Estrada Corletti página 25


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

"Especificações técnicas" para cada operador e é entregue a cada operador com o


estabelecimento de um acordo de interconexão. Reúne informações sensíveis sobre a
arquitetura de rede, tipo de rede, versões de protocolos, os endereços IP dos nós, a nós título
geral, etc. Tente simplesmente pesquisando em seu mecanismo de busca favorito " IR21
filetype: pdf "
ou pesquisas semelhantes, você vai encontrar mais do que um documento!

Como você pode ver na imagem (fragmento de um IR21), não podemos ver apenas o
fabricante de nós e que nós são (MSCs / VLR Ericsson 2G e 3G), o título global e sua
localização.

14. protocolo Fuzzing (Fonte: Hacking redes SS7 ~ de segurança por

default.pdf X )

Fuzzing é recentemente mostrando o grande número de vulnerabilidades e defeitos de


programação que pode ser encontrado automaticamente eo potencial (scapy PROTOS,
Codenomicon, etc.) ferramentas que utilizam este método para estudar a segurança ea robustez
do software. No caso de SS7, podemos começar a jogar com dois instrumentos; scapy e zzuf.
Claramente essas ferramentas para lançar contra as nossas pilhas SS7, podemos ver como o
aplicativo se torna mensagens pesadas e errôneas enviados para o servidor. Podemos
concentrar-se no protocolo que nos interessa investigar (SCTP, M3UA, SCCP, etc.) e uma vez
isolado mensagem, enviá-lo para a nossa outra máquina para verificar o nosso sucesso:

Alejandro Estrada Corletti p.26


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Usando essas ferramentas, é aconselhável adaptar ou desenvolver um controlo específico para o


aplicativo que é responsável por iniciar a pilha de protocolos SS7, como é muito possível que a
qualquer momento algo acontece com o inesperado da aplicação e vamos ter que considerar o
que mensagem ou que situação tem sido a causa.

15. ataques internos sobre SS7 (Fonte: rede SS7 Cortando a segurança do ~ By
default.pdf, supra idem)

No referido relatório uma série de possibilidades que podem ser executados a partir dos
segmentos de rede que têm visibilidade com infra-estrutura Sigtran / SS7 são apresentados,
vale a pena considerar como um vetor de ataque porque é capaz de executar qualquer um dos
acima.

final Referência desta seção .

Um documento também vale a pena considerar é a tese xi Jensen,


K. que apresenta uma tabela muito útil em várias técnicas que foram recomendados para
fornecer algumas atenuações para vulnerabilidades SS7. Estas técnicas não são projetados
especificamente para parar os ataques, mas fornecem outra camada de segurança.

Esta tabela refere-se os parâmetros do protocolo MAP associados com as três primeiras categorias
apresentadas acima.

Alejandro Estrada Corletti p.27


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Imagem do documento referenciado " Jensen.K "

mensagens categoria 1 Eles podem ser filtradas por técnicas relativamente simples na borda da rede.

Isto pode ser feito através da avaliação do tipo de mensagem e verificar se a mensagem foi enviada ou não de
um "Extenal Net".

as mensagens categoria 2 Eles não podem ser filtrados na borda da rede. O operador deve
correlacionar estados assinante e verificar se o assinante está em um "Net externo" ou não antes de
poder bloquear.

mensagens categoria 3 Eles devem usar abordagens mais sofisticadas. Estas são mensagens que têm
um uso legítimo na rede e simplesmente não podem ser filtrados. sistema de proteção precisa analisar o
fluxo de mensagens da rede e ser capaz de olhar para as mudanças no comportamento dos elementos
da rede e assinantes. Por exemplo, olhando para o local anterior de assinantes.

Alejandro Estrada Corletti p.28


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

5. análise de tráfego problema: os padrões de pesquisa, o emprego


Wireshark.

Nestes pontos, assumimos que o leitor já tem experiência anterior de trabalho com o "tráfego
catch" e, em particular, também na utilização da ferramenta " Wireshark ".

Sobre estas questões, nós desenvolvemos outras publicações e vídeos que estão à sua
disposição para download e estudar nos seguintes locais:

análise de tráfego do curso:

seção " downloads " → " Tecnologias da informação" →


" Redes e Comunicações " em nosso site: www.darFe.es

Ou diretamente no seguinte URL:

http://www.darfe.es/joomla/index.php/descargas/summary/4-redes-ycomunicaciones/39-curso-de-analisis-de-traf

nós também temos uma sequência de " seis vídeos " sobre o tema da "Análise de Tráfego"
usando Wireshark em nosso 'canal de Youtube ":

https://www.youtube.com/user/infoDarfe/videos

Além disso, se você quiser praticar mais, temos vários exemplos de " capturas de tráfego "Feito
e classificados por protocolo, você também pode fazer download gratuitamente em:

https://www.darfe.es/joomla/index.php/capturas

Em suma, nós convidamos você, se você ainda não começaram seu trabalho em "análise de
tráfego" para os endereços remitas e publicações mencionadas, e reiterar, nos parágrafos
seguintes nós tomamos para conhecidos estes princípios.

Em seguida, desenvolver a condição em que a análise destas SS7 / Sigtran para começar a
"sensibilização" sobre a revista importância ser capaz de avaliar ou analisar estes fluxos a partir
do ponto de vista da segurança de uma rede de sinalização .

Não é um documento importante que deve ser considerado para este

avaliação: Diretrizes de monitoramento SS7 Interconnect Segurança - FS.11 xii .

Alejandro Estrada Corletti página 29


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Lembre-se de alguns parágrafos:

Em primeiro lugar, o operador deve:

✓ SS7 entender que ele não é mais seguro e deve ser separada de outras redes SS7
para proteger a sua própria rede e seus assinantes.

✓ Ter o controle de seus próprios elementos SS7. O que significa que um


operador pode separando a rede interna Ou rede doméstica, todas as outras redes
externas.

✓ Em segundo lugar, o operador deve ser capaz de tráfego de captura que


entra na rede régua . Tornando-se possível determinar de onde um, externa ou internamente
originou mensagem. O documento " Diretrizes de monitoramento SS7 Interconnect
Segurança - FS.11 -
Version 1.0 "(19 de novembro de 2015). O ponto 2.2. Como monitorar: O objectivo da vigilância é avaliar
se a atividade está ocorrendo SS7 / suspeito malicioso . Como conseguir isso irá variar entre
os operadores e as capacidades de cada operador e os seus objectivos. Acompanhamento do
esforço pode variar:

✓ Amostragem alguns interligação de tráfego por um período de


tempo limitado, à procura de problemas conhecidos para determinar se o problema está
ocorrendo, ou

✓ Monitoramento de todas interconexão de tráfego de forma contínua, tanto


entrada e saída, para determinar a extensão máxima do problema e procura de possíveis
novos ataques.

Quando estamos a trabalhar com captura de tráfego SS7 / SIGTRAN Podemos especificamente
avaliar este tipo de padrões de tráfego que se desenvolvem nas seções anteriores. No nosso caso,
vamos trabalhar com " Wireshark "Nós convidamos você a instaléis em uma máquina virtual, se ele é
uma distribuição Linux Debian" barrilha "Melhor do que melhor, porque nós também facilitar o
trabalho com várias ferramentas adicionais que já traz pré-instalado.

Vamos começar nosso trabalho sobre "o tráfego de captura."

Alejandro Estrada Corletti p.30


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Como você pode ver na foto acima, nós começamos a "olhar" diferentes tipos de "ocorrências"
dentro da captura total. Neste caso
particular, nós selecionamos a opção "Editar" "Encontrar Packet" menu.

Após selecionar esta opção, vamos aparecer no topo da barra de Wireshark " encontrar "Aqui
podemos ver na imagem acima que decidiu buscar o parâmetro" ProcessUnstructuredSS " que
é um dos que pertencem ao protocolo "MAP", por sua vez, decidimos ir a ele como " corda "E na
janela" lista de pacotes "( Ele também poderia ter sido nas janelas "detalhes de pacote ou
pacote Bytes").

Na imagem acima, destacamos como podemos identificar certos parâmetros que podem
ajudar-nos a identificar várias coisas:

Protocolos que estão a ser utilizadas (por exemplo, GSM MAP). Parâmetros utilizados

nesse quadro ( ProcessUnstructuredSS).

endereço de origem, destino, em qualquer nível (IP, SCCP, IMSI, TMSI, MSISDN, etc.).

Os pedidos e respostas (Chamar = Request). cadeia

hexadecimal que circulou através da rede.

Alejandro Estrada Corletti p.31


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Etc.

Com base capturas, com " tcpdump "Ou" Wireshark "Nós podemos ir" exportar "os tipos de
captura que queremos, e vão dissecar um alto volume de tráfego para atingir os fluxos
desejados. A outra vantagem oferecida por trabalhar com esta ferramenta é identificar padrões
de tráfego que podem ser consideradas suspeitas ( como é indicado por nós " FS.11 - SS7: se a
actividade está a ocorrer SS7 / suspeito malicioso ". ).

Conforme apreciado na foto acima, temos todos os padrões de referência de informação que
nos fazem todos os documentos de segurança SS7 / Sigtran que apresentamos, tanto em texto
e hexadecimal. Nós vamos avançando com a identificação desses parâmetros, mas para ir
para a frente um pouco sobre o assunto e, como tal, acabamos de ver na imagem acima, em
primeiro lugar, se começar a estudar os ataques na ordem apresentamos nossa classificação
quinze deles, por exemplo, podemos nos concentrar inicialmente em quadros contendo
protocolo "MAP", pois simplesmente colocá-lo no filtro de exibição:

"Gsm_map".

Como podemos ver, temos filtrada todos os quadros que contêm este protocolo.

Começar a aplicar estes conceitos a casos específicos que nos dizem respeito, por exemplo,
voltar ao nosso No. 1 ataque Lista de nossa classificação ( 15 deles apresentaram).

Este ataque: 1. Encontrar informações sobre célula-HLR-VLR / MSC


Lembre-se que, neste caso, a análise inicial do
ataque deve centrar-se em encontrados dentro do
parâmetro do protocolo MAP:
anyTimeInterrogation
(A VOCÊ), mas " somente quando o HLR envia a
sua resposta ao "fora do

Alejandro Estrada Corletti página 32


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

HOME_NET " ( Não se esqueça de que a solução está a bloquear esta resposta fora do
HOME_NET).
Assim, o início da nossa primeira análise poderia ser apenas o que é mostrado na imagem
abaixo.

Como podemos ver na imagem acima:


Foi colocado um "filtro de exibição" para nos mostrar que apenas o protocolo " gsm_map
".

Nós fizemos uma pesquisa, por isso apresentamos apenas os quadros "MAP" contendo
o parâmetro " anyTimeInterrogation ". Neste caso, é uma resposta, que podemos ver
no campo Componente " returnResultLast ".

Este último parâmetro, leva-nos a seguir em frente e começar a apresentar o que pouco
mais tarde executar com IDS " bufar ". quando
começou a atenção aprestarle para a terceira janela Wireshark, é isso que nos dá as
informações em "hexadecimal", ou seja, a tradução primária de "bits" que realmente
circularam pelo canal de comunicação. No caso do protocolo MAP, podemos identificar
que é uma resposta (ou seja, apenas o parâmetro que nós procuramos " anyTimeInterrogation_resp
"), como tal que temos em destaque na vermelho ,

Este valor hexadecimal é identificado pelo valor hexadecimal " a2 ". Quando se trata de
um pedido (ou aplicativo) em MAP, este campo tem um valor hexadecimal " a1 ". Hexa
estes valores, veremos mais adiante que são essenciais se você quer trabalhar com " bufar
".

Mas tenha em mente que isso só pode categorizar como "anômalo" se e somente se " HLR, Envie
sua resposta para fora do HOME_NET "Portanto, estamos usando esses filtros não são
suficientes, pois isso Nós não vê-lo no protocolo "MAP" Mas temos de descer para um protocolo
de nível mais baixo em nossa pilha. Neste caso, temos relativamente fácil para

Alejandro Estrada Corletti página 33


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

temos o protocolo SCCP cujo esquema de endereçamento apresentado nas seções anteriores e
é apenas quem pode nos dizer muito claramente de quem e para quem dirigir esse tráfego. Este
detalhe é apresentado na captura abaixo.

Neste instantâneo que tenha apagado endereços (ou móvel), porque é o tráfego real de uma
operadora de telefonia. Mais uma vez, temos destacado em vermelho os parâmetros que fornecem
informações para avaliar este ataque em potencial, que neste caso são:

campos de implantação SCCP protocolo (que é puro SS7).

Chamado Partido Endereço: ou seja, quem está solicitando essas informações.

Número SubSystem ( SSN): apresentado em seções anteriores, o que indica


claramente o elemento é. Neste caso, podemos ver que é um gsmSCF. Chamando
Partido Endereço: ou seja, com quem você se comunica.

Número SubSystem ( SSN): apresentado em seções anteriores, o que indica


claramente o elemento é. Neste caso, podemos ver que o destino é um HLR.

Voltando à análise da nossa Ataque No. 1 Lembre-se que o "senso" destes parâmetros é " somente
quando o HLR, Envie sua resposta ao "fora do HOME_NET "Portanto, é claro que em capturar o
tráfego a partir da imagem anterior é estritamente de cabeça para baixo (é um SSN = gsmSCF para
SSN = HLR) mas aqui nós temos a informação que será de muita utilidade:

Alejandro Estrada Corletti página 34


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Podemos aplicar um filtro de exibição Precisamente no protocolo SCCP


e incluir os campos " SSN ".

Vamos ver como.

PASSO 1 : Primeiro, vamos ficar com o que os dados


processo de juros e descartar o que, neste caso particular ( Ataque No. 1) não estamos
interessados. O parâmetro precisamos estudar sem dúvida é " anyTimeInterrogation "Para
fazer isso, então podemos começar a aplicar um" filtro de exibição "para que só
exibem quadros que contêm esse parâmetro. Wireshark tem pré-carregado centenas
de protocolos de comunicações e para cada um deles a maioria dos parâmetros que
ele suporta. Em nosso estudo de caso, o protocolo " gsm_map "Não tem nada mais e
nada menos do que 2.287 parâmetros E cada um por sua vez, suporta um número "n"
de valores.

Aqui está uma foto de como configurá-lo.

Como podemos ver na foto acima, no topo temos este bar é apenas para aplicar os
"filtros de exibição"
(Dentro da janela branco lê: " Aplicar um filtro de exibição ") . se
selecione " expressão "( tal como é mostrado em caixas em " vermelho "), As vitrines
cuja imagem apresentada abaixo, que no nosso caso foi para baixo por diferentes
famílias de protocolos Wireshark oferece até" gsm_map ".

Alejandro Estrada Corletti p.35


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Como você pode ver na foto acima, dos 2.287 parâmetros, no nosso caso, estamos procurando
" anyTimeInterrogation "Que é um dos verdadeiros valores dos parâmetros de MAP em si é
chamado: gsm_old.Value, e para o valor " anyTimeInterrogation " Ele corresponde ao número
" 71 ".

Nota importante : Lembre-se que MAP é um dos nossos principais protocolos quando,
pois as vulnerabilidades "SS7 / Sigtran" mover dentro dela será fundamental para nossa
análise. Neste caso, o parâmetro " gsm_old.Value " nos dá um monte de informações, por
exemplo antecipando ataques outros padrões dentro deste campo, também temos:

gsm_old.localValue == 2 -----------> UpdateLocation


gsm_old.localValue == 3 -----------> cancelLocation
gsm_old.localValue == 7 -----------> insertSubscriberData
gsm_old.localValue == 8 -----------> deleteSubscriberData

Alejandro Estrada Corletti p.36


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

gsm_old.localValue == 19 -----------> ProcessUnstructuredSS-Data


gsm_old.localValue == 22 -----------> SendRoutingInfo
gsm_old.localValue 45 ----------- ==> SendRoutingInfoForSM
gsm_old.localValue == 60 ----------- > ProcessUnstructuredSS-
pedido
gsm_old.localValue 70 ----------- ==> provideSubscriberInfo
gsm_old.localValue 71 ----------- ==> anyTimeInterrogation
gsm_old.localValue 83 ----------- ==> provideSuscriberLocation

Com estes valores gsm_map, Estamos cobrindo quase todos os padrões de ataques apresentamos
este texto para redes móveis.

Até agora, temos conseguido aplicar um filtro para exibir Wireshark mostra-nos apenas os
quadros que contêm o parâmetro " anyTimeInterrogation " agora a maneira mais prática para a
frente é para "salvar" esta seleção, onde sabemos que podemos ir especificamente analisar
este valor.

Para fazer isso e ficar apenas quadros que contêm esse parâmetro podemos fazê-lo, como é
mostrado na imagem abaixo.

Como mostrado na imagem acima, esta opção é " arquivo " →


" Exportação especificado pacotes ... " e de lá selecionar o diretório e
nome desejado ( em nossa caso
" captura_anyTimeInetrrogation "), e é muito importante que nós selecionamos
dentro " pacote de gama " → " exibido "Para nós, para ficar apenas com pacotes
contendo esse parâmetro, descartando o resto ( podemos ver na imagem

Alejandro Estrada Corletti página 37


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Eles só serão salvos 507 pacotes 435017


original).

PASSO 2 Agora, trabalhar com esta nova captura salvo, continuar


filtrar a pesquisa de modo que só não tem o SCCP quadros tendo como originalmente
um HLR ( uma vez que indica o Ataque No. 1).

Para fazer isso, da mesma forma que trabalhamos com o filtro de exibição para " gsm_map
"Protocolo" SCCP "É também pré-carregado e tem inúmeras outras definições para
filtragem, como podemos ver na imagem abaixo.

Mais uma vez, temos em destaque na " vermelho "Parâmetros estamos interessados ​para
avaliar ainda mais a No. 1 ataque. Neste caso, como tal, temos vindo a discutir, queremos
identificar especificamente quando "a partir de" um HLR este parâmetro é enviado,
portanto, como é mostrado na imagem acima, devemos selecionar " == 6 sccp.called.ssn "Qual
é o subsistema Number (SCCP) que identifica um HLR.

Outra observação importante : O mesmo que MAP, neste caso, é muito provável
que, em nossa análise subseqüente também tem que identificar outros elementos ou
protocolos SS7 rede / Sigtran. Isto é onde nós encontrá-los e, em seguida, apresentar
uma lista de chave para o nosso trabalho ( os valores que se seguem são para " sccp.calling.ssn
"Mas eles são idênticos, se quisermos aplicar para" sccp.called.ssn ").

Alejandro Estrada Corletti p.38


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

filtros SCCP :
sccp.calling.nai == 0x4 ( Número Internacional)
== sccp.calling.ssn 3 ( ISUP)
== sccp.calling.ssn 5 ( MAP)
== sccp.calling.ssn 6 ( HLR)
== sccp.calling.ssn 7 ( VLR)
== sccp.calling.ssn 8 ( MSC)
== sccp.calling.ssn 9 ( EIC / EIR)
== sccp.calling.ssn 10 ( AUC)
sccp.calling.ssn == 145 ( GMLC MAP)
sccp.calling.ssn == 146 ( CAP)
sccp.calling.ssn == 147 ( gsmSCF ( MAP) ou IM-SSF (MAP) ou Presença
Agente de Rede) == sccp.calling.ssn 149 SGSN ( MAP) == 150
sccp.calling.ssn GGSN ( MAP) == 250 sccp.calling.ssn BSC ( BSSAP-LE)
sccp.calling.ssn == 251 MSC ( BSSAP-LE)

Em suma, o filtro que nos interessa para aplicar seria uma "concatenação" do que
estamos apresentando, que particularmente gostaria:

(Gsm_old.localValue == 71) e (sccp.calling.ssn == 6)

Na imagem abaixo podemos ver graficamente.

Como podemos ver, depois de aplicar o filtro não estamos nos mostrado nenhum
quadro, portanto, isso implica que a "amostra" frame avaliado NO existiu Ataque No.
1 sem HLR ele enviou o parâmetro " anyTimeInterrogation " no nosso caso, para
qualquer destino.

Mais detalhes sobre SCCP.

Nós apresentado como um outro protocolo que controla Wireshark é " SCCP "Isso para nós,
como é mencionado no início, é muito importante porque, como vimos, ele permite-nos
identificar" chamada e chamada parte "Quem são as verdadeiras origens e destinos das
chamadas em SS7 puro.
Desta forma podemos identificar chamadas
Eles vêm de fora, por exemplo, com o seguinte filtro de exibição:

34 e corresponde sccp.calling.digits não partidas sccp.called.digits 34

Alejandro Estrada Corletti página 39


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

No filtro acima, seria indicando especificamente Wireshark para nós todos os quadros cuja
origem é fora de Espanha (34) e cujo destino era na Espanha mostram, mas é importante que
nós dizemos a nível SCCP, ou seja, abaixo SIGTRAN, portanto, serão processados ​em
dispositivos de rede reais pura SS7 estabelecer esse diálogo. Nós queria enfatizar esse
parâmetro, porque, como você pode ter notado, temos feito muita ênfase no conceito de " HOME_NET
"E" EXTERNAL_NET ". Estes dois conceitos são fundamentais para qualquer área de operação
dos "nós" da rede SS7, porque, como qualquer pessoa pode facilmente dizer se o enredo não é
conhecida corresponde a uma origem e / ou destino do "meu" arquitetura SS7 e como um
"alien" para ele, pois logo eu possa avaliar a ocorrência de um ataque ou não.

Este parece muito trivial, na realidade da vida cotidiana não é tão bem, não devemos esquecer
que essas arquiteturas nasceram na década de 80 como fechado e eles foram crescendo sob
estes conceitos. Os operadores destas redes são geralmente pessoas que passaram muitos
anos na área e é muito difícil de quebrar este "inércia do pensamento." Com muito mais
freqüência do que pensamos, vamos descobrir que não há mapas de rede, nenhum inventário
claro, ou locais, nem os esquemas de endereçamento IP unívocos, etc. Com isso, teríamos
problemas suficientes, mas por sua vez, há um outro pior.

Em muitos da arquitetura SS7, é usado NAT ( Network Address Translation) portanto, se


encontrarmos padrões de tráfego "interno" ( HOME_NET) e / ou "externo" ( EXTERNAL_NET) via
endereçamento IP, nesses casos todos os quadros terá um endereço IP privado (origem ou
destino) abordar dentro desta faixa, o que torna praticamente impossível saber ao nível da rede,
ou seja, pelo seu endereço IP, se esse quadro está vindo ou indo para fora da nossa arquitectura
( ou HOME_NET).

Em alguns casos ( Nós quase poderia chamar "privilegiado"), o "ponto de entrada" para o
HOME_NET é um (por exemplo, STP), diante do qual, pode-se inferir que, se um quadro do
lado de fora (EXTERNAL_NET) a partir desse endereço IP único, mas reiteramos, isso deve ser
uma situação normal do ponto de vista da segurança de uma rede SS7 / Sigran, é uma situação
quase "privilegiado" não é normal para que isso aconteça.

Em qualquer uma das situações acima descritas, temos um aliado no protocolo SCCP, através do
qual podemos encontrar uma saída honrosa para a análise desses quadros.

Nas imagens que se seguem, podemos ver através da análise e filtragem desses parâmetros.
Primeiro vamos olhar para o encapsulamento de SS7 em Sigtran e atenção " SCCP "(Sinalização
Connection Parte Control).

Alejandro Estrada Corletti página 40


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Na imagem abaixo, apresentamos os campos do chamador e chamado através de um enredo


que vem de uma VLR Brasil (parte chamada) a um
HLR ( parte chamada) de outro país (que esconder intencionalmente).

Todos estes campos e nós origem e destino, podemos filtrá-los perfeitamente com "Wireshark"
através de filtros de exibição recentemente apresentados em:

Outra observação importante : ......... ...


filtros SCCP :
sccp.calling.nai == 0x4 ( Número Internacional)
== sccp.calling.ssn 3 ( ISUP)
.........

Alejandro Estrada Corletti p.41


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Resumo desta seção.

Nós inicialmente apresentou a importância do fato de ser capaz de "analisar o tráfego"


SS7 / SIGTRAN porque é o fluxo de informações que circulam em nossa rede de
sinalização, portanto, necessariamente não vai passar, ou não, ataques contra ele.
Começamos a trabalhar com a ferramenta "Wireshark" para este tipo de análise, mas
sempre com os padrões de referência de um ataque real, que no nosso caso temos feito
com base desta classificação própria pela qual nos apresentado como " No. 1 ataque ".
Foram abordadas sequencialmente cada uma das acções e medidas que podem ser feitas
para filtro "pingo" e obter resultados concretos sobre esses parâmetros e fluxo de ataque,
até verificar que este primeiro ataque não estava em nosso tráfego "amostra". Esta última
conclusão, não podemos deixá-la ignorar. Primeiro porque é uma prova irrefutável, mas
em segundo lugar, porque não podemos contar com ele, pois é apenas uma "amostra",
que deve levar-nos à conclusão de que temos uma tarefa adicional é refinar, ajustar,
maximizar ou otimizar as amostras que levou, em termos de segmentos de escuta, o " filtros
de captura "( não desenvolvemos aqui, mas eles são bastante simples de aplicar, tanto
com o Wireshark, tshark ou tcpdump) vezes que fazemos, endereços IP, etc ... este é um
desafio muito bom para enfrentar, mas isso depende de cada rede de sinalização
particular.

Por fim, deixe uma mensagem e ensinando isto muito claro que podemos aplicar da
mesma forma o resto dos padrões e / ou parâmetros de ataque que temos vindo a
apresentar. Nesta seção
Concluímos com este primeiro ataque, porque como se costuma dizer "para mostrar apenas um
botão".

Alejandro Estrada Corletti página 42


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

6. A análise do tráfego usando capturas Haxixe.

Uma vez apresentado o trabalho inicial que pode ser


feito com Wireshark, que o uso da segunda função " bufar
".

Nosso conselho, como eles expressá-lo no ponto 5 do


presente documento, é que você trabalha com uma
"máquina virtual" e instalá-lo em um sistema
operacional Linux, se possível com a distribuição
"Debian" " barrilha ". Uma vez instalado o GUI é que

estamos vendo do lado esquerdo. De nossa


parte, no caso do trabalho com Snort,
achamos útil ter aberto dois consoles.
outro
aspecto é que "Snort" não está instalado no
"Kali" por isso devemos instalá-lo com o
comando " aptitude install snort "Como você
pode ver nesta foto.

O trabalho proposto com dois consoles, como


veremos mais tarde,
nós fácil ir

correndo "Snort" e vendo seus resultados


simultaneamente. para
portanto, vamos encontrá-lo confortável para ser
posicionado na janela superior no caminho onde
nós, configurações e regras e na janela inferior,
o caminho onde nós decidir enviar os "outputs"
no nosso caso, como se vê nesta imagem, o
diretório

de trabalho Será:
" / var / tmp / snort "E saídas" / var / log / snort "Como
se vê nesta foto.

No nosso caso, temos sido vinte anos trabalhando com este IDS espectaculares
e, sob o enorme poder que oferece, recomendamos que se o leitor decide usá-lo, fazê-lo à
consciência e ao fazê-lo, buscar a melhor fonte de informação que é suficientemente completa
e sua fonte web e particularmente no seu manual " Snort Manual do Usuário ", Que pode ser
baixado em: https://www.snort.org/documents

Alejandro Estrada Corletti página 43


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

esta IDS / IPS ( Intrusion Detection / Prevention System) open source nos dá a oportunidade de
trabalhar " on Line " e também " off Line "Portanto, podemos escolher o método que melhor se
adapta à nossa operação. Do ponto de vista da simplicidade no nosso caso, talvez a melhor
opção é trabalhar "Off Line" ( Claro que, se temos a possibilidade de instalá-lo como uma sonda
em um segmento do / network Sigtran e tráfego SS7 "espelho" para ele, ou colocá-la com um
"divisor" é outra possibilidade "On Line" e até mesmo muito melhor opção ). Para operar "Off
Line", podemos aplicar para diferentes tipos de " capturas de tráfego "Não precisamos, por
exemplo:

Por áreas. endereços

IP.

Por tipo de elemento (STP, MSC, HLR, etc). Por (externa,

interna, serviço, etc.) de interface.

Sempre considerando que devemos ser rigorosos para mostrar que esta atividade é básico e
fundamental em uma rede SS7 (e qualquer operador desses nós "deve" ser capaz de realizar
essas capturas, como é indicado pelos padrões internacionais).

Para continuar com este texto, vamos introduzir uma forma de trabalho "off line" com base em
capturas realizadas em um segmento de tráfego SS7 / Sigtran. Nós não vai desenvolver um
curso de Snort, apenas a apresentar os conceitos básicos para compreender este trabalho
proposta. Assumimos que já gerir o nosso VM " barrilha "Por isso, vamos nos concentrar em
três conceitos:

arquivo de configuração. saídas

SS7.rules

6.1. O arquivo de configuração.

Entre as muitas opções que Snort ofertas, um deles é apenas para usá-lo como " IDS "Para
este fim, o primeiro passo é executá-lo ligando para o seu arquivo de configuração, como
veremos neste momento, ou seja, isso é feito com o" - c "Indicando onde este arquivo.

O arquivo de configuração quando Snort está instalado e traz um modelo pré-configurado ( snort.conf
) podemos usá-lo quase imediatamente com alguns pequenos ajustes. No nosso caso das
muitas opções oferecidas, como veremos imediatamente, estamos apenas interessados
​básico. Este arquivo de configuração é composta por quatro componentes básicos:

O Sniffer.

Preprocessors.

Alejandro Estrada Corletti p.44


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

mecanismo de detecção.

Saídas.

Como já mencionado, não vai entrar em pormenores deste arquivo, porque não é uma questão de
um curso Snort, temos apenas se concentrar nos detalhes que precisamos especificamente para o
nosso trabalho.

Se você quiser cavar um pouco mais metodologicamente este software, temos um artigo
publicado em nosso site ( www.darFe.es ) Secção:

" downloads " → " Tecnologias da informação" → " segurança "

Que pode ser acessado usando o seguinte URL:

http://www.darfe.es/joomla/index.php/descargas/viewdownload/5seguridad/45-metodologia-nessus-snort

Pensando analisar o tráfego anomalias SS7 / SIGTRAN novamente devemos apresentar a


nossa classificação dos "15 tipos de ataques." Lembre-se que em tudo o que era necessário
para identificar com certeza a origem eo destino dos quadros, não devemos esquecer que
qualquer parâmetro,
por exemplo: anyTimeInterrogation (ATI) pudermos
catalogado como um ataque potencial " somente quando o HLR envia a sua resposta ao
"fora do HOME_NET" .

Sob essa idéia, então, um ponto de partida para moldar nossas IDS, é dizer o mais exacta
possível, todos os elementos que são "HLR", "MSCs", "SMS-Cs", etc.

Esta configuração faz parte da primeira seção " snort.conf "E isso é feito definindo o que o
são" variáveis ​"que usamos. No nosso caso são apenas os endereços IP de cada um dos
dispositivos que compõem a nossa arquitetura SS7 / Sigtan.

Aqui estão alguns exemplos de como poderia ser esta secção do nosso arquivo " snort.conf ".

# Configure os endereços de rede estão protegendo você

ipvar HOME_NET
10.2.16.64/26,10.2.17.128/25,10.2.19.192/29,10.2.19.200/29,10.2.19.64/29,172.30.16.128/28,
172.30.16.160/28,172.31.10.128/28,172.31.4.0/24,172.31.22.160/28

ipvar EXTERNAL_NET qualquer ( ou podemos colocar! HOME_NET)

# var SS7 ( nosso único comentário para esclarecer que é SS7)

MSC ipvar 10.3.1.0/27,10.4.1.0/27,10.5.1.0/27

HLR-HSS ipvar 10.30.1.0/27,10.31.1.0/26

ipvar SMS-C 172.17.31.10/32,172.17.31.11/32,172.17.31.12/32

GW ipvar 172.17.33.10/32,172.33.12/32

Alejandro Estrada Corletti página 45


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

STP_ports portvar 2905: 2913

var RULE_PATH / var / tmp / snort ( É o caminho que escolhemos para as regras que irão
projetar em SS7)

6.2. partidas

A segunda seção do arquivo " snort.conf "Interesses dos EUA é definir adequadamente" partidas
". Aqui estão alguns exemplos de como poderia ser esta seção, como Snort suporta vários
tipos de-los.

alert_csv saída: alert.csv ( Se queremos saídas, em seguida, fornecer-nos


exploração, por exemplo, por modelos de
cálculo).
saída log_null ( formato de saída padrão "log" ou não)

saída log_tcpdump: SMS.cap ( stdout em "tcpdump" format)

# Saída no formato "pcap" detectado Ataque 1

(Podemos definir o nosso próprio formato de


saída com base em uma determinada regra, será
visto mais claramente depois que apresentamos
as "regras do Snort").

RuleType provideSubscriberInfo_resp {

tipo de alerta

saída log_tcpdump: ATQ1-provideSubscriberInfo_resp.cap

# Saída no formato "pcap" detectado Ataque 2

RuleType provideSubscriberLocation_resp {

tipo de alerta

saída log_tcpdump: Atq2-provideSubscriberLocation_resp.cap

# Saída no formato "pcap" detectado 3A Ataque

RuleType insertSubscriberData_req {

tipo de alerta

saída log_tcpdump: Atq3A-insertSubscriberData_req.cap

Alejandro Estrada Corletti p.46


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

# Saída no formato "pcap" detectado 3B Ataque

RuleType DeleteSubscriberData_req {

tipo de alerta

saída log_tcpdump: Atq3B-DeleteSubscriberData_req.cap

# Saída no formato "pcap" detectado 3C Ataque

RuleType cancelLocation_req {

tipo de alerta

log_tcpdump saída: Atq3C-cancelLocation_req.cap

Finalmente, vamos mostrar-lhe onde você deve ir encontrar as regras que definimos
para SS7 ( a ser realizada no próximo parágrafo).

$ Incluem RULE_PATH / ss7.rules

6.3. Os SS7.rules.

Ao instalar o Snort, traz centenas (ou milhares) de famílias classificadas por regras, que no
uso padrão desta ferramenta são sempre aconselhados a permanecer atualizado, como são
publicadas diariamente e estabelecendo novas regras.

No nosso caso, a tarefa é diferente, porque não estamos interessados ​em tudo discutir as
regras para "http", "telnet", "ssh", etc. Temos de nos concentrar especificamente sobre SS7 /
Sigtran. Para fazer Snort, com a sua poderosa flexibilidade e parametrização nos dá a
capacidade de criar nossa própria personalizado para o que quer e regras em nossa
opinião, este é talvez um dos maiores qualidades que têm este software. Nesta seção,
recomendamos um estudo detalhado das " Snort Manual do Usuário "É um número quase
infinito de possibilidades oferecidas. Antes de ir direto para essas regras, é importante que
voltemos um pouco atrás sobre os temas já observados com Wireshark e manter a nossa
coerência com a análise de sequência, voltamos ao " No. 1 ataque "O parâmetro" antTimeInterrogation
(ATI)".

Alejandro Estrada Corletti p.47


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Quando começamos com este parâmetro, basta apresentar a foto acima e nós salientou
que o valor hexadecimal " a2 "que está
em destaque na vermelho na parte inferior da lingueta ( ou seja, na janela inferior de valores
"hex" Wireshark). Nessa ocasião
mencionou que quando o nível de enredo " gsm_map "É um" pedido "( invocar) Este valor
corresponde ao " a1 "E quando é uma" resposta "( returnResultLast), Corresponde à " a2 "( como
na imagem).
Por sua vez, também na foto acima, podemos ver que temos também em destaque na vermelho
, e na janela muito inferior, todos os valores em hexadecimal. Fizemos isso porque em
estudo deles vai ser o nosso ponto de partida para a concepção de nossas próprias regras
SS7, que é esta uma tentativa.

Aqui estão mais alguns exemplos, para ir onde queremos desenvolver.

Seguindo os parâmetros que são motivos para os ataques, de acordo

Alejandro Estrada Corletti página 48


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

apresentado na seção 5. Na foto acima, podemos ver que estamos a aplicar um "filtro de
exibição" para que só nos apresentar o parâmetro MAP " providerSubscriberInfo "Como é
mencionado no parágrafo anterior, neste caso, é uma" invocar ", quer dizer " pedido "E,
portanto, o seu valor inicial é" a2 "(Tudo isso temos em destaque na vermelho ).

Se analisarmos o mesmo, mas para um " resposta providerSubscriberInfo "Nós podemos


apreciar na imagem a seguir.

Independentemente deste primeiro valor " a1 "Ou" a2 "Protocolo" gsm_map "Um pouco mais
atenção para o resto dos valores hexadecimais ( reiteramos, eles são a representação mais
próximo e de baixo nível " pedaços "Verdadeiramente circularam pela infra-estrutura de
rede).

Para reafirmar este conceito que apresentam um quadro, mas desta vez por mais
parâmetros razão de nossa lista de ataques na imagem abaixo, podemos ver um quadro
contendo " resposta SendRoutingInfo ".

Alejandro Estrada Corletti p49


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Mais uma vez sobre a imagem anterior, prestar atenção aos valores hexadecimais da janela
inferior temos destacadas em vermelho .

Se analisarmos, desta forma cada um dos parâmetros que queremos analisar, estaremos
criando o " padrões de tráfego hexadecimal "Isso identificar exclusivamente a ocorrência
desse parâmetro. Quer dizer,
estaremos trabalhando com o menor modelo de camada de nível, com o qual não há nada
que podemos ignorar, como qualquer outro tipo de análise usando protocolos diferentes,
sempre serão "empacotados" em níveis acima deste somos "assistindo" nós.

Domínio das informações nível circulante "bits" abre o jogo a qualquer " detecção "E agora
podemos começar a criar regras que queremos com Snort.

Aqui estão alguns dos parâmetros que temos vindo a identificar-se com um alto grau de
certeza.

NOTA: Estas associações são o foco inicial de várias horas de estudo, mas não se
destinam a ser 100% exato, muito menos completo ( Leva até centenas de horas
de trabalho).
Uma das pesquisas futuras para que os leitores gostariam de participar, é apenas
isso:

padrões de tráfego

Criando e definindo novas regras SS7 / Sigtran ( ss7.rules)

O trabalho feito até agora, podemos apresentar o seguinte " padrões de tráfego
hexadecimal ":

** a2 2c 01 de fevereiro 01 30 02 01 47 30 27 (MAP anyTimeinterrogation)

----- > Componente: returnResultLast

Alejandro Estrada Corletti página 50


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

(AnyTimeinterrogation MAP) Temos capturas

a2 ** ** 01 fevereiro 01 30 30 01 de fevereiro 46 (MAP provideSubscriberInfo)

----- > Componente: returnResultLast

a1 ** 02 01 01 02 01 46 30 10 80 (MAP provideSubscriberInfo)

----- > Componente: Invocar

02 01 01 02 01 30 48 84 2e (MAP mo-forwardSM)

** a1 8b 02 de janeiro 00 01 fevereiro 2c (MAP mt-forwardSM)

6a a1 02 01 01 02 01 16 30 62 (MAP SendRoutingInfo)

a1 ** 02 01 02 de janeiro 01 2d 30 15 (MAP SendRoutingInfoForSM)

----- > Componente: Invocar

A2 ** 1 fev 01 30 02 01 30 2d 1a 15 (MAP SendRoutingInfoForSM)

----- > Componente: returnResultLast

a2 ** 02 01 01 30 0e 02 01 02 30 09 04 07 (UpdateLocation MAP)

----- > Componente: returnResultLast

a1 ** 02 01 01 02 01 02 30 26 04 08 (UpdateLocation MAP)

----- > Componente: invocar (invokeID: 1)

a1 ** 02 01 01 02 01 07 30 (MAP InsertSubscriberData)

----- > Componente: invocar (invokeID: 1)

a1 ** 02 01 02 02 01 07 30 (MAP InsertSubscriberData)

----- > Componente: invocar (invokeID: 2)

a1 ** 02 01 03 02 01 07 30 (MAP InsertSubscriberData)

----- > Componente: invocar (invokeID: 3)

a2 ** 02 01 01 30 25 02 01 07 30 (MAP InsertSubscriberData)

----- > Componente: returnResultLast (InvokeID: 1)

a2 ** 02 01 02 30 09 02 01 07 30 (MAP InsertSubscriberData)
----- > Componente: returnResultLast (InvokeID: 2)

A2 02 01 05 0e 30 09 02 01 07 30 (MAP InsertSubscriberData)
----- > Componente: returnResultLast (InvokeID: 5)

a1 ** 02 01 01 02 01 08 30 (MAP deleteSubscriberData)
----- > Componente: invocar (invokeID: 1)

a1 ** 02 01 01 02 01 03 a3 0d (cancelLocation MAP)
----- > Componente: invocar (invokeID: 1) (cancelLocation)

a1. {2,4} 02 01 00 02 01 00 30 (CAMEL MAP-V2 ou InitialDP)

Alejandro Estrada Corletti p.51


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

----- > Componente: invocar (invokeID: 1) (cancelLocation (3))

Em reconhecimento destes valores hexadecimais, podemos começar a criar as nossas


próprias regras para detecção de Snort, que chamaremos " ss7.rules "( como eles têm
apresentado em nosso arquivo de configuração do modelo " snort.conf ").

Não entrar em explicações de como as regras do Snort ( novamente recomendamos a leitura


" Snort Manual do Usuário "), só nós mencionar uma regra Snort deve ter um "header" ( parte
anterior em parênteses)
e um "corpo" ( entre parênteses).

Comece a "criar" novas regras.

Exemplo 1:

Vamos aplicar um dos padrões em hexadecimal apenas apresentados, por exemplo:

6a a1 02 01 01 02 01 16 30 62 (MAP SendRoutingInfo)

Se quiséssemos começar com uma regra que pode detectar a ocorrência desses padrões em
hexadecimal, poderíamos começar por:

ip alerta any any -> qualquer qualquer (msg: "MAP - SendRoutingInfo"; teor: "|
a16a020101020116 |"; prioridade: 1; sid: 1000001; rev: 1;)

O que estamos dizendo aqui?

1) Gerar um alerta: alerta


2) Por tudo o que segue o protocolo IP: ip
3) Cuja origem é qualquer IP / rede: qualquer
4) Cuja origem é qualquer porta: qualquer
5) Só ir em uma direção " -> "( embora neste caso não tem
lógico, para tudo " qualquer ")
6) Cujo destino é qualquer IP / rede: qualquer
7) Cujo destino é qualquer porta: qualquer
8) Se houver qualquer ocorrência, ou seja, se você aplicar esta regra a
algum lote, geramos uma mensagem cujo conteúdo é: MAP - SendRoutingInfo

9) A regra "salto" somente quando ele encontra essa sequência


em hexadecimal: conteúdo: "| a16a020101020116 |".
10) Você dá prioridade: prioridade: 1
11) O identificador desta regra é: sid: 1000001 ( Snort aconselha
quando as regras locais são criados, que empregam mais de 1.000.000 ID)
12) Que é a primeira revisão do mesmo: rev: 1

É claro que estamos apresentando uma regra extremamente básico para começar.

Exemplo 2:

Para melhorar um pouco, poderíamos começar a ajustar sua concepção,

Alejandro Estrada Corletti p.52


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

por exemplo, um de seus "any".

Se tomarmos a questão dos nossos ataques, por exemplo, No. ataque


2. Serviços de localização (LCS) (uso de localizador de emergência).
MAP novamente cerca de duas etapas
são executadas:
a. O intruso envia
pedido
SendRoutingInfoForSM ( o
HLR), que responde com
resposta
SendRoutingInfoForSM

Neste caso, vemos que este parâmetro pode começar a analisá-lo em sua " pedido " e
seu " resposta ". A proposta pode ser avaliada se pegar o nosso tráfego de qualquer
quadro Response inicialmente contendo " SendRoutingInfo".

Diante desse cenário, é claro que você deve enviar o HLR no sentido de uma " Net
externa "Para ajustar esta definição na regra acima, podemos então fazer o seguinte:

alerta ip $ HLR-HSS qualquer -> $ HOME_NET qualquer (msg: "MAP SendRoutingInfo";


teor: "| a16a020101020116 |"; prioridade: 1; sid: 1000001; rev: 1;)

O que estamos dizendo agora?

1) Só que desta regra é acionada quando o jogo IP / rede


variável que definido acima em ( No nosso exemplo o arquivo " snort.conf ") como
var HLR-HSS, e é por isso que chamamos o sinal "$" na frente: $ HLR-HSS

2) Só que desta regra é acionada quando o / rede IP, não corresponder ( "!")
a variável que definido acima em ( No nosso exemplo o arquivo " snort.conf ") como
var HOME_NET:
! $ HOME_NET

Exemplo 3:

Se continuarmos prestando atenção a No. 2 ataque apresentado no exemplo acima,


vemos que na verdade não estamos olhando para o parâmetro " SendRoutingInfo " mas
temos de ser ainda mais preciso e procurar " SendRoutingInfoForSM "( SM vem de
"mensagens curtas"), se nós
os "padrões hexagonais", apresentado
acima, podemos ver o seguinte ( para pedido e resposta):
a1 ** 02 01 02 de janeiro 01 2d 30 15 (MAP SendRoutingInfoForSM)

----- > Componente: Invocar

A2 ** 1 fev 01 30 02 01 30 2d 1a 15 (MAP SendRoutingInfoForSM)

----- > Componente: returnResultLast

Quando representamos ( em nosso texto) um valor hexadecimal "**"

Alejandro Estrada Corletti página 53


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

hexadecimal tentar refletir que este par pode assumir qualquer valor, porque temos
bem comprovada no estudo de várias ocorrências deste parâmetro.

No corpo de uma regra Snort, se trabalharmos com valores hexadecimais "puros", eles
devem ser colocados entre barras verticais "| ... .. | "eo mesmo NO apoiar o "wildcard"
"**". Felizmente esta maravilhosa ferramenta oferece uma solução, o uso dos termos " pcre
"( Perl Compatible Regular Expressions).

Portanto, seguindo a nossa definição de regra, isso agora pode ficar como:

! Alerta ip $ HLR-HSS qualquer -> $ HOME_NET qualquer (msg: "MAP


SendRoutingInfo";
pcre "/ \ {1} xa2 \ x02 \ x01 \ x01 \ x30 \ x1a \ x02 \ x01 \ X2D /.";
prioridade: 1; sid: 1000001; rev: 1;)

O que estamos dizendo agora? Em vez de analisar um " conteúdo "Específica,


aplicar uma expressão" pcre "Os valores hexadecimais:" \ X "E então o valor" a2 "Considere
um e somente um" caráter ASCII "representado por um par de números hexa "{1}. "

(Se quiséssemos exatamente dois,


Devemos ter colocado "{2}", Se qualquer valor de 1 a 5 caracteres: "{5/1}" etc).

Exemplo 4:

Não continuar estendendo-se sobre cada um dos aspectos a considerar em


consideração para criar regras Snort ( insistimos questão deve ser estudado seriamente
desde " Snort Manual do Usuário "), e vamos analisar mais profundamente as regras
atuais em que estamos a trabalhar no tráfego SS7 / Sigtran.

# categoria ataque 1: EXT_NET um HLR responde com " provideSubscriberInfo


resp "

# A primeira regra comentou "#" pode verificar se ou não tráfego " provideSubscriberInfo_resp
"

# se verificar necessário, você deve remover o comentário "#"

# A segunda regra (sem comentários) é aquele que detecta a ocorrência deste Ataque 1

# provideSubscriberInfo_resp ip any any -> qualquer qualquer (msg: "MAP


provideSubscriberInfo_resp - Ataque No. 1" "; pcre" / \ xa2 {1} \ x02 \ x01 \ x01 \ x30 {1} \
x02 \ x01 \ x46 \ .. x30 / "; sid: 1000010;)

provideSubscriberInfo_resp ! Ip $ HLR-HSS qualquer -> $ HOME_NET qualquer (msg: " MAP


- provideSubscriberInfo_resp - Ataque Não.

Alejandro Estrada Corletti página 54


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

1 "; pcre "/ \ {1} xa2 \ x02 \ x01 \ x01 \ x30 {1} \ x02 \ x01 \ x46 \ x30 / .."; sid: 1000011;)

O que estamos dizendo agora?

Como podemos ver, estamos já a criação de regras que são relevantes para o nosso
estudo e apresentação das quinze categorias de ataques. Neste caso estamos
gerando uma mensagem clara: msg " MAP
- provideSubscriberInfo_resp - Ataque No. 1".

Mas a coisa que queremos enfatizar é que essa nova regra não vai mais começar com " alerta
"Como os exemplos acima, desta vez a primeira palavra é" provideSubscriberInfo_resp ".

Se voltarmos, quando apresentamos o arquivo de configuração " snort.conf "Na seção" saídas
"No fim de tudo, nós comentou que pode" personalizar "e, especificamente, em nosso
arquivo" snort.conf "Exemplo discutimos o seguinte resultado:

# Saída no formato "pcap" detectado Ataque 1

(Podemos definir o nosso próprio formato de


saída com base em uma determinada regra, será
visto mais claramente depois que apresentamos
as "regras do Snort").

RuleType provideSubscriberInfo_resp {

tipo de alerta

saída log_tcpdump: ATQ1-provideSubscriberInfo_resp.cap

Neste Exemplo 4, que são precisamente esta regra relativa a uma saída específica
que nós mesmos criamos e nomeado " provideSubscriberInfo_resp "Queremos que ele se
comportar como" tipo de alerta ": tipo de alerta e sua saída é no formato "log_tcpdump"
( quer dizer ". boné ") eo nome:
Atq1-
provideSubscriberInfo_resp.cap.

Exemplo 5:

Apresentamos a seguir outras regras mais responsivo ao seu formato anterior e que
são os únicos que estamos usando redes
produção SS7 / Sigtran com resultados muito bons.

# categoria Attack 2: MSC responde a EXT_NET com "resp


provideSubscriberLocation"

# Para este ataque não conseguimos capturar até mesmo qualquer tipo de tráfego
contendo esse parâmetro

Alejandro Estrada Corletti p.55


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

# categoria Attack 3 ( DoS): de EXT_NET a MSC tanto com parâmetros


siguietes "req insertSubscriberData", "req DeleteSubscriberData" ou "req
cancelLocation"

# Em todos os casos, a primeira regra, comentou: "#" permite verificar se


há tráfego "provideSubscriberInfo resp"

# se verificar necessário, você deve remover o comentário "#"

# A segunda regra (sem comentários) é aquele que detecta a ocorrência deste Ataque 1

# insertSubscriberData_req ip any any -> qualquer qualquer (msg: " MAP


insertSubscriberData_req - Ataque No. 3A ";
pcre "/ \ {1} xa1 \ x02 \ x01 {1} \ x02 \ x01 \ x70 \ x30 / .."; sid: 1000031;)

! InsertSubscriberData_req ip $ HOME_NET qualquer -> $ MSC qualquer (msg: " MAP -


insertSubscriberData_req - Ataque No. 3A ";
pcre "/ \ {1} xa1 \ x02 \ x01 {1} \ x02 \ x01 \ x70 \ x30 / .."; sid: 1000032;)

# DeleteSubscriberData_req ip any any -> qualquer qualquer (msg: " MAP


DeleteSubscriberData_req - Ataque No. 3B ";
pcre "/ \ {1} xa1 \ x02 \ x01 \ x01 \ x02 \ x01 \ x08 \ x30 /."; sid:
1000033;)

! DeleteSubscriberData_req ip $ HOME_NET qualquer -> $ MSC qualquer ( msg: "MAP -


DeleteSubscriberData_req - Ataque No. 3B";
pcre "/ \ {1} xa1 \ x02 \ x01 \ x01 \ x02 \ x01 \ x08 \ x30 /."; sid:
1000034;)

# cancelLocation_req ip any any -> qualquer qualquer (msg: " MAP


cancelLocation_req - Ataque Não 3C ";
pcre "/ \ {1} xa1 \ x02 \ x01 \ x01 \ x02 \ x01 \ x03 \ XA3 /."; sid:
1000035;)

! CancelLocation_req ip $ HOME_NET qualquer -> $ MSC qualquer (msg: " MAP


- cancelLocation_req - Ataque Não 3C ";
pcre "/ \ {1} xa1 \ x02 \ x01 \ x01 \ x02 \ x01 \ x03 \ XA3 /."; sid:
1000035;)

Finalmente, para não chegar mais, apresentamos como você pode lançar Snort para fazer
uso deste exemplo de configuração " snort.conf " e as " ss7.rules "Nós apresentamos acima.

Alejandro Estrada Corletti página 56


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

O formato para o lançamento de um console seria:

# snort -c -r snort.conf captura_a_emplear.pcap

Abaixo está uma imagem da nossa máquina virtual " barrilha "Onde você pode apreciar a
realização e os resultados do mesmo.

Como podemos ver na foto acima, na própria consola superior, o comando específico que
acabou de ser executado, e na janela inferior os resultados das saídas com o formato
decidimos atribuir aparece.

Nesta janela abaixo, você pode ver claramente que o arquivo foi gerado "alertar" vazio ( nossa
configuração log_null), e então cada formato de saída ".Cap" dos três ataques cujas regras
foram apresentados acima.

Aqueles com um tamanho de 24 bytes, que não contêm o título, ie vazio ( Nós não conseguimos
encontrar este padrão de ataque) Mas os arquivos especificamente:

ATQ1-provideSubscriberInfo_resp.cap

Atq3C-canelLocation_req.cap

Estes dois sim Eles têm quadros que foram armazenados para atender o nosso padrão de
pesquisa.

Alejandro Estrada Corletti página 57


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Não podemos dizer que não há falsos positivos, mas é verdade que agora temos um
número mínimo de quadros de 435017 apresentar o nosso trabalho inicial em que nos reunir
todas as "pequenas capturas iniciais" ( capturas_completas.pcap) de 161,7 MB de
tamanho. Especificamente, se abrirmos com Wireshark, ambos libertação resultados Snort
na máquina virtual, os quadros gerados após a aplicação de nosso ss7.rules São eles:

Como o título indica que a imagem anterior, é o resultado final sobre Ataque No. 1, e
contém apenas dois frames.

Como o título indica que a imagem anterior, é o resultado final sobre Atacar No. 3C, e
contém apenas cinco quadros.

Alejandro Estrada Corletti página 58


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

7. ferramentas adicionais.

Aqui estão algumas ferramentas que nos serviram neste trabalho.

7.1. MATE ( Análise Meta e Tracing Engine) para Wireshark.

MATE é um tampão de extracção quadros de dados de árvore Wireshark e, em


seguida, utilizar essa informação, tenta grupo los de acordo com a forma como este
módulo está configurado. A linguagem utilizada é o "canônico" modelo shell, chamando
" PDU "( Protocol Data Unit) as informações define cada nível a ser tratada, a criação de
uma "árvore" de PDUs com os campos que temos de filtragem, oferecendo bastante
opções que podem ser úteis. Todas as informações que precisamos sobre MATE pode
ser encontrado em:

https://wiki.wireshark.org/Mate

MATE especificamente, ele é baseado em um arquivo onde podemos facilmente


configurar os diferentes campos que queremos agrupar os quadros de qualquer tipo de
captura. No URL listados acima, dentro das ofertas de documentação, apresenta-se
um exemplo de um arquivo chamado "tcp.mate", que pode ver a seguir.

ip proto tcp_pdu PDU transporte TCP {


Extrato de ip.addr endereço;
Extrair De tcp.port porta;
Extraia tcp_start De tcp.flags.syn; Extraia
tcp_stop De tcp.flags.reset; Extraia tcp_stop
De tcp.flags.fin;
};

tcp_ses do GOP no tcp_pdu Combinar (addr, endereço, porta, porta) {Iniciar

(tcp_start = 1);

Parar (tcp_stop = 1); };

feito;

Nele, é a criação de uma nova " PDU "Cujo nome é" tcp_pdu "Vai trabalhar no protocolo" TCP
"E interpretar tudo o que" transporte "acima do protocolo" IP "A partir daí pergunta"
extrato "campos" ip-addr "" tcp.port "" tcp.flags.syn "Etc. E, em seguida, "Eu grupos" por
um "grupo Pdu (GOP)" chamado " tcp.ses ". Mais uma vez, não é a nossa intenção de
desenvolver um curso sobre MATE

Alejandro Estrada Corletti p.59


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

( Por favor, se você quiser aprofundar-lo, você tem toda a documentação no URL
indicado anteriormente). Ao longo destas linhas, só queremos apresentá-lo, dar um
exemplo de como nós usamos e, especialmente, despertar neles o interesse do leitor.
No nosso caso, por exemplo, queremos trabalhar com o protocolo " SCCP "E" GSM_MAP
"Para fazer isso, então temos de criar nosso próprio arquivo de configuração com os
campos que deseja do grupo, para que possamos fazer isso, inicialmente, como
apresentado a seguir.

PDUs ip_pdu Transporte Proto ip ip {


Extraia ip_fuente De ip.src;
Extraia ip_destino De ip.dst;
};

PDUs sccp_pdu ip proto Transporte SCCP {


Extraia sccp_clg_dig De sccp.calling.digits; Extraia sccp_clg_ssn De
sccp.calling.ssn; Extraia sccp_cld_dig De sccp.called.digits; Extraia
sccp_cld_ssn De sccp.called.ssn; Extraia gsm_map_UpdateLocation De
gsm_old.localValue; Extraia gsm_map_msisdn De gsm_map.ch.msisdn;
gsm_map_locationnumber.digits extrato

De gsm_map.locationnumber.digits;
};
feito;

A primeira coisa que quero salientar é que este plugin usa o mesmo formato como o
"filtro de exibição" Wireshark, por isso queremos definir nenhum parâmetro, podemos
olhar para " expressão "A partir filtros" Wireshark "e copie seu formato.

Além re-explicar o que estamos fazendo, nós vemos os resultados que iríamos conseguir
com este arquivo de configuração, que chamamos " sccp.mate ".

Para lançar este plugin, podemos fazê-lo pela linha de comando ou a partir do mesmo
GUI Wireshark, consulte o primeiro caso.

# wireshark-ou "mate.config: sccp.mate" prueba2.pcap -r

Com o comando acima, dizemos executar Wireshark em escrever sua configuração


padrão ( "-O") configuração usando fosco contido no arquivo " sccp.mate "E isso fez
leitura ( "-R") capturar " prueba2.cap ".

Depois de executar esta linha de comando, GUI Wireshark será aberto e vai oferecer
novos campos, como eles podem ver na imagem abaixo.

Alejandro Estrada Corletti p.60


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

Este novo parâmetro como visto na imagem acima destacadas em vermelho, parece
agora, para cada quadro que se aplica, que apresenta as informações apenas obtida
em nosso arquivo " sccp.mate ". Nós ter excluído os dígitos do país.

Todos os campos apresentados nesta imagem já foram desenvolvidos em pontos


anteriores, convidamos o leitor a rever esses conceitos dentro do mesmo texto.

Não vale a pena continuar a desenvolver mais conceitos e possibilidades MATE


dá-nos, portanto, tentar apresentar a ideia de que estas breves linhas finais é
considerar também outras ferramentas que, juntos, oferecem mais recursos de
filtragem, visualização, seleção, etc. É o leitor que tem a liberdade para aproveitar a
melhor maneira que julgar conveniente, integrá-los ao já visto, usá-los para ter um
outro ponto de vista ou capacitá-las através da programação de diferentes ações para
melhorar este trabalho.

7.2. Tshark.

Nos casos em que ele pode ser de utilidade não usa o Wireshark GUI, e em particular
o poder que nos dá a linha de comando para executar programas simples, este
software (Wireshark) também nos oferece este comando " tshark "Operando sob a
mesma lógica e nos permite fazer uso de quase todas as opções e filtra Wireshark.

Há muita informação sobre ele na Internet, como também são

Alejandro Estrada Corletti página 61


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

suficientemente claras suas opções se escrever " # -help tshark "

Sem que isso seja um curso de "tshark" nestas linhas única queremos destacar a
importância de levar em conta este comando, porque, como veremos a seguir nos dá
uma possibilidade quase ilimitada de análise. Se essa capacidade adicionar um simples
" Scripts "Tal programação" bater "Os resultados podem ser excelentes ea única fronteira
será criatividade e imaginação dos que os desenvolvem. A seguir, apresentamos
alguns exemplos simples onde vemos a aplicação dos mesmos filtros que usamos na
seção "Wireshark" deste documento.

sh-3.2 # tshark -r prueba1.pcap


1 0.000000 5707 → 5672 GSM SMS 306 Invoke forwardSM
2 1.716000 5710 → 5703 GSM MAP 186 Invoke readyForSM
3 1.777000 5707 → 5732 GSM MAP 186 Invoke readyForSM
4 2.464000 5707 → 5710 SMS GSM 270 invocar forwardSM (fragmento de Mensagens Curtas
4 de 4)
5 2.604000 5707 → 5710 GSM SMS 206 Invoke forwardSM
6 2.683000 5703 → 5710 GSM SMS 306 Invoke forwardSM
7 2.829000 5707 → 5710 GSM SMS 322 Invoke forwardSM (fragmento Short Message
2 de 4)
8 3.592000 5707 → 5710 GSM SMS 218 Invoke forwardSM
9 3.617000 5707 → 5710 GSM SMS 298 Invoke forwardSM
10 3.681000 5703 → 5710 GSM SMS 322 Invoke forwardSM (fragmento Short Message
1 de 4) 11 ............... (continua para o último quadro)

Como podemos ver no comando acima "lê" captura " prueba1.pcap ".

Aqui estão aplicando o mesmo filtro de exibição que usamos na seção "Wireshark"
o resultado nos mostra de forma muito clara, que os quadros que incluem esta
pesquisa (neste caso estamos filtrando.

"Gsm_old.localValue ==" implicando "UpdateLocation" ).

# E tshark gsm_old.localValue == 2 -r prueba1.pcap


18 5.218000 5748 → 5707 GSM MAP 210 Invoke UpdateLocation
70 5.832000 5707 → 5748 GSM MAP 150 returnResultLast UpdateLocation
79 5.933000 5703 → 5732 GSM MAP 206 Invoke UpdateLocation
83 6.151000 5710 → 5703 GSM MAP 210 Invoke UpdateLocation
90 6.225000 5710 → 5703 GSM MAP 210 Invoke UpdateLocation
92 6.229000 5707 → 5732 GSM MAP 210 Invoke UpdateLocation
93 6.242000 5710 → 5703 GSM MAP 210 Invoke UpdateLocation
95 6.253000 5703 → 5732 GSM MAP 210 Invoke UpdateLocation
99 6.306000 5703 → 5732 GSM MAP 206 Invoke UpdateLocation
100 6.313000 5703 → 5732 GSM MAP 210 Invoke UpdateLocation

Aqui podemos ver um outro exemplo onde "concatenar" sobre um filtro de exibição
e o resultado é uma única ocorrência do mesmo.

Alejandro Estrada Corletti página 62


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

# tshark -Y "(gsm_old.localValue == 2) e (== sccp.calling.ssn 6)" prueba1.pcap -r


70 5.832000 5707 → 5748 GSM MAP 150 returnResultLast UpdateLocation

Em seguida, repita o mesmo exemplo que colocamos em "Wireshark" para


identificar quadros que vêm de todo o lado de fora "External Net" da Espanha,
analisando o endereço " SCCP ".

# E tshark "corresponde sccp.calling.digits 34 e não 34 partidas sccp.called.digits" prueba1.pcap -r

84 6.151000 5703 → 5732 GSM MAP 194 Invoke updateGprsLocation


89 6.207000 5703 → 5732 GSM MAP 154 returnResultLast insertSubscriberData

Finalmente, podemos ver que o filtro acima, como com Wireshark, podemos enviá-lo
para uma saída "- w "(Write), no nosso caso nós chamamos " resultado_sccp-34.pcap " .

# E tshark "corresponde sccp.calling.digits 34 e não 34 partidas sccp.called.digits" prueba1.pcap -r


- w resultado_sccp-34.pcap

Se abri-lo com Wireshark podemos verificar que foi salvo neste formato e que
naturalmente são perfeitamente compatíveis.

7.3. quadros unificadores (mergecap).

Um comando importante que nós mencionamos e ressaltamos aqui é, se várias capturas


são recebidos "Mergecap" com isso, você pode unificar a tratá-los todos como um só. O
formato básico que pode aplicar para se juntar várias capturas "pcap" é:

# mergecap * .pcap -w nombre_salida.pcap

Alejandro Estrada Corletti página 63


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

7.4. Pegar informações ( capinfos).

Este comando, que geralmente é integrado nas diferentes distribuições Linux, e,


finalmente, parte da família " tcpdump "Ou o" libpcap "Como o nome indica, dá-nos
informações formato de arquivo" ". boné "( e suas variantes: .pcap,
. pcapng, etc).

No nosso caso, achamos muito conveniente para fazer uma primeira vista de qualquer
captura que temos, e em particular para saber que tipo de distribuição de protocolo
corresponde. Aqui estão alguns exemplos simples.

# -u capinfos prueba1.pcap

Nome do arquivo: prueba1.pcap

duração da captura: 6.313000 segundos

Nós rapidamente indica a duração de uma captura completa.


# capinfos -i prueba1.pcap

Nome do arquivo: prueba1.pcap

taxa de bits de dados: 29 kbps

Nós rapidamente indica a velocidade com que os dados são capturados.

# Total de capinfos -c-MAP.pcap

Nome do arquivo: Total de MAP.pcap

Número de pacotes: 435 k

Nós rapidamente indica o número de pacotes que travam.

Para mais detalhes sobre todas as opções oferecidas por este comando, você pode
escrever o mesmo sem opções e implantar todos
( # capinfos )

Alejandro Estrada Corletti página 64


A análise da vulnerabilidade SS7 / Sigtran usando Wireshark ( e / ou tshark) e Snort

8. conclusões

Ao longo deste texto, temos tentado apresentar o problema que tem atualmente com SS7 /
Sigtran em todas as operadoras de telefonia do mundo.

Nós analisar textos e pesquisas sobre diferentes tipos de ataques que, na prática já existe e que
pode causar um grande impacto sobre essas arquiteturas.

Que fique claro que a única maneira de resolver estas vulnerabilidades, é compreensão e análise
dos fluxos de "bits" que circulam através destas redes de sinalização, sem esse trabalho, estaríamos
operando cegamente.

Estávamos a desenvolver uma metodologia que nos permite identificar e detectar possíveis
ocorrências desses "padrões de tráfego" e, em seguida, ser capaz de adoptar medidas que
melhor se adequam a nossa arquitetura.

Apresentamos diferentes técnicas e ferramentas para realizar este trabalho e avançar com
exemplo concreto de tráfego real SS7 / Sigtran.

Oferecemos soluções para este problema tão compreensíveis e acima de tudo usando todas as
ferramentas sob licenças " Open Source "Assim que nós não utilizar aplicativos de software ou
de pagamento.

Queríamos difundir o trabalho no estado em que está, sabendo muito bem que é apenas um
ponto de partida, robusto, mas em um estado inicial. Tomamos essa decisão porque estamos
conscientes de que, como em todo o desenvolvimento baseado em "Open Source", a quantidade
de esforço é que realmente sets o poder, portanto, preferred share agora como um convite para
novos desenvolvedores e contribuições que nos permitem amadurecer e assumir produção esta
forma de trabalhar.

Para fechar este documento, queremos dizer que para nós a maior satisfação iria encontrar um
eco desta metodologia e vê-lo "crescer" com as contribuições de quem quer saltar sobre este
movimento.

Madrid, março 2018

Alejandro Estrada Corletti página 65


análise de vulnerabilidade SS7 / Sigtran usando Wireshark e Snort

Referências

Eu GSMA - IR 82 v3.0.pdf - Implementação de Segurança SS7 em SS7 diretrizes de rede Versão 3.0 21 de março de

2016

ii Engel, telefones T. Localizando móveis utilizando Sistema de Sinalização nº 7. [Online]. disponível:

https://events.ccc.de/ , Acessado 2015/07/11

Engel, T. Dezembro de 2014. SS7: Localize. Track. Manipular. [Online]. disponível:


https://media.ccc.de , Acessado em 22/10/2015. 


31c3-SS7-localizar-track-manipulate.pdf - SS7: Localize. Track. Manipular. Tobias Engel <


tobias@ccc.de >

iii Langlois, P. 2010. Obtendo na SS7 Unido: tecnologia de disco e e hacks perturbadoramente fácil de
ge (Engel) pontos de entrada t no jardim murado. [Online]. disponível: http://www.hackitoergosum.org/2010/
HES2010-planglois-AttackingSS7.pdf , Acesso em: 2015/11/25.

iv Nohl, K. de Dezembro de 2014. Móvel auto-defesa. [Online]. disponível: https: //media.ccc.de ,

Acessado em 22/10/2015.

1783_101228.27C3.GSM-Sniffing.Nohl_Munaut.pdf - Karsten Nohl GSM Sniffing

v Vauboin, P.-O. & Oliveira, AD em abril de 2014. Os ataques de rede Worldwide SS7.


vi Langlois, P. - bh-eu-07-Langlois PPT-apr19.pdf - SCTPscan - Encontrar pontos de entrada para SS7 Redes e

Telecomunicações Backbones

vii diameter_research.pdf - redes de nova geração próximo nível Cybersecurity Problemas

(2017).

viii FRHACK2009_Attacking-SS7_Langlois.pdf

ix Kamwendo, B. - Report.pdf Research - Universidade do Withwatersrand - Johannesburg

X rede SS7 Cortando a segurança do ~ By default.pdf - www.Securitybydefault.com

Alejandro Corletti estrda página 66


análise de vulnerabilidade SS7 / Sigtran usando Wireshark e Snort

xi Jensen, K. SS7 junho de 2016. Melhorar a Segurança Usando técnicas de Aprendizado de Máquina.

Dissertação de Mestrado. Master of Science em Segurança da Informação (KJensen_2016.pdf).

xii GSMA - diretrizes de monitoramento SS7 Interconnect Segurança - - FS.11 Versão 1.0 (19 de novembro de 2015).

Guia para 3G Projecto de segurança V130-Changed para cobrir MAP-SEC

3GPP TS 29.002 V15.2.0 (2017-12) 3 Generation Partnership Project; Especificação Grupo Técnico
de Core Network e Terminais; Aplicação Parte móvel (MAP) especificação (Release 15)

ETSI TS 100 974 V7.15.0 (2004-03) - Sistema de telecomunicações celular digital (Fase 2+); Mobile
Application Part (MAP) especificação (3GPP TS 09.02 versão
7.15.0 Lançamento 1998)

ETSI TS 129 002 V14.4.0 (2018-01) - Sistema de telecomunicações celulares digitais (Fase 2+) (GSM);
Universal Mobile Telecommunications System (UMTS); Mobile Application Part (MAP) especificação
(3GPP TS 29.002 versão 14.4.0 Release 14)

GSMA - RIFS62_03 CR1005 para FS11 v3_2 v0_2.docx PROJECTO - SS7 Interconnect Monitoramento e Firewall
Segurança Orientações Versão 3.2 PROJECTO CR1005 para v0.2

Alejandro Corletti estrda página 67

Você também pode gostar