Conferência DEFCON 22. GTVHacker Group. Hackeie tudo: 20 dispositivos em 45 minutos. Parte 1Mike Baker: o próximo, o 14º dispositivo ao qual temos acesso root, é o smartphone Motorola RAZR LTE Baseband. Não vou falar sobre o Android, ele já está "enganado". Este telefone é especial porque usa o Baseband - um processador de sinal separado isolado do processador principal. Esta é uma peça completamente separada do hardware do smartphone.

A conexão entre Android e Baseband é via conexão de rede USB. A banda base escuta na porta de rede USB interna, tem acesso limitado ao shell pela porta 3023 e executa um script de diagnóstico na porta 3002 como raiz.
Se você olhar para o script, poderá ver que o comando busybox é iniciado usando a linguagem AWK:
busybox awk '{print+substr(" ' "$ {outFilePath}" ' ",0,1)}'
Ou seja, o nome do arquivo é transferido por meio do script AWK. Isso significa que, usando o nome do arquivo, podemos injetar no shell. Para fazer root no shell, usamos um nome de arquivo que contém:
x",0,1);system("…");("
Isso permite que você insira qualquer comando no sistema e execute-o com direitos de root.
O próximo dispositivo invadido no número 15 foi o drive móvel PogoPlug Mobile, que serve como um armazenamento pessoal em "nuvem". É usado para transferir conteúdo do seu dispositivo móvel para qualquer lugar, conectar-se à sua rede doméstica e compartilhar arquivos pela Internet.

O custo deste dispositivo é inferior a US $ 10. Você pode conectar uma unidade USB ou um cartão SD a ela e ela enviará automaticamente as informações para a nuvem. É baseado no processador Marvell Feroceon e é gerenciado pelo Linux 2.6.31.8.
Na placa de circuito, existem 4 pinos tradicionais para conectar o UART, o que nos dá acesso ao carregador de inicialização e ao shell raiz, mas também podemos incorporar a linha de comando usando uma página da web.

O uso dessa interface permite inserir comandos arbitrários e executá-los como root com privilégios de root.
A próxima exposição nº 16 é o decodificador Netgear Push2TV (PTV3000). Ele usa a tecnologia aberta Miracast, suportada pelo Google, encontrada em alguns modelos de smartphones e tablets com a tecnologia Android e Intel WiDi.

Na placa de circuito deste receptor sem fio, existem pinos UART através dos quais você pode conectar-se ao dispositivo, pressionar a barra de espaço durante a inicialização, interromper a operação de inicialização por U e iniciar seus próprios comandos do Linux. Você não pode mexer com o carregador de inicialização e usar o console Raiz, que fica ativo por 2-3 segundos após a inicialização. Também é possível implementar comandos via interface da web através do nome do dispositivo, e o comando será executado em nome do superusuário com direitos de root. O chip de memória SPI Flash que contém os comandos U-boot pode ser reflash para executar o seu gerenciador de inicialização personalizado.
Dispositivo nº 17 - roteador Ooma Telo VOIP, executando o OpenWRT e equipado com um processador ARM.

Aqui, novamente, o UART, que usa entrada do console, está presente, mas estamos analisando as injeções de comando. Há também uma porta SSH, que funciona por padrão como firewall, portanto, primeiro precisamos implementar um comando que altere as regras desse firewall. Fizemos isso por meio de uma interface da web para poder inserir posteriormente qualquer comando. Curiosamente, a senha padrão para acesso root era "! Ooma123", portanto, não foi difícil quebrá-la. Assim que entramos, imediatamente "redefinimos" o arquivo de senha e começamos a invadir. Por padrão, o SSH está disponível apenas na LAN.
O próximo slide mostra a interface da web do Ooma Telo, a seta mostra a linha em que inserimos o comando. A capacidade de ajustar as regras das tabelas de endereços IP dá acesso ao SSH, onde você pode usar a senha fornecida.

O dispositivo nº 18 é um reprodutor de mídia de fluxo contínuo Netgear NTV200-100NAS baseado no Adobe Flash, que custa de 10 a 30 dólares, que reproduz arquivos SWF.
É equipado com um módulo Wi-Fi, processador Broadcom SOC com uma atualização de firmware criptografada e assinada.
Tudo está assinado na placa de circuito impresso, portanto, encontrar um UART não foi um problema. Mas vamos falar sobre a injeção de linha de comando por meio da interface da web, pois as atualizações e os aplicativos são baixados para este player por meio de uma conexão HTTPS não criptografada. É uma péssima idéia, porque, diferentemente das atualizações criptografadas, os aplicativos podem ser baixados e instalados livremente. Portanto, ao instalar o aplicativo, torna-se possível usar o ataque "man in the middle":
- crie uma cópia do aplicativo;
- inserimos nele um link simbólico "soft" malicioso;
- reembalar o aplicativo e colocá-lo no host local;
- execute o aplicativo;
- nós o modificamos novamente adicionando um script de shell durante a operação que contém o link simbólico interno para chamar o Telnet;
- execute o aplicativo novamente, reinicie e agora temos acesso root permanente!

Então, siga em frente. O dispositivo com o número 19 é o ASUS Cube, a “ponte” entre a Internet e o streaming de vídeo, um decodificador que fornece a operação em larga escala da plataforma de hardware e software do Google TV. É equipado com um processador dual-core Marvell 88de3100 SOC de 1,2 GHz. Na conferência DefCon 21, já apresentamos uma exploração adicional do CubeRoot para este dispositivo, cujo objetivo era controlar o processador no modo de inicialização segura.

Tínhamos um aplicativo disponível na Play Store, infelizmente o Google o removeu, eles não gostam desses aplicativos. Vamos falar sobre como podemos retornar a este cubo. Os aplicativos de multimídia incorporados nele permitem montar o protocolo de rede SMB para acesso remoto aos arquivos; nesse caso, eles permitem que você compartilhe arquivos do Windows sem nenhuma restrição. O procedimento para obter direitos de root é o seguinte:
- Criando compartilhamento SMB usando o binário do superusuário
- Usando um aplicativo de mídia para conectar-se ao compartilhamento SMB
- adicionando-o ao Cube, executando o binário do superusuário, obtendo direitos de root!
- Remontando o sistema, instalando o SuperSu e controle total sobre os recursos do dispositivo.
Nisto passo a palavra a Amir.
Amir Etemadi: obrigado, Mike!
Vamos continuar nossa diversão e ver alguns dispositivos mais interessantes. Quero falar sobre um monitor de bebê - o monitor de atividades de uma criança chamado Summer Baby Zoom WiFi.
Este dispositivo permite que você use sua câmera de vídeo para monitorar crianças e transferir a imagem para o seu smartphone via Wi-Fi. Ele possui seu próprio monitor compacto com um alto-falante e uma tela que permite controlar remotamente a câmera pelo ar. No mercado, está posicionado como "protegido". Este é o vigésimo dispositivo que invadimos.

Depois de desmontá-lo, nós, como sempre, começamos a procurar pelo UART e examinamos os contatos que eram bastante difíceis de conectar. Como conseguimos, podemos dizer após a apresentação e agora consideraremos os erros que os desenvolvedores deste dispositivo cometeram ao criá-lo.

O primeiro erro é ter um nome de usuário e senha codificados em um dispositivo que usa um arquivo binário para se comunicar com a interface da web. Esta é apenas uma prática terrível. Do ponto de vista da segurança, você não deve ter credenciais codificadas em todos os dispositivos.

Encontramos uma interessante seqüência de caracteres criptografada e chamadas de sistema no binário “snapcam”, que continha dados de autenticação. Em seguida, passamos a analisar dados codificados.
Depois de fazer a chamada do sistema “nvram show” na linha de comando, obtivemos uma lista de 3 usuários e suas senhas. Dois usuários tinham senhas diferentes para cada câmera e forneciam direitos de usuário diferentes.

Em seguida, encontramos o arquivo de configuração do sistema SystemGT.cgi, cujo acesso foi fornecido usando privilégios de administrador e que foi executado diretamente usando o operador system () em nome do superusuário. Entramos na linha de comando mostrada na parte inferior do próximo slide e obtivemos acesso root ao servidor Telnet.

Lembre-se de que, na maioria dos casos, quando o dispositivo não está protegido por senha, você pode invadir o shell simplesmente inserindo uma expressão como l / bin / login na linha de comando.
Em muitos casos, você pode usar o comando / bin / sh e, se alguém fizer login no dispositivo da maneira normal, o invasor será imediatamente colocado no shell. Portanto, não permita que as pessoas se conectem ao seu dispositivo, mantenha-o seguro.
Então, como esse é o DefCon 22, por que não nos falamos sobre invadir 22 dispositivos em 45 minutos? Portanto, continuaremos a apresentação com mais dois dispositivos.

Vamos para o próximo item da nossa lista - esta é uma webcam Samsung SmartCam autônoma com microfone e alto-falante. Ele pode ser controlado usando um aplicativo móvel e usa uma interface da web para acesso local. A câmera está equipada com um processador TI DaVinci ARM SOC e é executada no Linux 2.6.18. Estruturalmente, esse dispositivo é muito parecido com o monitor de bebê Summer Baby Zoom WiFi, mas não muda sua posição para rastrear o objeto.

Na placa de circuito impresso, há um adaptador UART clássico com os contatos do receptor, transmissor, terra e energia. Abaixo está o bloco de terminais para configurar a conexão. Aqui, apenas o método Log de console é usado, o que gera informações de depuração para o console, ocultando-as do usuário.
Curiosamente, descobrimos isso observando como ocorre o processamento de login e como a senha de administrador original é criada quando o dispositivo é configurado pela primeira vez. Com essa configuração, você será solicitado a definir sua própria senha de administrador. A desvantagem é que o dispositivo não verifica se a senha já está configurada, portanto, você pode chamar o script para alterar a senha existente para a senha de administrador. Assim, é possível redefinir a senha de administrador do dispositivo sem saber a senha do usuário. O acesso à linha de comando é possível apenas via LAN.
A chave de criptografia WEP não é verificada quanto a comandos do shell e é colocada no arquivo de configuração, de onde pode ser retirada e usada para inserir comandos no console. Nesse caso, você deve desconectar o cabo de rede se a câmera já estiver conectada à rede via Wi-Fi, porque se você alterar a chave WEP quando a câmera estiver conectada via Wi-Fi, o dispositivo poderá desconectá-lo e você perderá o acesso a ela.
Se a câmera estiver conectada a uma rede Wi-Fi, ela poderá ser invadida sem contato físico com o dispositivo, após o qual a interface da web começará a funcionar com direitos de root.
Assim, o comando superusuário é injetado alterando a chave WEP de acesso à rede Wi-Fi. Para conectar-se à rede Telnet, basta digitar o comando $ (busybox telnetd - l / bin / sh)

O mais interessante de todos os dispositivos examinados foi o número 22, porque fornece um grande campo de atividade para hackers. Este dispositivo é chamado de Wink Hub, e eu gosto mais do que outros, principalmente porque possui uma grande variedade de dispositivos periféricos.
Essa coisa controla todos os dispositivos domésticos “inteligentes” sem fio usando um aplicativo móvel, que permite abandonar os painéis de controle individuais. O Wink Hub possui um módulo Wi-Fi, Bluetooth, Zwawe e Zigbee, além de um excelente trabalho para os desenvolvedores do RF Toolkit.

Este é um kit de ferramentas de software para qualquer hacker, pois os dispositivos periféricos interagem por meio dele. O Wink Hub é essencialmente um gateway doméstico que integra dispositivos com APIs já configuradas, com todos os métodos de comunicação, e ainda possui seu próprio conjunto de dispositivos, variando de um detector de vazamento de gás a sensores para ajustar a detecção de umidade, temperatura, iluminação e movimento. Ele também gerencia bloqueios inteligentes e recebe informações de status para todos os dispositivos monitorados.
O próximo slide mostra um quadro que parece bastante bonito.

Portanto, este é um quadro, é realmente bonito.
Tudo está assinado aqui, e o que ainda é bom nesse dispositivo é que seu custo é inferior a US $ 50, e a oferta é que, se você comprar dispositivos periféricos, poderá obter um Wink Hub gratuitamente. Portanto, se você estiver interessado em dispositivos de RF, essa é uma placa muito legal.
Possui chips separados para cada tipo de dispositivo conectado que ele suporta. Portanto, este dispositivo tem um erro de injeção de linha de comando. Se você não conhece o PHP, existe um comando sudo que permite executar programas com privilégios de administrador sem inserir uma senha de superusuário.

Este comando fornece ao identificador do nó o ID do nó com o valor do atributo ID das variáveis POST. Portanto, leve essa equipe ao seu arsenal e, quando chegar em casa, compre este dispositivo e divirta-se com ele como quiser.
Bem, agora vamos mostrar o que você estava esperando! A gravação em vídeo de uma demonstração de hackers de todos os 22 dispositivos ficará sob um verdadeiro hacker rapp! Para isso, convidamos nosso amigo, o rapper Ned, do Dual Core! Vamos cumprimentá-lo e a música "Todas essas coisas"!
Temos quase uma centena de adaptadores UART diferentes e CDs do Chromecast aqui. Enquanto você assiste ao vídeo e curte o rap, vamos para o salão e damos tudo para você.
Dual Core: ótimo, pessoal, estou tentando recuperar o fôlego ... meu nome é Ned, eu sou um rapper no Dual Core, você pode ter ouvido nossas músicas como "Beba tudo e quebre tudo". Algum de vocês quebrou carros? Ótimo!
Quero apresentar-lhe o livro do meu amigo, este é um manual de hackers para carros de hackers, você pode baixá-lo gratuitamente, comprá-lo na Amazon, tenho algumas coisas comigo que vou distribuir. Então, música rap ... se eu não recuperar o fôlego, posso morrer!
Então, onde está o meu DJ? Pressione a barra de espaço e inicie o vídeo para que eu possa começar!

A tela inicia uma demonstração dos dispositivos de hackers, que foram descritos nesta apresentação. A frase “nem todo nerd com o Commodore 64 pode decifrar a NASA” soa, então uma faixa de música é incluída, sob a qual Ned executa o rap “Drink all the booze” com o seguinte conteúdo:
Eu digo para você beber toda a bebida
caras cortaram todas as coisas tão rápido
que você nem tem tempo para contá-las,
recuperação de desastres requer ainda mais punhos,
coloque seus bytes em tudo
meu C64 vai explodir tudo em órbita
um boom perfeito quebrará todas as correntes
otimizar o tempo de execução do processo,
para evitar uma frase, você só precisa de um stream,
você só precisa de um fluxo
o tamanho do motor não importa
minas estão na linha de comando
e antes que eles me vejam
quebrar o captcha, terminar o capítulo
beba toda a bebida
pegue essa bicicleta que é vermelha
ele ainda pisca para mim
beba toda a bebida, beba todo o álcool
Estou esperando meu blackberry morrer
para substituí-lo por um Raspberry Pi,
neutralizar qualquer ameaça ao Red Skull,
criadores de vírus mortos subiram para o VX7,
que registra nossos dados ao vivo,
Olá para você, cifras e drivers de dispositivo,
onde chegamos antes que eles executem o formato,
Internet Mike quer ter seu Wi-Fi,
ele se comprometeu a cortar o abacaxi 5,
você está pronto para hackear todas as coisas?
Sim, você está pronto para invadir todas as coisas!
assim senhor bebemos toda a bebida
vamos beber tudo
você sabe que haverá regras de segurança
mas primeiro vamos beber toda a bebida e depois a quebrar,

é tudo sobre o sistema ou firmware,
pelo que você ora, independentemente do serviço,
transcodifique e conecte-se à Internet,
tendo montado com suas próprias mãos, piratas o arruinarão
batendo palmas ataque sobre a nuvem
mas vamos voltar ao metrô,
onde não há controle de massa
pelos nós Thor ao redor do mundo,
hackear o tráfego do dispositivo on-line,
o desafio do estado é a caçada para nós,
meu Konrad Zuse é um depurador de gatilho,
Eu preciso de um plano que funcione,
Eu quero ver como tudo queima
e agora é a sua vez
beber todas as bebidas sim
beber toda a bebida, essa luta é um jogo
esse horror ainda pisca para mim
então coma toda a comida e beba toda a bebida!
Agradeço aos caras do GTVHacker!
Amir Etemadi: é difícil para mim acreditar que o Dual Core foi nosso convidado! Ele fez isso sem nenhuma condição, sem qualquer pagamento, ele é apenas um cara legal! Sim, também estou sem fôlego. Não temos tempo, portanto, se você tiver perguntas, estaremos prontos para respondê-las após a conferência.
Nós fornecemos links para nossos recursos aqui, bem-vindo ao canal GTV Hacker e obrigado a todos, nós amamos você!
Slides de apresentação:
DC22.GTVHacker.comWIKI:
www.GTVHacker.comFórum:
forum.GTVHacker.comBlog:
blog.GTVHacker.comIRC: irc.freenode.net #GTVHacker
Twitter: @GTVHacker