iPhone, iPod touch e a segurança (parte 2)
rodrigomramos | 15 de fevereiro de 2009Eu admito que até alguns dias atrás, não tinha me dado conta da falha de segurança a que estão expostos iPods touch e iPhones que sofreram jailbreak e creio que a grande maioria também não tenha atentado para isso.
Internamente o iPhone e o iPod touch possuem 2 contas de usuário, sendo que uma delas é root. Eu não tenho muitos detalhes sobre como o iPhone OS usa essas contas, mas acredito que elas sejam usadas para diversos processos e operações internas do sistema e aplicativos e não deveriam ser expostas.
Fazendo o jailbreak com o QuickPwn ou PwnageTool, entre outras coisas, é instalado o BSD Subsystem, que habilita diversos serviços e comandos Unix. Até aí tudo bem, o Mac OS X desde o 10.4, instala o BSD Subsystem por padrão, oferecendo suporte para diversas funcionalidades e todos vivemos felizes com isso, pois temos pleno controle dos serviços expostos na rede e principalmente podemos manter nossos Macs seguros através de senhas fortes, cuidadosamente escolhidas, certo? Ok…
O problema do iPhone OS é que tais serviços de rede são habilitados durante o jailbreak e as contas de usuário internas (root e mobile) são expostas para qualquer um que esteja disposto a usá-las. Duvida?
Como todos sabem, a senha da conta root e mobile é alpine, então para acessar um iPod touch ou um iPhone se nenhuma restrição, bastaria estar dentro de uma mesma rede local e saber o endereço IP. Para ser sincero, nem o endereço IP é necessário, basta usar algum aplicativo, que através do protocolo Bonjour, faça um browse da rede local.
Na imagem ao lado, eu usei o Bonjour Browser dentro da rede da MBE e achei facilmente todos os hosts internos e seus serviços disponíveis. Olha lá o meu iPod touch, oferecendo acesso via ssh. Molezinha! Dando um duplo clique, automaticamente o Terminal seria aberto e bastaria colocar o usuário e senha para ter acesso total à ele.
Outra forma seria o usar o direto o Terminal, através do comando “New Remote Connection”, que fica no menu Shell. Novamente o Bonjour faz o trabalho de localizar todos os serviços disponíveis na rede local.
Sem dificuldade nenhuma, o iPod touch foi descoberto na rede e usando o Terminal, foi obtido o acesso via ssh, com privilégios de root. Na imagem abaixo eu apenas usei um inofensivo ls – l e listei o conteúdo da raiz do iPod touch
Listar o conteúdo de um iPod touch ou iPhone, é o mínimo que alguém pode fazer, uma vez que o “invasor” possui privilégios de root, ele pode copiar, alterar ou excluir qualquer arquivo, comprometendo de uma vez os 3 fundamentos de segurança.
O mesmo acesso privilegiado pode ser obtido via sftp, usando qualquer cliente de ftp, como o CyberDuck.
Nas imagens abaixo, estão os 4 alvos que poderiam facilmente ser comprometidos: seu histórico e favoritos de internet, seus contatos, sua agenda e seus emails.
Vejam que os arquivos estão nos formatos abertos plist e SQLite, podendo ser lidos em qualquer editor de textos. Usando um aplicativo como o SQLite Brower, foi possível obter uma visualização perfeita dos contatos na agenda.
Por motivos mais que óbvios, só mantive os 2 primeiros domínios de email visíveis na imagem abaixo.
Perceberam agora o tamanho dos riscos aos quais iPods e iPhones estão expostos após o jailbreak?
A solução é simples, basta alterar as senhas das contas root e mobile. O procedimento a seguir foi feito em um iPod touch 1G rodando o firmware 2.1 (5F137), e após a alteração, nenhum problema foi percebido. Instalei e removi aplicativos, sincronizei contatos, agenda, músicas, podcasts e tudo funcionou perfeitamente!
O procedimento é simples, acesse o seu iPod/iPhone via ssh usando o Terminal:
Certifique-se que seu iPod não está em sleep!
Vá no menu Shell, depois em New Remote Connection;
No menu service, selecione Secure Shell (ssh);
Ao lado em Discovered Servers selecione o seu iPod;
No campo User, digite root e clique em Connect;
Em seguida, digite yes, aceitando a conexão;
Coloque a senha alpine.
Uma vez conectado, use o comando passwd root. Digite a sua nova senha e em seguida a confirme. Repita o procedimento para o usuário mobile, usando passwd mobile. Pronto, seu iPod/iPhone está protegido contra acessos não autorizados!
A partir de agora você poderá acessar seu iPod/iPhone via ssh, sftp, usando a nova senha.
Em tempo, na minha opinião essa falha de segurança não é culpa da Apple, uma vez que a exposição só ocorre após o jailbreak. Dentro de um ambiente corporativo, é preciso ter um cuidado ainda maior com iPods e iPhones jailbroken, uma vez que dados importantes da empresa podem ser comprometidos.
Nesse ponto, a Apple precisa criar mecanismos mais eficientes para distribuição e controle de iPods e iPhones, algo parecido com o modelo MCX usado no Mac OS X. Atualmente, existe o iPhone Configuration Utility, mas eu ainda acho que a ferramenta é muito limitada e pouco prática. Quem sabe o Snow Leopard Server traga algum serviço para distribuição e controle de iPhones e iPods touch.













Para não ter esses problemas de segurança eu indico usar
FoscariniPara não ter esses problemas de segurança eu indico usar o SBSettings ou o BossPrefs para desabilitar o ssh, fechando completamente o acesso ao iPhone ou iPod Touch.
Pronto, problema resolvido.
Com certeza, mas eu optei por uma solução que limite
rodrigomramosCom certeza, mas eu optei por uma solução que limite o acesso por senha, uma vez que o serviço pode ser útil em alguns casos.
Abs
Ou seja. Compro essa m.. e vc fecha as tampas.
AmendoeiraOu seja. Compro essa m.. e vc fecha as tampas. Melhor assim. heheheh
É verdade ,postei esse video faz um ano :
flavioscorpionÉ verdade ,postei esse video faz um ano :
http://www.youtube.com/watch?v=KpXksQf7Usc