Aqui está como funciona o jailbreak evasi0n

A equipe de evad3rs liberou a evasi0n perto de uma semana atrás. Agora que todos nós desbloqueamos nossos dispositivos iOS e instalamos os melhores ajustes, vamos dar uma olhada em como o incrivelmente simples do lado de fora, mas incrivelmente complicado no interior do jailbreak evasi0n funciona.

Como a Apple fortalece a segurança no iOS, os hackers não podem mais simplesmente encontrar uma única exploração como nos dias anteriores e usá-la para obter acesso root a um dispositivo. evasi0n é uma combinação de cinco bugs diferentes, a maioria deles inofensivos individualmente, mas juntos capazes o suficiente para abrir o iOS.

O evasi0n começa explorando o sistema de back-up do iOS, chamado de “MobileBackup”. Ele faz isso executando “libmobiledevice”, um programa no seu PC / Mac que se comunica com dispositivos iOS usando o protocolo iTunes.

evasi0n restaura um backup que contém alguns arquivos necessários para o jailbreak. Como o MobileBackup não pode armazenar arquivos fora de /var/Mobile/Media, evasi0n trabalha em torno disso criando um “symlink” ou um atalho em /var/Mobile/Media chamado .haxx que aponta para /var/Media . O MobileBackup agora pode gravar arquivos em /var/mobile através do link simbólico .haxx . Os arquivos copiados formam coletivamente o aplicativo que você deve lançar no meio do processo de jailbreak.

Usando o truque do symlink, o evasi0n também ganha acesso a um arquivo timezone, que é novamente linkado simbolicamente para apontar para o launchd, um daemon que executa processos com privilégios “root”. O acesso ao launchd agora é explorado e o arquivo de fuso horário é disponibilizado para todos os usuários (não apenas root), alterando suas permissões. Um truque semelhante é empregado para fazer um soquete, que lida com comunicações entre o launchd e outros processos, acessíveis ao usuário móvel, em que todos os aplicativos no iOS são executados.

Agora o usuário é avisado para iniciar o aplicativo que foi copiado para o sistema de arquivos do iOS em uma etapa anterior. Este aplicativo, usando o soquete launchd exposto, torna a partição do sistema somente leitura gravável.

Agora que a partição do sistema tornou-se gravável, o evasi0n novamente ativa o MobileBackup e grava um monte de arquivos, um dos quais é o launchd.conf que contém um monte de comandos que constituem o exploit. Este arquivo é executado na inicialização a cada vez, tornando o jailbreak persistente.

Um dos comandos em launchd.conf é responsável por evitar a verificação de assinatura de código de verificação do AppleMobileFileIntegrity carregando uma biblioteca dinâmica, que substitui a função de verificação interna por uma que sempre retorna true.

O evasi0n também tem outro roadblock à sua frente - o Address Space Layout Randomisation, ou ASLR, que introduz aleatoriedade nos endereços da memória flash, dificultando a previsão. No entanto, ainda há um local nos chips ARM que é fácil de localizar e o uso desse evasi0n pode mapear toda a memória. A partir daqui, evasi0n, explorando um bug na interface USB do iOS, finalmente entra no kernel do dispositivo, que é onde tudo é aberto.

Via: Forbes, Acuvant Labs



Publicações Populares