Análise forense: Vamos saber o que o seu smartphone sabe de si
Cada um de nós tem mais informação privilegiada num telefone do que tem em casa. Se pensarmos, num chip de memória do smartphone pode estar armazenado o historial bancário, o perfil de utilizador das redes sociais, as palavras-passe de acesso às nossas contas de e-mail, os nossos contactos, as mensagens que trocamos quer de carácter privado quer casual e tudo está acessível de forma relativamente simples.
Então o que lhe trazemos hoje não será para o assustar, mas para o ajudar, porque nem imagina o que pode ser descoberto com uma imagem da memória do seu telefone. Temos uma "mini investigação" à sua espera!
Há alguma considerações que devem ser colocadas para que se perceba a fundamentação do trabalho e das suas escolhas.
Primeiro: Existem ferramentas profissionais que fazem todo este trabalho em menos de 20 minutos. Mas não as vamos usar.
Segundo: Esta não é a forma mais eficaz para recuperar dados num dispositivo Android. Mas, gratuitamente, é das mais eficazes.
Terceiro: Este tutorial serve para ajudar aqueles que não podem contar com as ferramentas ideais para o trabalho. Sem gastar absolutamente nada.
Quarto: Fica sempre pela vossa conta e risco seguir o que estamos a ensinar. A nós correu bem.
Acreditamos que é um ponto positivo não sermos vítimas de ferramentas pré-feitas e pensadas para algo, pois no dia em que isso mudar, voltamos ao ponto 0. Este guia que hoje deixamos serve para continuar a abrir fronteiras do conhecimento, mesmo que, nalgum momento, tenham a oportunidade de utilizar ferramentas forenses profissionais. Não deixem de procurar alternativas e usem-nas como uma extensão do vosso conhecimento.
Análise forense do seu Android
Parte 1: O ROOT
Obter root varia consoante o dispositivo e é um processo simples, usem o Google para encontrar o processo ideal para o modelo do vosso telefone, mas hoje uma das apps mais eficazes é a Kingroot.
Contudo, no nosso caso apenas foi necessário fazer o download do Nexus Root Toolkit, seguir as instruções, e em 5 minutos estava feito. (Optámos também fazer unlock no bootloader, porque pode influenciar passos mais à frente).
Parte 2: Comunicação ADB
ADB é uma linha de comandos que permite comunicar com um dispositivo Android.
Para descobrir as maravilhas do ADB precisamos de ir: Settings/About Phone/Build Number. Tocar no build number 7 vezes. Quando voltamos aos Settings surge: Developer Options
Vamos activar as mesmas e activar o USB DEBUGGING.
Parte 3: Distro de Linux
Há distros que já possuem tudo o que necessitamos instalado, caso a vossa não tenha e seja debian based: apt-get install android-sdk (Se o ADB não vier incluído, a melhor forma é procurar no Google para encontrar)
Após tudo instalado, e termos o dispositivo conectado ao nosso PC ou VM, vamos abrir uma janela de terminal e digitar para testar o estado do dispositivo:
Ao verificar que o acesso é garantido ao dispositivo, digitamos: adb shell – (tecla enter e entramos na shell)
Logo de seguida, usamos este comando que nos permite identificar as partições.
ls -al /dev/block/
Após seleccionarmos a zona que queremos, temos duas alternativas:
(ex: /dev/block/dm-0 – que corresponde à i)
1- Usar o mítico DD. dd if=/dev/block/dm-0 of=/sdcard/NomeAescolha.dd este primeiro comando vai enviar-nos o ficheiro para a memória do nosso dispositivo
OU
2- abrir uma nova janela de terminal e digitar:
adb pull /dev/block/dm-0 NomeAescolha.dd este segundo comando vai enviar-vos o ficheiro .dd para a pasta /home
[Agora podemos ir todos viver a vida real durante 3 ou 4 horas enquanto o pull é feito.]
Parte 4: De volta ao Windows
Disclaimer: Por opção, por facilidade, foi utilizado o AUTOPSY 4.0.0. Sim, existem ferramentas melhores, mas o AUTOPSY é bom, é grátis, e faz mais do que o que nós queremos.
Enquanto passamos o nosso ficheiro.dd da VM para o HOST em Windows, vamos aproveitar e descarregar o AUTOPSY 4.0.0. Create New Case
Enter New Case Information
Additional Information
User Data Source
Ingest Modules
E finalmente
É hora de premir Finish e começar:
Início
Este processo ainda demora um pouco, o Autopsy possui muitos ingestion modules e como tal, após alguma espera conseguirão ver a análise detalhada como na imagem em cima.
Como observam na imagem, há forma de aceder aos contactos, mensagens, registo de chamadas, cookies guardados no telefone e etc. (os cookies mereciam um artigo só para si, pois contém algumas informações interessantes).
Mas e os artefactos das aplicações? Os registos das conversas do WhatsApp?
Recentemente estivemos presentes na Cyber Security Conference, e num momento em que pudemos conversar com alguns conferencistas conhecemos um Advanced Threat Prevention Evangelist, cujo nome não vai ser mencionado por motivos de privacidade. Os métodos dos profissionais de segurança são pautados com algum rigor. Após trocarmos alguma informação, continuámos a desenvolver assuntos (ligeiros) via conversa encriptada pelo WhatsApp.
Esta aplicação introduziu há cerca de um mês uma nova encriptação para a sua base de dados, que dá pelo nome de crypt9. O que sucede é que esta encriptação só afecta as bases de dados de backup, deixando a base de dados geral ainda desencriptada.
E como encontramos esta base de dados?
Vamos a: Data Sources / NomeDaVossaImagem.dd / data / .com.whatsapp / databases / msgstore.db
Com este ficheiro final seleccionado, vamos ver as suas strings.
Algumas partes desta imagem estão escurecidas por motivos de segurança.
Como podem ver, assim que é recebido o contacto por esta plataforma, salvaguardo-me logo dizendo que sou mais um utilizador de Telegram do que WhatsApp. No caso desta conversa ser prova em algum crime, tem de existir forma de provar que esta conversa aconteceu mesmo e não foi modificada pelo analista.
Como método alternativo ao uso de checksum de imagens, podemos utilizar a Timeline do Autopsy, no separador Tools, para ver mais informações.
Como é possível ver,às 17:08, do dia 18 de Maio de 2016 (dia da conferência) foi criado o ficheiro msgstore.db.
Depois de toda a investigação estar concluída, podemos gerar um relatório acedendo ao separador Tools e clicando em Generate Report.
Este relatório fica na pasta do caso e é criado em HTML. É uma forma óptima de comunicar aos outros colegas o que foi descoberto, o que está em cada pasta...
Agora, com estas dicas para fazer uma análise forense, podem inspeccionar os vossos telefones e se encontrarem algo interessante nas vossas apps partilhem. ( .com.facebook.katana / .com.facebook.orca são dois bons sítios para começar!).
Este artigo tem mais de um ano
Nao sei se falaram, nao li o artigo todo, mas convem avisar que ao fazer root adeus garantia
Mentira
Parcialmente é mentira, parcialmente é verdade.
Em teoria nao perdes garantia, na prática sim podem recusar a dar-te garantia alegando alteracao de software.
Daí que seja sempre dito para repor o software original no equipamento antes de ser enviado para garantia.
Acho que as pessoas nao tem a nocao, mas é relativamente simples de fritar o hardware utilizando software.
lol. mr robot dos telemóveis
Só fazendo overclocking ou a flashar firmware (errado). Fora isso não há NENHUMA forma de fritar hardware usando software.
Isso difere de marca para marca. Ja existem muitas marcas que alem de nao invalidarem a garantia ainda de ajudam a fazer o root, disponibilizam roms alternativas e algumas ainda te fornecem tudo o que necessitares para o root e o flash do telefone.
não é bem assim, tenho um BQ, em que a própria marca disponibiliza o software para fazer Root
E se eu fizer unroot ao Android, perco a garantia na mesma?
Honestamente, um tutorial desses faz falta aqui no Pplware… Procurei e nada.
Errado, dá trabalho e não é por vezes fácil ultrapassar as “politicas” de garantia, mas desde o momento em que a garantia não cobre problemas de software, a alteração do mesmo não pode ser apontado para a perda da garantia do mesmo (em problemas de hardware)
grande ze!
Obrigado pela dica!!! Sempre em cima o PPLware.
De um leigo.
Há maneira de com alguma app fazer a limpeza das ditas informações que vão ficando. Obrigado.
não há “apps” que façam . só closetometal é que fazes algo em termos.
*clap clap clap*
Tbm cá estou para incentivar o bom trabalho. Muito bem! Ótimo artigo, super bem explicado.
Continuem. Espero ver mais posts destes que a porcaria das guerras entre maçãs, janelas e robôs.
Não percebi muito bem a lógica do artigo. O objectivo é o dono do telefone saber o que o telefone sabe sobre ele próprio, dando acesso forma deliberada ao seu telefone, ou é demostrar o que terceiros conseguem saber sobre nós? É que se é a primeira, eu acho natural que eu dando acesso a tudo no meu telefone se consiga ver tudo o que lá foi feito. Se é a segunda, convém relembrar que: 1° basta encriptar o telefone, o que já acontece por defeito nos nexus e tudo isso deixa de ser possível. 2° a maioria dos telefones que conheço fazem um wipe completo quando se tenta desbloquear o bootloader.
muito bom
Bom topico Zé Miguel! Continua aí.
Fazer Root impede futuras actualizações!
Muito bom! Mais um tópico de topo aqui no PPLware!
Parabéns!
Bom dia,
Artigo interessante, não é muito frequente lermos algo tão específico aqui.
Uma pergunta: não percebi a 100% porque é que o root é necessário. O “USB Debugging” não pode ser ligado sem root?
Mesmo sem root, não bastaria ativar isso para se ter acesso ADB?
Desta forma não se quebra a garantia, e pode-se extrair info mais rapidamente.
Abraço!
só o kernel space faz certas funções e acessos que o userspace não da.
Excelente!
Artigos / docs sobre ‘forensics’ não são muito comuns!
Mais são bem vindos!
Muito bom artigo. Obrigado