encontrar padrão de bloqueio de um usuário Android


Vou mostrar -lhe como encontrar padrão de bloqueio de um usuário Android . Presumo que a técnica, só podem funcionar em um dispositivo enraizada , este artigo será baseada em um dado problema em um CTF baseado na web ( Capture the Flag , uma competição a segurança do computador ) .
Declaração do problema : Tendo dúvidas sobre a fidelidade de sua esposa, você decidiu ler SMS , correio, etc , em seu smartphone. Infelizmente ele está bloqueado pelo esquema. Apesar disso , você ainda consegue recuperar arquivos do sistema.
Você precisa encontrar este esquema de ensaio para desbloquear smartphone.
Você pode encontrar um link para sobre despejo completo do sistema de arquivos em seções de referências.

Abstract

Hoje em dia muitos, se não todos, os smartphones oferecem, além da proteção de bloqueio de senha tradicional, um padrão de bloqueio de um , que é uma mistura de gestos feitos pelo proprietário do telefone que une pontos em uma matriz , a fim de desbloquear o telefone. Esta \\\"nova abordagem de segurança\\\" permite evitar toques indesejados sobre o dispositivo e ele será solicitado a autorizar o seu acesso . Esta manipulação parece ser complicado e seguro o suficiente , o que é totalmente errado !
Se você tiver uma olhada no que uma fechadura padrão realmente é e como ele funciona , você pode facilmente concluir que ele não é mais do que uma matriz 3 × 3 com alguma embutido condições: O padrão elaborado pelo usuário deve conter no último quatro pontos e cada ponto só pode ser usado uma vez, já que é uma matriz 3 × 3, o máximo de pontos de um padrão de bloqueio pode conter é nove.

Estudar Esquema Padrão

Os 3 × 3 pontos da fechadura padrão pode ser representado por números (dígitos) , na verdade , os pontos são registadas por ordem a partir de 0 a 8 (canto superior esquerdo é 0 e terminando por 8 ) :

Forensics Android: Desvendando o Padrão de Proteção de bloqueio Forensics Android: Desvendando o Padrão de Proteção de bloqueio  Forensics Android: Desvendando o Padrão de Proteção de bloqueio

Assim, o padrão usado na imagem acima é de 1 - 2 - 5 - 8 - 7-4 .
Estatisticamente , não é um negócio muito grande com todas as combinações entre 0123 e 876543210 , não é mesmo 0,2 % de todos os possíveis números de nove dígitos e devemos ter cerca de 895.824 possibilidades de esquema padrão disponível em um dispositivo Android .
Dispositivos Android fazer dados de bloqueio loja padrão em um SHA-1 formato de seqüência bytes criptografados sem sal, usando algo semelhante a este trecho de código , a fim de alcançar este objectivo :
[ simples ]
private static byte [] patternToHash ( padrão List) {
if ( padrão == null) {
return null;
}
final int patternSize = pattern.size ();
byte [] res = new byte [ patternSize ];
for (int i = 0; i < patternSize ; i + +) {
Célula LockPatternView.Cell = pattern.get ( i ) ;
res [i] = (byte ) ( cell.getRow () * 3 + cell.getColumn ());
}
try {
MessageDigest md = MessageDigest.getInstance ( \\\" SHA-1 \\\");
byte [] hash = md.digest (res) ;
retornar de hash ;
} Catch ( NoSuchAlgorithmException nsa ) {
voltar res ;
}
}
[ / plain ]

Isto significa que , por exemplo, em vez de armazenar diretamente 125.874 armazena uma matriz byte criptografado em um arquivo de sistema chamado gesture.key localizado na pasta / data / sistema. Podemos ler a maioria dessas informações diretamente em \\\"O projeto Android Open Source java\\\"
  • Gerar um hash SHA-1 para o padrão. Não é a mais segura , mas é
  • Pelo menos um segundo nível de protecção . O primeiro nível é que o arquivo
  • Está em um local só pode ser lido pelo processo do sistema.
  • @ Param padrão o padrão gesto .
  • @ Return o hash do padrão em um array de bytes .
De acordo com este pedaço de código, nosso padrão de amostra deve ser guardada como 6c1d006e3e146d4ee8af5981b8d84e1fe9e38b6c
O único pequeno problema que enfrentamos agora é que SHA-1 é uma função hash de criptografia de mão única, o que significa que não podemos obter o texto simples a partir de um hash. Devido ao fato de que temos combinações de padrões possíveis muito finitos e outro fato que o OS Android não usa um hash salgado , não é preciso muito para gerar um dicionário contendo todos os hashes possíveis de seqüências 0.123-876.543.210 .

A resolução do problema

Sabemos o suficiente para analisar o despejo do sistema de arquivos que temos , não é difícil encontrar gesture.key e explorar o seu conteúdo :
Forensics Android: Desvendando o Padrão de Proteção de bloqueio
Você pode abri-lo usando qualquer texto ou editor hexadecimal :
Forensics Android: Desvendando o Padrão de Proteção de bloqueio
A última coisa a fazer agora é comparar os bytes deste arquivo , 2C3422D33FB9DD9CDE876574E48F4E635713CB , com valores no dicionário gerado anteriormente para encontrar o hash que recupera o esquema padrão .
Quer saber mais ? O Instituto InfoSec Advanced Computer Forensics Formação treina em habilidades forenses críticas que são difíceis de dominar fora de um enviornment laboratório. Já sabe como adquirir imagens forense ? Executar arquivo escultura ? Leve o seu conhecimento forense existente mais e aperfeiçoar suas habilidades com este Computer Forensics Boot Camp Avançada do Instituto InfoSec . Após a conclusão do nosso avançadas Computação Forense Boot Camp , os alunos saberão como :
Realizar análise de Volume Shadow Copy ( VSC)
Arquivo nível avançado e análise de estrutura de dados para o XP , o Windows 7 e 2008/ 2012 sistemas de servidor
Timeline Análise e Análise de aplicativo do Windows
iPhone Forensics

Um dicionário feito anteriormente pode ser baixado na seção de referência e, usando qualquer navegador SQLite, você pode facilmente encontrar o esquema padrão original : SELECT * FROM RainbowTable onde hash = \\\" 2c3422d33fb9dd9cde87657408e48f4e635713cb \\\" .
Forensics Android: Desvendando o Padrão de Proteção de bloqueio
O que significa que este é o padrão que abre o \\\"dispositivo do alvo\\\" :
Forensics Android: Desvendando o Padrão de Proteção de bloqueio

Conclusão

Não há dificuldades fissuras ou ignorando esse tipo de proteção de um dispositivo baseado em Android , o único verdadeiro obstáculo é que não podemos acessar diretamente o arquivo / data / system / pasta e gesture.key exceto quando estamos lidando com um dispositivo enraizada. Isto é feito para se divertir e propósito curiosidade , já que, se você tem acesso total a um celular, você pode simplesmente remover ou substituir o arquivo que contém o hash SHA-1 com um preparado um, para além disso , na maioria dos casos os arquivos de lock não têm valor a partir de um ponto de vista forense .
Técnicas mais complicados pode ser utilizado se o dispositivo não está enraizada . Estamos falando de um despejo físico do chip de memória eo uso de algumas ferramentas de hardware especiais, como Riff -Box e um adaptador gabarito, mas esta é uma preocupação pra vocês agora ;) .
Postagem mais recente Postagem mais antiga Página inicial

Populares

Recente

Software Avançado De Investigação Forense Móvel

O MOBILedit Forensics é um software forense avançado para telefones, que  extrai  e  analisa profundamente o conteúdo do telefone,  incluind...