VoIP - Cuidado básico - O ataque

TripleX

Power Member
Viva,



A tecnologia VoIP não conta muito com a segurança, salvos algumas novas soluções no mercado, mas até ontem não existia segurança alguma para fazer chamadas por VoIP.
Gostaria de apresentar uma técnica onde consigo interceptar uma chamada VoIP através de um switch.
Quero deixar claro que não tenho nada contra a tecnologia VoIP, muito pelo contrário, sou um utilizador frequente, mas que com olhos abertos aprecio a tecnologia ao mesmo tempo em que consolido a segurança e a beleza de seu funcionamento perfeito.
Os Softwares para análise de tráfego, softwares para captura entre outros, são distribuídos livremente. O software que utilizo na demonstração, no caso, é free.
*Não divulgarei o nome do software utilizado por motivos de segurança, uma vez que não desejo que este artigo seja utilizado para fins maléficos, e não tenho a intenção de ensinar, ou mesmo dar aquela “receita de bolo” para aqueles “anarquistas de plantão”. Caso queira conhecer, pode entrar em contacto comigo e me relatar duvidas e ou sugestões. Entretanto, o software está disponível na web livremente, mas sugiro que entenda mais sobre tecnologia VoIP e Segurança, antes de qualquer coisa.·
Muito bem, para efeitos de demonstração, construí um Lab utilizando duas Máquinas (Máquina real e uma Máquina Virtual), um softphone** e um IAD Voip**
Em minha máquina real estão instaladas as ferramentas como Sniffers e o Softphone, além, é claro, do Servidor da Máquina Virtual.
Na máquina virtual está instalado um sistema Operacional Linux, mais precisamente uma Distribuição Debian-Sarge com um Servidor SIP**, onde estão registrados os usuários do meu IAD e do Softphone.
Para colocar de forma mais explícita, seguem as configurações das máquinas e softs utilizados:
Máquina Real (chamaremos de SoftPhone):
IP: 10.1.2.53
Usuário no Servidor SIP: 1000
Servidor SIP:IP: 10.1.2.107
IAD Voip:IP: 10.1.2.49
Usuário no Servidor SIP: 1001
Gateway da rede:IP: 10.1.2.252
Temos a seguinte topologia:
Todos os Equipamentos estão ligados a um switch, sim um switch, este software é capaz sim de capturar tráfego mesmo estando conectados a um switch.
Abaixo, temos uma primeira tela do software, onde vasculhamos nossa rede com o intuito de descobrir todos os equipamentos disponíveis no range de ip da rede.

img1.jpg


Agora, sabemos quais equipamentos temos ligado em nossa rede 10.1.2.0, e só precisamos filtrar aqueles que nos interessam. Observe que há uma descrição, na verdade, uma identificação do equipamento, através dele é que vamos saber quais os dispositivos que vamos utilizar em nossa captura.
Depois de identificar o equipamento, o qual queremos colher as informações, em nosso caso, queremos capturar tudo que passa pelo servidor SIP (10.1.2.107), na verdade não precisamos de mais nenhum.

img2.jpg


A técnica utilizada se chama ARP Poisoning (Envenenamento da tabela ARP), isto ocorre quando escolhemos um dispositivo da rede e enganamos passando por outro dispositivo. No caso do gateway, todas as informações que devem passar por ele, os dispositivos encaminham informações para a minha máquina, onde ela capta e, em seguida, encaminha para o verdadeiro destino.
Em nosso caso, vamos nos passar pelo Servidor SIP, assim, todas as chamadas irão passar pela minha máquina onde vamos capturar as chamadas, como vemos a seguir:

img3.jpg


Na figura acima, a demonstração de uma chamada sendo feita através de um softphone para o IAD. A Seguir, a conexão é estabelecida, utilizando o codec de áudio G711u:

img4.jpg


Neste momento, a conexão foi estabelecida e já há tráfego de voz, observe na figura a seguir que o software está capturando o tráfego de voz entre dois hosts 53 e 49, no momento em que grava o mesmo.

img5.jpg


Por final, quando uma das pontas desliga o telefone, os equipamentos enviam uma mensagem do tipo (BYE, desconectado), e o software entende que não está passando mais áudio no canal, assim o software termina a gravação identificando o canal de Áudio RTP, salvando o mesmo com uma extensão WAV, pronto para ouvir.

img6.jpg


img7.jpg


Esta técnica foi utilizada em um Lab, onde o Servidor SIP foi instalado com os requisitos mínimos e sem a utilização de qualquer tipo de criptografia, túneis vpn, etc.
Mas podemos comprovar que apenas pelo facto de os equipamentos estarem em um switch e não mais em Hubs, como antigamente, sua rede não está segura de ataques conhecidos como Man-in-the-middle (Arp poison).
Espero que, com esta matéria, profissionais da área de redes, e, principalmente, profissionais na área de implantação de sistemas Voip, analisem profundamente o cenário e os procedimentos básicos de segurança, pois a redução de custo do Voip em relação ao desastre que pode ocorrer com informações claras expostas na rede acaba saindo mais caro, muito mais caro.
Espero que tenham gostado!
Abraços.
 
Diga-se de passagem que esta técnica funciona perfeitamente com qualquer protocolo... e muitas vezes não há SSL que safe isto (no caso de ligações http).

A única forma de contornar isto é mesmo ter atenção com o que se passa com a tabela ARP.
 
Tenho de dizer que me ultrapassou um bocado a lógica deste PoC.

Fizeste um poisoning a um servidor virtual que estava a correr na máquina que por sinal também estava a sniffar, e conseguiste snifar o tráfego entre a máquina real e a virtual?
É que ou eu percebi mal o esquema, ou uma vez que a virtualização é feita a um nível de sw e não de hw, todo o tráfego que sai quer da máquina real quer da virtual saem pela mesma fonte, logo pode ser sempre sniffada e manipulada???

Por favor elucida-me, porque tenho interesse no assunto e acho que não percebi muito bem a lógica disto.

PS: Qualquer admin que tenha uma rede construída na qual tenha coisas como servidores SIP e clientes tudo na mesma rede e sem qualquer tipo de controlo de acesso e outro tipo de protecções tá no negócio errado.
 
As máquinas virtuais simulam na perfeição uma rede física. Se tiveres os IP's das máquinas virtuais em subnets diferentes do host, o host não capta directamente esses pacotes, tal como em duas máquinas físicas.
 
As máquinas virtuais simulam na perfeição uma rede física. Se tiveres os IP's das máquinas virtuais em subnets diferentes do host, o host não capta directamente esses pacotes, tal como em duas máquinas físicas.

Mais uma vez, o tráfego sai sempre da mesma fonte, a não ser que ele tenha duas eth diferentes, uma para cada box e que só esteja a sniffar uma. Caso contrário o programa que ele tá a usar (e a maioria dos sniffers) funcionam em modo passivo apanhando tudo o que sai das ports em causa.
 
Mais uma vez, o tráfego sai sempre da mesma fonte, a não ser que ele tenha duas eth diferentes, uma para cada box e que só esteja a sniffar uma. Caso contrário o programa que ele tá a usar (e a maioria dos sniffers) funcionam em modo passivo apanhando tudo o que sai das ports em causa.

Caro TuxBoss,

Este teste foi realizado em um ambiente “particular”, por conta disto coloquei meu Servidor SIP em uma máquina virtual, porém já realizei diversos testes no cenário real e o resultado é o mesmo: Falha na segurança.

Esta falha é sempre acompanhada não só no ambiente VoIP mas sim no seu ambiente corrente (dados), isto se deve a falta de planeamento e estruturação da Rede, a Segurança não é apenas “trancar o Portão de fora da moradia” e sim em conjunto fechar as portas e janelas internas, observar e cuidar dos integrantes da “moradia”, pois um ataque deste tipo dificilmente seria realizado externamente, já em uma rede interna onde os ambientes nem sempre são segmentados por Vlans isto ocorreria facilmente!

Outro detalhe, o Servidor SIP pode sim estar em outra rede, porém quem está falando ao telefone pode ser seu colega de trabalho que está na mesma VLAN, com isso você pode capturar toda a “metade da conversa” (o aúdio que saí do telefone do seu colega).

Espero ter ajudado!

Cumprimentos,

TripleX
 
Back
Topo