sábado, 26 de dezembro de 2015

Hacking Embedded | Hacking UTSTAR iAN-02EX ATA

Introdução:


Saudações a você que lê esse post. Tempo que não posto algo né?


Atualmente trabalho em uma empresa de TI/telefonia VoIP e por lá havia uns equipamentos (ATAs) parados. Motivo!? Estavam bloqueados e ninguém sabia a senha do painel. Conversando com meu chefe ele me deu alguns desses equipamentos pra brincar :D
Valeu Sl4ck!


O que é uma ATA?

Bom, o meu objetivo nesse post não é explicar o que é uma ATA e sim demonstrar como consegui acesso ao painel de administração do equipamento. Mas darei uma breve explicação de o que é:

Uma ATA (Analog Telephone Adaptor) como o próprio nome já diz, é um adaptador que converte os sinais de telefonia analógica para digital, podendo o mesmo ser transmitido através da internet por meio de protocolos de voz (SIP, I-AX, MGCP e etc).  

Podendo converter uma linha de telefonia convencional como um tronco que poderá ser usado por alguns PABX virtuais, tais como Asterisk, FreePBX, Elastix, entre outros.
Ou contrário, convertendo sinais de telefonia digital para ser usado por um telefone convencional.

A ATA na qual executarei o processo de desbloqueio, pode funcionar dos dois modos. No caso é uma ATA com duas portas FXS (Para serem conectadas a aparelhos de telefones convencionais) e uma FXO (que pode ser conectada na sua linha telefônica que vem da rua).

Recon

Pois bem, esse é o maldito equipamento bloqueado por Satanás unbreakeable.



Com as informações acima em mãos (modelo, fabricante, serial), iniciei uma vasta busca pela internet a procura de algo que pudesse me ajudar a realizar o desbloqueio.

Tentativas Anteriores:

Procurar pelo manual e por senhas default [FAIL]
-Até encontrei o manual, porém os códigos e senhas defaults não funcionavam.

Procurar pelo modelo do equipamento e tentar encontrar alguém com o mesmo problema.
-Ok, encontrei alguns posts que 'ensinavam' a desbloquear o equipamento com alguns códigos digitados através de um telefone conectado em uma de suas portas. Porém tal procedimento só funcionava nas ATAs fornecidas por determinadas operadoras :/ Logo... [FAIL]

A partir daí já vi que não encontraria nada que me ajudasse. Pois é, a partir de agora, teria que colocar a mão na massa.

l3ts pl4y

Depois de bater a cabeça, pensando por onde poderia começar. Me veio na mente o funcionamento de alguns equipamentos do gênero. IP Phones, Cable-modems...

Ao iniciar, esses equipamentos buscam um arquivo de configuração em um servidor TFTP para manterem os sistemas atualizados remotamente. Sem necessitar de intervenção humana para se manterem atualizados.

Pois bem, vamos ver o tráfego.


Nesse laboratório, utilizarei um dispositivo que montei em uma oficina no Garoa Hacker Clube em meados de 2013. Um Throwing Star LAN Tap.

Deixando claro, que não é totalmente necessário fazer uso do TAP, só usei por facilitar meu trabalho na hora de rodar o wireshark :D.
Eu poderia muito bem configurar minha placa de rede pra compartilhar minha conexão,

Conectado de modo que pudesse receber todos os pacotes enviados pela ATA, comecei a farejar os pacotes.



Sniffing

Como havia pensado, ele realmente busca um arquivo de configuração em um servidor TFTP.


Ok, tudo seria mais fácil se esse servidor respondesse com o arquivo de configuração para que pudéssemos capturá-lo e alterá-lo de acordo com a nossa necessidade, mas o maldito servidor estava indisponível. Fazer o que né, lei de Murphy em ação.

Como não havia outro equipamento desbloqueado pra pegar o modelo do arquivo de configuração, só me restou buscar pelo nome do arquivo no Google e por PURA SORTE o encontrei.




Dissect config file

Vamos dar uma olhada no arquivo.




Logo no inicio do arquivo, vemos que ele também possui um servidor TFTP onde busca as suas configurações. Aqui é interessante deixarmos o endereço em 0.0.0.0 para que não tenhamos que fazer o processo de desbloqueio outra vez.

Mais abaixo, encontramos uma informação útil no arquivo, o código para reiniciar o aparelho com suas configurações de fábrica.



Descendo mais um pouco, o campo de senha do supervisor (senha de admin). Alterei pra uma senha de minha preferencia :)



Bom, agora já podemos pensar em enviar esse arquivo para a ATA.

Com as informações obtidas nesse processo:

  • IP do servidor TFTP - 2xx.xxx.xxx.x07
  • Nome do arquivo de configuração - U53V004.00.00_UTSTARCOM-GENERAL.CFG
  • Modelo de Arquivo de configuração editado ao nosso gosto.
Já podemos dar inicio ao próximo passo.

Uploading new config file

Agora é simples.
Para fazermos o upload, necessitaremos criar um servidor TFTP com o mesmo endereço de IP do servidor o qual a ATA busca sua configuração ao iniciar.


No meu caso criei um servidor DHCP pra oferecer endereços na mesma range do servidor TFTP 200.xxx.xxx.0/24 e defini o IP da minha placa de rede, como o endereço do bendito servidor de configuração.

Configuração do servidor DHCP

# apt-get install dhcp3-server
# vim /etc/dhcp/dhcpd.conf



Agora definimos o endereço de nossa placa de rede para o mesmo endereço do servidor com o comando ifconfig.

#ifconfig eth1 20x.xxx.xxx.07 netmask 255.255.255.0

Em seguida, reiniciamos nosso servidor DHCP;
# /etc/init.d/isc-dhcp-server restart



Configuração do servidor TFTP

# apt-get install tftpd-hpa
# vim /etc/default/tftpd-hpa

Aqui eu defini o endereço do servidor tftp em /utstar.


Tudo certo até aqui.



Testando TFTP Server

Finalmente, agora vamos testar nosso servidor TFTP pra ter certeza que está tudo funcionando nos conformes.



Bom, parece que está tudo OK.
Vamos começar.

Showtime!

Para ficar mais emocionante, vou abrir o wireshark pra ver o arquivo de configuração sendo baixado.

Dando uma olhada no tráfego...


Utilizando a string "tftp" no wireshark,  podemos ver nosso arquivo de configuração sendo enviado.





Resultado Final:









Após de ter feito o upload do arquivo na ATA, liguei a mesma ao meu roteador e acessei pela minha máquina.

Vamos tentar fazer login com as credenciais do arquivo de configuração que enviamos.
User: supervisor
Pass: rogy153hasbeenhere




E ...




Sucesso!


Curiosidades

Algumas operadoras utilizam esse mesmo recurso para definir a largura de banda de seus modems. Ou seja, com um processo semelhante a esse, você mesmo poderá definir a largura de banda do seu cable-modem. Processo também conhecido por Uncap.
Já realizei esse processo e comprovo sua eficácia. Mas isso é papo pra outra hora, não!?

Até a próxima pessoal.


Greetz for Sl4y3r_0wn3r & SlackDummies.





tags:Hacking telephony, phreaking, phreaker, UTSTAR, iAN-02EX password, wireshark, tftpd, dhcpd, VoIP