Escolar Documentos
Profissional Documentos
Cultura Documentos
Rohit Tamma
Oleg Skulkin
Heather Mahalik
Satish Bommisetty
Machine Translated by Google
BIRMINGHAM - MUMBAI
Machine Translated by Google
Machine Translated by Google
Todos os direitos reservados. Nenhuma parte deste livro pode ser reproduzida, armazenada em um sistema de recuperação ou transmitida de
qualquer forma ou por qualquer meio, sem a permissão prévia por escrito do editor, exceto no caso de breves citações incorporadas em artigos críticos ou
resenhas.
Todo esforço foi feito na preparação deste livro para garantir a precisão das informações apresentadas. No entanto, as informações contidas neste
livro são vendidas sem garantia, expressa ou implícita. Nem os autores, nem a Packt Publishing ou seus revendedores e distribuidores serão
responsabilizados por quaisquer danos causados ou supostamente causados direta ou indiretamente por este livro.
A Packt Publishing se esforçou para fornecer informações de marca registrada sobre todas as empresas e produtos mencionados neste livro pelo uso
apropriado de maiúsculas. No entanto, a Packt Publishing não pode garantir a precisão dessas informações.
ISBN 978-1-83864-752-0
www.packt.com
Machine Translated by Google
Packt.com
Assine nossa biblioteca digital on-line para obter acesso total a mais de 7.000
livros e vídeos, bem como ferramentas líderes do setor para ajudá-lo a planejar seu
desenvolvimento pessoal e avançar em sua carreira. Para obter mais informações,
visite nosso site.
Machine Translated by Google
Melhore seu aprendizado com Skill Plans criados especialmente para você
Você sabia que a Packt oferece versões eBook de todos os livros publicados, com arquivos
PDF e ePub disponíveis? Você pode atualizar para a versão eBook em www.packt.com e como
cliente do livro impresso, você tem direito a um desconto na cópia do eBook. Entre em contato
conosco em customercare@packtpub.com para mais detalhes.
Em www.packt.com, você também pode ler uma coleção de artigos técnicos gratuitos, inscrever-
se em uma variedade de boletins informativos gratuitos e receber descontos e ofertas exclusivas
em livros e e-books da Packt.
Machine Translated by Google
Contribuintes
Machine Translated by Google
Sobre os autores
Rohit Tamma é um gerente de programa sênior que atualmente trabalha
com a Microsoft. Com mais de 10 anos de experiência na área de segurança,
sua experiência abrange funções de gerenciamento e consultoria técnica nas
áreas de segurança de aplicativos e nuvem, segurança móvel, testes de
penetração e codificação segura. Rohit também é co-autor de Learning Android
Forensics, da Packt, que explica várias maneiras de realizar análises forenses em
plataformas móveis. Você pode contatá-lo no Twitter em @RohitTamma.
Quero agradecer sinceramente a Satish Bommisetty, meu ex-colega e mentor, que me inspirou no início de
minha carreira e me apoiou ao longo da jornada deste livro. Também quero agradecer à equipe da Packt por
seu apoio contínuo e ajuda para levar este livro à quarta edição. E, finalmente, este livro é para meus pais, a
quem devo tudo.
Gostaria de agradecer à minha família e à equipe de análise forense digital e resposta a incidentes do Group-
IB por seu amor e apoio, bem como à equipe da Packt e aos meus coautores por tornar este livro possível.
Sobre os revisores
Igor Mikhaylov trabalha como examinador forense há 22 anos.
Durante esse tempo, ele participou de muitos seminários e aulas de treinamento das
principais empresas forenses digitais (como Guidance Software, AccessData e
Cellebrite) e departamentos forenses de organizações governamentais da Federação
Russa. Ele tem experiência e habilidades em computação forense, resposta a incidentes,
forense de telefone celular, forense de chip-off, forense de malware, recuperação de
dados, análise de imagem digital, forense de vídeo e big data. Ele escreveu três tutoriais
sobre análise forense de telefones celulares e resposta a incidentes para examinadores
forenses russos.
Índice
Folha de rosto
Sobre Packt
Sobre os autores
Sobre os revisores
Isenção de responsabilidade
Entrar em contato
Avaliações
A fase de identificação
A autoridade legal
Dados que precisam ser extraídos
A fase de preparação
A fase de isolamento
A fase de processamento
Machine Translated by Google
A fase de verificação
A fase de documentação e relatório
A fase de arquivamento
Abordagens forenses práticas móveis
Entendendo os sistemas operacionais móveis 
Android
iOS
telefone do Windows
análise lógica
Despejo Hexadecimal
Chip-off
micro leitura
Resumo
1. Seção 1: Análise forense do iOS
Disposição do disco
A arquitetura do iOS
segurança do iOS
Assinatura de código
Sandboxing
Criptografia
Proteção de dados
Separação de privilégios
Limpeza de dados
Bloqueio de Ativação
A loja de aplicativos
Jailbreak
Resumo
Modo de recuperação
modo DFU
Aquisição lógica
Jailbreak prático
Resumo
info.plist
manifest.plist
status.plist
manifest.db
iBackup Viewer
iExplorer
Resumo
Hora do WebKit/Chrome
Histórico de chamadas
Eventos do calendário
Notas
gravações
Interação do dispositivo
Números de telefone
Machine Translated by Google
Listas de propriedades
Papel de parede
7. Entendendo o Android
A evolução do Android
A arquitetura do Android
segurança do Android
Machine Translated by Google
Kernel seguro
O modelo de permissão
IPC seguro
Assinatura do aplicativo
FDE
TE
Inicialização verificada
Pseudosistemas de arquivos
Resumo
Instalando o software
Depuração USB
ataque de manchas
Outras técnicas
O que é enraizamento?
Resumo
Extraindo SMS/MMS
A técnica do chip-off
Resumo
ferramenta
A plataforma de autópsia
e memoria interna
Resumo
Android malware
Resumo
SO Windows Phone
câmaras
Machine Translated by Google
Criptografia
Sandboxing de aplicativos
Aquisição de dados
Resumo
Aplicativos de bate-papo
aplicativos de GPS
Aplicativos seguros
Aplicações financeiras
aplicativos iOS
aplicativos Android
AXIOMA magnético
Resumo
Prefácio
A análise forense de telefones celulares é a ciência de recuperar dados de
um telefone celular sob condições forenses sólidas. Esta é a quarta edição do
nosso bem-sucedido livro Practical Mobile Forensics , que aprofunda os conceitos
de perícia móvel e sua importância no mundo atual.
Este livro se concentra em ensinar as mais recentes técnicas forenses na
investigação de dispositivos móveis em várias plataformas móveis. Você
aprenderá técnicas forenses em várias versões do sistema operacional,
incluindo iOS 12, iOS 13, Android 9, Android 10 e Windows 10. Você se
aprofundará nas mais recentes ferramentas forenses de código aberto e móveis
comerciais, permitindo analisar e recuperar dados com eficácia. Você aprenderá
como inspecionar o dispositivo, recuperar dados da nuvem e documentar com
êxito os relatórios de suas investigações. Você explorará a engenharia reversa
de aplicativos e formas de identificar malware. Você também encontrará a análise
de aplicativos populares de terceiros, como Facebook e WhatsApp.
Ao final deste livro, você terá dominado várias técnicas forenses móveis para
analisar e extrair dados de dispositivos móveis com a ajuda de soluções de
código aberto.
Machine Translated by Google
O Capítulo 1, Introdução à perícia forense móvel, apresenta os conceitos da perícia forense móvel,
seus valores centrais e os desafios envolvidos. Este capítulo também fornece uma visão geral das
abordagens práticas e das melhores práticas envolvidas na realização de perícias móveis.
O Capítulo 2, Compreendendo os componentes internos dos dispositivos iOS, fornece uma visão
sobre a análise forense do iOS. Você aprenderá sobre o layout do sistema de arquivos, recursos de
segurança e como os arquivos são armazenados em um dispositivo iOS.
O Capítulo 3, Aquisição de dados de dispositivos iOS, discute ferramentas que o ajudarão a obter
dados de dispositivos iOS para posterior exame forense. Nem todas as ferramentas são criadas iguais,
por isso é importante entender as melhores ferramentas para fazer o trabalho corretamente.
Capítulo 6, iOS Forensic Tools, para fins de familiaridade, orienta você no uso de várias ferramentas
comerciais, como Elcomsoft iOS Forensic Toolkit, Cellebrite (UFED4PC, Touch e Physical Analyzer),
BlackLight, Oxygen Forensic Detective, AccessData MPE+, EnCase, Belkasoft Evidence Center, MSAB
XRY e muitos outros, que estão disponíveis para aquisição forense e análise de dispositivos iOS. Este
capítulo fornece detalhes dos processos necessários para realizar aquisições e análises de dispositivos
iOS.
Machine Translated by Google
O Capítulo 10, Análise e recuperação de dados do Android, explica como extrair dados
relevantes, como registros de chamadas, mensagens de texto e histórico de navegação de um
arquivo de imagem. Também abordaremos técnicas de recuperação de dados, com as quais
podemos recuperar dados que foram excluídos de um dispositivo.
O Capítulo 12, Windows Phone Forensics, discute os Windows Phones, que não ocupam muito
espaço no mercado móvel. Portanto, a maioria dos profissionais forenses não está familiarizada
com os formatos de dados, bancos de dados incorporados e outros artefatos existentes no
dispositivo. Este capítulo fornece uma visão geral da análise forense do Windows Phone,
descrevendo vários métodos de aquisição e exame de dados em dispositivos Windows Mobile.
estruturas subjacentes são semelhantes. Veremos como os dados são armazenados e por
que os arquivos de preferência são importantes para sua investigação.
Machine Translated by Google
Algumas das técnicas explicadas no livro, como fazer root em um dispositivo, são
específicas da marca e do sistema operacional em execução no dispositivo. Certifique-
se de pesquisar e reunir informações suficientes antes de tentar essas técnicas.
Se você estiver usando a versão digital deste livro, aconselhamos que você
mesmo digite os comandos. Isso ajudará você a evitar possíveis erros
relacionados à cópia e colagem de código.
Machine Translated by Google
Convenções usadas
CodeInText: indica palavras de código em texto, nomes de tabelas de banco de dados, nomes de pastas, nomes
de arquivos, extensões de arquivos, nomes de caminho, URLs fictícios, entrada do usuário e identificadores do
Twitter. Aqui está um exemplo: "Monte o arquivo de imagem de disco WebStorm 10*.dmg baixado como outro
disco em seu sistema."
Quando queremos chamar sua atenção para uma parte específica de um bloco de código, as linhas ou itens
relevantes são colocados em negrito:
[padrão]
exten => s,1,Dial(Zap/1|30) exten =>
s,2,Voicemail(u100) exten =>
s,102,Voicemail(b100) exten => i,1,Voicemail
( s0 )
$ mkdir css $
cd css
Negrito: indica um novo termo, uma palavra importante ou palavras que você vê na tela. Por exemplo,
palavras em menus ou caixas de diálogo aparecem no texto assim. Aqui está um exemplo: "Selecione
informações do sistema no painel de administração."
Isenção de responsabilidade
Entrar em contato
Avaliações
Por favor, deixe um comentário. Depois de ler e usar este livro, por que não
deixar um comentário no site em que o comprou? Os leitores em potencial podem
ver e usar sua opinião imparcial para tomar decisões de compra, nós da Packt
podemos entender o que você pensa sobre nossos produtos e nossos autores
podem ver seus comentários sobre o livro. Obrigado!
À medida que novos recursos e aplicativos são incorporados aos telefones celulares, a
quantidade de informações armazenadas nos dispositivos cresce continuamente.
A perícia forense móvel é um ramo da perícia forense digital que lida com a
aquisição e recuperação de evidências de dispositivos móveis. Forensicalmente
sólido é um termo usado extensivamente na comunidade forense digital para
qualificar e justificar o uso de uma tecnologia ou metodologia forense específica. Um
dos princípios fundamentais que orientam o exame forense sólido é que a evidência
original não deve ser alterada de nenhuma forma.
Isso é extremamente difícil com dispositivos móveis. Algumas ferramentas forenses
requerem um vetor de comunicação com o dispositivo móvel e, portanto, a proteção
contra gravação padrão não funcionará durante a aquisição forense.
Os telefones celulares são sistemas dinâmicos que apresentam muitos desafios para
extrair e analisar evidências digitais. O rápido aumento no número de diferentes tipos
de telefones celulares de diferentes fabricantes dificulta o desenvolvimento de um
único processo ou ferramenta para examinar todos os tipos de dispositivos. Os telefones
celulares estão evoluindo continuamente à medida que as tecnologias existentes
progridem e novas tecnologias são introduzidas. Além disso, cada celular é projetado
com uma variedade de sistemas operacionais integrados. Portanto, especial
Machine Translated by Google
A aplicação da lei e os examinadores forenses muitas vezes lutam para obter evidências
digitais de dispositivos móveis. A seguir estão algumas das razões para isso:
telefone celular
Após uma apreensão bem-sucedida, deve-se ter cuidado para garantir que uma cadeia de
custódia seja estabelecida não apenas para o dispositivo, mas também para os dados
coletados.
Além disso, ao pegar o dispositivo, tome cuidado para não modificar nenhum dado presente no
dispositivo. Ao mesmo tempo, nenhuma oportunidade de ajudar na investigação deve ser
perdida. Por exemplo, no momento de apreender o aparelho, se o aparelho estiver
desbloqueado, tente desabilitar a senha.
Machine Translated by Google
A fase de identificação
O examinador forense deve identificar os seguintes detalhes para cada
exame de um dispositivo móvel:
A autoridade legal
Os dados que precisam ser extraídos
A marca, modelo e informações de identificação do dispositivo
Mídia de armazenamento de dados
A autoridade legal
É importante que o examinador forense determine e documente qual autoridade
legal existe para a aquisição e exame do dispositivo, bem como quaisquer limitações
impostas à mídia antes do exame do dispositivo. Por exemplo, se a investigação do
dispositivo estiver sendo conduzida com base em um mandado, a busca deve ser
limitada apenas às áreas definidas no mandado. Em suma, antes da apreensão do
dispositivo, você precisa responder às seguintes perguntas:
O fabricante do dispositivo
O número do modelo do dispositivo
O número de série do dispositivo móvel
A cor do dispositivo
Muitos telefones celulares oferecem uma opção para estender a memória com dispositivos
de armazenamento removíveis. Nos casos em que essa mídia removível for encontrada
em um telefone celular submetido a exame, o cartão de armazenamento deve ser removido
e processado usando técnicas forenses digitais tradicionais. Também é aconselhável
adquirir o cartão enquanto estiver no dispositivo móvel para garantir que os dados
armazenados na memória do aparelho e no cartão estejam vinculados para facilitar a análise.
Isso será discutido em detalhes nos próximos capítulos.
Machine Translated by Google
A fase de preparação
Uma vez identificado o modelo do celular, a fase de preparação envolve a pesquisa
sobre o celular específico a ser examinado e os métodos e ferramentas apropriados
a serem usados para aquisição e exame.
Isso geralmente é feito com base no modelo do dispositivo, sistema operacional
subjacente, sua versão e assim por diante. Além disso, as ferramentas que precisam
ser usadas durante um exame deverão ser determinadas com base no dispositivo em
questão, bem como no escopo e nos objetivos do exame.
Machine Translated by Google
A fase de isolamento
Os telefones celulares foram projetados para se comunicar por meio de redes de telefonia celular,
Bluetooth, infravermelho e recursos de rede sem fio (Wi-Fi).
Quando um telefone está conectado a uma rede, novos dados são adicionados ao telefone por
meio de chamadas recebidas, mensagens e dados de aplicativos, o que modifica as evidências no
telefone.
A destruição completa dos dados também é possível por meio de acesso remoto ou
comandos de limpeza remota. Por esta razão, o isolamento do dispositivo das fontes de
comunicação é importante antes da aquisição e exame do dispositivo. O isolamento da rede
pode ser feito colocando o telefone em um pano de proteção contra radiofrequência e, em
seguida, colocando o telefone no modo avião ou voo. O modo avião desativa os canais de
comunicação de um dispositivo, como rádio celular, Wi-Fi e Bluetooth. No entanto, se o dispositivo
estiver bloqueado por tela, isso não será possível. Além disso, como o Wi-Fi agora está disponível
em aviões, alguns dispositivos agora têm o acesso Wi-Fi ativado no modo avião.
Uma solução alternativa é o isolamento do telefone por meio do uso de bolsas de Faraday, que
bloqueiam os sinais de rádio de ou para o telefone. Os sacos de Faraday contêm materiais que
bloqueiam campos elétricos estáticos externos (incluindo ondas de rádio).
Assim, os sacos de Faraday protegem os dispositivos móveis apreendidos de interferência externa
para evitar limpeza e rastreamento. Para trabalhar mais convenientemente com dispositivos
apreendidos, também existem tendas e quartos de Faraday.
Machine Translated by Google
A fase de processamento
Depois que um telefone é isolado das redes de comunicação, o processamento real
do telefone móvel começa. Um dos desafios que você enfrentará nesta fase é identificar
quais ferramentas usar, pois isso é afetado por diversos fatores, como preço, facilidade
de uso, aplicabilidade e assim por diante. O software forense móvel é altamente caro e,
diferentemente da perícia forense de computador, às vezes você pode ter que usar
várias ferramentas para acessar os dados. Ao selecionar uma ferramenta, verifique se
ela possui recursos integrados para manter a integridade forense. Manter a integridade
forense requer uma ferramenta que empacote os dados coletados em um formato que
provavelmente não pode ser facilmente modificado ou alterado.
O telefone deve ser adquirido usando um método testado que seja repetível e seja o
mais forense possível. A aquisição física é o método preferido, pois extrai os dados
brutos da memória e o dispositivo geralmente é desligado durante o processo de
aquisição. Na maioria dos dispositivos, o menor número de alterações ocorre no
dispositivo durante a aquisição física. Se a aquisição física não for possível ou falhar,
deve-se tentar adquirir o sistema de arquivos do dispositivo móvel. Uma aquisição
lógica sempre deve ser realizada, pois pode conter apenas os dados analisados e
fornecer ponteiros para examinar a imagem bruta da memória. Esses métodos de
aquisição são discutidos em detalhes em capítulos posteriores.
Machine Translated by Google
A fase de verificação
Depois de processar o telefone, você precisa verificar a precisão dos dados extraídos
do telefone para garantir que os dados não tenham sido modificados. A verificação dos
dados extraídos pode ser realizada de várias formas:
Usando valores de hash: Todos os arquivos de imagem devem ser hash após a
aquisição para garantir que os dados permaneçam inalterados. Se a extração do
sistema de arquivos for suportada, você pode extrair o sistema de arquivos e calcular
hashes para os arquivos extraídos. Posteriormente, qualquer hash de arquivo extraído
individualmente é calculado e verificado em relação ao valor original para verificar a
integridade dele. Qualquer discrepância nos valores de hash deve ser explicável (por
exemplo, o dispositivo foi ligado e adquirido novamente, então os valores de hash são
diferentes).
Machine Translated by Google
A fase de documentação e
relatório
O perito criminal é obrigado a documentar, ao longo do processo de exame, tudo o que foi feito
durante a aquisição e o exame. Depois de concluir a investigação, os resultados devem passar
por alguma forma de revisão por pares para garantir que os dados sejam verificados e a
investigação seja concluída. Suas notas e documentação podem incluir informações como as
seguintes:
A fase de arquivamento
Preservar os dados extraídos de um telefone celular é uma parte importante do
processo geral. Também é importante que os dados sejam retidos em um formato
utilizável para o processo judicial em andamento, para referência futura, caso o
arquivo de evidência atual seja corrompido e para requisitos de manutenção de registros.
Os processos judiciais podem continuar por muitos anos antes de chegar a uma
sentença final, e a maioria das jurisdições exige que os dados sejam retidos por longos
períodos de tempo para fins de apelação. À medida que o campo e os métodos
avançam, novos métodos para extrair dados de uma imagem física bruta podem surgir
e, em seguida, você pode revisitar os dados obtendo uma cópia dos arquivos.
Abordagens forenses
práticas móveis
Semelhante a qualquer investigação forense, existem várias abordagens que podem
ser usadas para a aquisição e exame/análise de dados de telefones celulares. O
tipo de dispositivo móvel, o sistema operacional e a configuração de segurança
geralmente determinam o procedimento a ser seguido em um processo forense.
Cada investigação é distinta com suas próprias circunstâncias, por isso não é
possível desenhar uma única abordagem processual definitiva para todos os casos.
Os detalhes a seguir descrevem as abordagens gerais seguidas na extração de
dados de dispositivos móveis.
Machine Translated by Google
Android
iOS
iOS, anteriormente conhecido como sistema operacional do iPhone, é um sistema operacional
móvel desenvolvido e distribuído exclusivamente pela Apple Inc. O iOS está evoluindo para
um sistema operacional universal para todos os dispositivos móveis da Apple, como iPad,
iPod Touch e iPhone. O iOS é derivado do macOS e, portanto, é baseado em um sistema
operacional semelhante ao Unix. O iOS gerencia o hardware do dispositivo. As tecnologias
necessárias para implementar aplicativos nativos também são fornecidas pelo iOS. Ele
também vem com vários aplicativos de sistema, como Mail e Safari, que fornecem serviços de
sistema padrão ao usuário. Os aplicativos nativos do iOS são distribuídos pela App Store, que
é monitorada de perto pela Apple.
Mais detalhes sobre o iOS são abordados no Capítulo 2, Compreendendo as
partes internas dos dispositivos iOS.
Machine Translated by Google
telefone do Windows
Cada ferramenta forense móvel existente pode ser classificada em um ou mais dos
cinco níveis. As seções a seguir contêm uma descrição detalhada de cada nível.
Machine Translated by Google
extração manual
análise lógica
A análise lógica envolve conectar o dispositivo móvel ao hardware forense
ou a uma estação de trabalho forense por meio de um cabo USB, um cabo RJ-45,
infravermelho ou Bluetooth. Uma vez conectado, o computador inicia um comando e
o envia ao dispositivo, que é interpretado pelo processador do dispositivo. Em
seguida, os dados solicitados são recebidos da memória do dispositivo e enviados de
volta para a estação de trabalho forense. Mais tarde, você pode revisar os dados.
Despejo Hexadecimal
Chip-off
Chip-off refere-se à aquisição de dados diretamente do chip de memória presente
no dispositivo. Nesse nível, o chip é removido fisicamente do dispositivo e um leitor
de chip ou um segundo telefone é usado para extrair os dados armazenados nele.
Esse método é tecnicamente mais desafiador, pois uma ampla variedade de tipos de
chip é usada em celulares. O processo é caro e requer conhecimento em nível de
hardware, pois envolve a dessoldagem e o aquecimento do chip de memória. O
treinamento é necessário para executar com sucesso uma extração de lascas.
Procedimentos inadequados podem danificar o chip de memória e tornar todos
os dados irrecuperáveis. Quando possível, recomenda-se que os outros níveis de
extração sejam tentados antes do chip-off, uma vez que este método é destrutivo por
natureza. Além disso, as informações que saem da memória estão em formato bruto
e precisam ser analisadas, decodificadas e interpretadas. O método chip-off é preferido
em situações em que é importante preservar o estado da memória exatamente como
existe no dispositivo. Também é a única opção quando um dispositivo está danificado,
mas o chip de memória está intacto.
micro leitura
O processo de microleitura envolve visualizar e interpretar manualmente os
dados vistos no chip de memória. O examinador usa um microscópio eletrônico
e analisa as portas físicas no chip e, em seguida, traduz o status da porta para
0s e 1s para determinar os caracteres ASCII resultantes. Todo o processo é
demorado e caro, e requer amplo conhecimento e treinamento em memória e
sistema de arquivos. Devido aos tecnicismos extremos envolvidos na leitura
micro, ela só é tentada para casos de alto perfil equivalentes a uma crise de
segurança nacional depois que todos os outros níveis de técnicas de extração
foram esgotados. O processo raramente é executado e não está bem documentado
neste momento. Além disso, atualmente não há ferramentas comerciais disponíveis
para realizar uma microleitura.
Machine Translated by Google
Aquisição física
A aquisição física de um dispositivo móvel nada mais é do que uma cópia bit a bit do
armazenamento físico. Com acesso direto à memória flash, as informações podem ser
adquiridas do dispositivo por meio de extração física. A memória flash é uma memória
não volátil e é usada principalmente em cartões de memória e unidades flash USB como
armazenamento de estado sólido. O processo cria uma cópia bit a bit de um sistema de
arquivos inteiro, semelhante à abordagem adotada em investigações forenses de
computador. A aquisição física é capaz de adquirir todos os dados presentes em um
dispositivo, incluindo os dados excluídos e o acesso a espaço não alocado na maioria dos
dispositivos.
Machine Translated by Google
Aquisição lógica
A aquisição lógica trata da extração de objetos de armazenamento lógico, como
arquivos e diretórios, que residem em um sistema de arquivos. A aquisição lógica
de telefones celulares é realizada usando a interface de programação do aplicativo
do fabricante do dispositivo para sincronizar o conteúdo do telefone com um
computador. Muitas ferramentas forenses podem realizar uma aquisição lógica. É
muito mais fácil para uma ferramenta forense organizar e apresentar dados extraídos
por aquisição lógica. No entanto, o analista forense deve entender como ocorre a
aquisição e se o celular foi modificado de alguma forma durante o processo.
Dependendo do telefone e das ferramentas forenses usadas, todos ou alguns dos
dados são adquiridos. Uma aquisição lógica é fácil de realizar e recupera apenas os
arquivos em um telefone celular e não recupera dados contidos em espaço não
alocado.
Machine Translated by Google
aquisição manual
Com telefones celulares, a aquisição física geralmente é a melhor opção e a
aquisição lógica é a segunda melhor opção. A extração manual deve ser a
última opção ao realizar a aquisição forense de um telefone celular.
Tanto a aquisição lógica quanto a manual podem ser usadas para validar
descobertas nos dados físicos. Durante a aquisição manual, o examinador utiliza
a interface do usuário para investigar o conteúdo da memória do telefone. O
dispositivo é usado normalmente por meio de teclado ou tela sensível ao toque e
navegação de menu, e o examinador tira fotos do conteúdo de cada tela. A
extração manual apresenta um maior grau de risco na forma de erro humano e há
uma chance de excluir evidências. A aquisição manual é fácil de realizar e adquire
apenas os dados que aparecem em um telefone celular.
telefones celulares
Fotos: contém fotos que foram capturadas com a câmera do celular, baixadas
da internet e transferidas de outros dispositivos.
Exame e análise
Esta é a etapa final da investigação e visa descobrir os dados presentes no
dispositivo. O exame é feito aplicando métodos científicos e bem testados para
estabelecer resultados de forma conclusiva. A fase de análise é focada em separar os
dados relevantes do resto e sondar os dados que são de valor para o caso subjacente.
O processo de exame começa com uma cópia das evidências adquiridas usando algumas
das técnicas descritas anteriormente, que serão abordadas em detalhes nos próximos
capítulos. O exame e a análise usando ferramentas de terceiros geralmente são
realizados importando o despejo de memória do dispositivo para uma ferramenta forense
móvel que recuperará automaticamente os resultados. Compreender o caso também é
crucial para realizar uma análise direcionada dos dados. Por exemplo, um caso sobre
pornografia infantil pode exigir o foco em todas as imagens presentes no dispositivo, em
vez de olhar para outros artefatos.
Regras de evidência
Protegendo as evidências
Com recursos avançados de smartphones, como Find My iPhone e apagamentos
remotos, proteger um telefone celular de forma que não possa ser apagado
remotamente é de grande importância. Além disso, quando o telefone está ligado
e tem serviço, ele recebe constantemente novos dados. Para proteger as
evidências, use o equipamento e as técnicas certas para isolar o telefone de todas
as redes. Com o isolamento, o telefone é impedido de receber novos dados que
possam causar a exclusão dos dados ativos. Dependendo do caso, outras técnicas
forenses, como correspondência de impressões digitais, podem ser necessárias
para estabelecer uma conexão entre o dispositivo e seu proprietário. Se o dispositivo
não for manuseado de maneira segura, as evidências físicas podem ser adulteradas
involuntariamente e inutilizadas.
Preservando as evidências
À medida que as evidências são coletadas, elas devem ser preservadas em um estado
aceitável no tribunal. Trabalhar diretamente nas cópias originais das evidências pode
alterá-las. Portanto, assim que você recuperar uma imagem de disco ou arquivos
brutos, crie uma cópia mestre somente leitura e duplique-a. Para que as provas sejam
admissíveis, deve haver um método científico para validar que as provas apresentadas
são exatamente iguais às originais coletadas. Isso pode ser feito criando um valor de
hash forense da imagem.
Documentando as evidências
e mudanças
Sempre que possível, deve ser criado um registo de todos os dados visíveis.
Recomenda-se fotografar o dispositivo móvel junto com qualquer outra mídia
encontrada, como cabos, periféricos e assim por diante. Isso será útil se surgirem
dúvidas mais tarde sobre o meio ambiente. Não toque ou coloque as mãos no
dispositivo móvel ao fotografá-lo. Certifique-se de documentar todos os métodos e
ferramentas usados para coletar e extrair as evidências.
Detalhe suas anotações para que outro examinador possa reproduzi-las. Seu
trabalho deve ser reproduzível; se não for, um juiz pode considerá-lo inadmissível.
É importante documentar todo o processo de recuperação, incluindo todas as
alterações feitas durante a aquisição e exame. Por exemplo, se a ferramenta
forense usada para a extração de dados fatiar a imagem do disco para armazená-la,
isso deve ser documentado. Todas as alterações no dispositivo móvel, incluindo
reinicialização e sincronização, devem ser documentadas nas notas do caso.
Machine Translated by Google
Comunicando
Relatório é o processo de preparação de um resumo detalhado de todas as etapas tomadas e
conclusões alcançadas como parte de um exame. Os relatórios devem incluir detalhes sobre todas as
ações importantes realizadas por você, os resultados da aquisição e quaisquer inferências tiradas dos
resultados. A maioria das ferramentas forenses vem com recursos de relatório integrados que irão gerar
automaticamente os relatórios enquanto fornecem espaço para personalização ao mesmo tempo. Em
geral, um relatório pode conter os seguintes detalhes:
investigador forense
Identidade do remetente
Data de recebimento da prova
Detalhes do dispositivo apreendido para exame, incluindo número de série, marca e modelo
Resumo
Os dispositivos móveis modernos armazenam uma ampla gama de informações, como SMS,
registros de chamadas, histórico do navegador, mensagens de bate-papo, detalhes de localização
e assim por diante. Portanto, eles costumam ser um fator-chave em vários casos criminais,
reconstrução de eventos, casos corporativos e jurídicos e muito mais. A análise forense de
dispositivos móveis também vem com seus próprios desafios e conceitos que estão fora dos
limites da análise forense digital tradicional. Deve-se ter extremo cuidado ao manusear o
dispositivo, desde a fase de coleta de evidências até a fase de arquivamento.
Os examinadores responsáveis por dispositivos móveis devem entender os diferentes
métodos de aquisição e as complexidades de manipulação de dados durante a análise.
Extrair dados de um dispositivo móvel é metade da batalha. O sistema operacional, os
recursos de segurança e o tipo de smartphone determinarão a quantidade de acesso que
você tem aos dados. É importante seguir práticas forenses sólidas e garantir que as
evidências sejam inalteradas durante a investigação.
O próximo capítulo fornecerá uma visão sobre a análise forense do iOS. Você aprenderá sobre
o layout do sistema de arquivos, recursos de segurança e como os arquivos são armazenados
em um dispositivo iOS.
Machine Translated by Google
Esta seção fornecerá uma visão geral dos dispositivos iOS, como iPhones e iPads,
bem como uma visão geral dos sistemas operacionais e sistemas de arquivos que
eles executam. Você aprenderá sobre os diferentes tipos de métodos de aquisição
forense, incluindo aquisição lógica e aquisição de sistema de arquivos, o processo de
jailbreak, realização de análise forense nas fontes de artefatos mais comuns e como
trabalhar com software forense móvel popular.
De acordo com a Apple, havia 1,4 bilhão de dispositivos Apple ativos em 2019, 900
milhões dos quais rodando no iOS. Embora o iOS seja o principal sistema
operacional (SO) para tablets em todo o mundo, o Android continua sendo o principal
sistema operacional para smartphones. Independentemente das estatísticas, se você
for um examinador forense, é provável que precise conduzir um exame de um dispositivo
iOS.
Para obter informações sobre o modelo do iPhone e sua versão do iOS em uma estação
de trabalho Windows 10, siga estas etapas:
$ ideviceinfo -s
Machine Translated by Google
Certos modelos reforçam a criptografia de disco completo, enquanto os modelos mais antigos não.
Dispositivos criptografados requerem etapas adicionais durante uma aquisição, se o acesso for possível.
Você deve estar preparado para todos os obstáculos que podem ser obrigados a superar durante as
fases de aquisição e análise da investigação. Além disso, conhecer os recursos que o iPhone possui –
e a versão inicial e atual do iOS – faz diferença nos dados que você poderá recuperar do dispositivo. A
Apple não é consistente com os locais de armazenamento de dados nas versões do iOS. Portanto, você
deve conhecer a versão original instalada quando o telefone foi usado pela primeira vez para garantir que
as ferramentas forenses não ignorem dados que possam ajudar na investigação.
Mais informações sobre como identificar modelos de iPhone podem ser encontradas em https://su
pport.apple.com/en-us/HT201296.
Machine Translated by Google
Por exemplo, o iPhone 11 possui um processador A13 Bionic; 64 GB, 128 GB ou 256 GB
de armazenamento; 4GB de RAM; uma tela de cristal líquido Liquid Retina de 6,1
polegadas (LCD); e uma matriz de câmera traseira de 12 MP com lente dupla.
Imagens internas para todos os iPhones podem ser encontradas na seção desmontagem de http
s://www.ifixit.com/Device/iPhone.
Machine Translated by Google
O iPhone da Apple mudou a forma como os telefones celulares são produzidos e usados.
Da mesma forma, o iPad, uma versão do tablet lançada em janeiro de 2010,
anulou as vendas de notebooks. Com o iPad, as pessoas podem gravar vídeos,
tirar fotos, tocar música, ler livros, navegar na internet e fazer muito mais. Vários
modelos de iPad agora existem – por exemplo, iPad Air 3 e iPad Pro – com
diferentes recursos e capacidades de armazenamento. Mais informações sobre
como identificar modelos de iPad podem ser encontradas em https://support.apple.
com/en-in/HT201471.
Assim como no iPhone, nem todas as versões do iPad são compatíveis com a aquisição do
sistema de arquivos. Além disso, a Apple altera os locais de armazenamento de dados nas
versões do iOS, o que também afeta os dispositivos iPad. Você deve estar ciente dos diferentes
modelos, a versão do iOS lançada e atualmente instalada, a capacidade de armazenamento,
os vetores de acesso à rede e muito mais.
Machine Translated by Google
Os sistemas de arquivos
HFS Plus e APFS
Para entender melhor o processo forense de um dispositivo iOS, é útil conhecer o
sistema de arquivos usado. Originalmente, o sistema de arquivos usado no iPhone e em
outros dispositivos Apple iOS era o HFSX. Esta é uma variação do HFS Plus, com uma
grande diferença. O HFSX diferencia maiúsculas de minúsculas, enquanto o HFS Plus não
diferencia maiúsculas de minúsculas. Outras diferenças serão discutidas mais adiante neste capítulo.
O APFS foi introduzido em junho de 2016 como substituto do HFS Plus e se tornou
o sistema de arquivos padrão para dispositivos iOS com o lançamento do iOS 10.3 e para
dispositivos macOS com o lançamento do macOS 10.13.
Machine Translated by Google
O sistema de arquivos HFS Plus foi projetado para suportar tamanhos de arquivo maiores. Os
setores em volumes HFS geralmente têm 512 bytes de tamanho. Esses setores formam
blocos de alocação. O número de tais blocos depende do tamanho do volume. O HFS Plus
usa endereços de bloco de 32 bits para endereçar blocos de alocação. O HFS Plus usa
registro no diário por padrão. O registro no diário é o processo de registro de todas as
transações no disco, o que ajuda a evitar a corrupção do sistema de arquivos. As principais
características do sistema de arquivos HFS Plus incluem o seguinte: uso eficiente do espaço
em disco, suporte a Unicode para nomes de arquivos, suporte para bifurcações de nomes,
compactação de arquivos, registro em diário, redimensionamento dinâmico, desfragmentação
dinâmica e capacidade de inicializar em sistemas operacionais diferentes do macOS.
Machine Translated by Google
uso pelo sistema. O formato do arquivo consiste em 1 bit para cada bloco de alocação. Se o
bit estiver definido, o bloco está em uso. Se não estiver definido, o bloco está livre.
Extents Overflow File: Este arquivo registra os blocos de alocação que são alocados quando
o tamanho do arquivo excede oito blocos, o que ajuda na localização dos dados reais quando
referidos. Blocos defeituosos também são registrados no arquivo.
APFS é um novo sistema de arquivos para iOS, macOS, tvOS e watchOS. É um sistema de arquivos de
64 bits e suporta mais de 9 quintilhões de arquivos em um único volume. A seguir, uma lista de suas
principais características:
Proteção contra travamento: Este é um novo esquema de metadados copy-on-write; é usado para
garantir que as atualizações do sistema de arquivos sejam protegidas contra falhas.
Arquivos esparsos: permitem que o tamanho lógico dos arquivos seja maior que o espaço físico
que ocupam no disco.
Dimensionamento rápido de diretórios: calcula rapidamente o espaço total usado por uma
hierarquia de diretórios, permitindo que seja atualizado à medida que a hierarquia evolui.
Machine Translated by Google
A estrutura APFS
Assim, o APFS é estruturado em um único container que pode conter um ou mais
volumes. A estrutura do APFS é apresentada no diagrama a seguir:
Quanto aos arquivos de alocação, eles são bitmaps simples e não possuem cabeçalho
de bloco e ID de tipo.
Machine Translated by Google
Disposição do disco
Por padrão, o sistema de arquivos é configurado como duas partições de disco lógico: a
partição do sistema (raiz ou firmware) e a partição de dados do usuário.
A partição de dados do usuário contém todos os dados criados pelo usuário, desde
músicas e contatos até dados de aplicativos de terceiros. A partição de dados do usuário
ocupa a maior parte da memória NAND e é montada no diretório /private/var no
dispositivo. A maioria das informações comprobatórias pode ser encontrada nesta partição.
Durante uma aquisição do sistema de arquivos, o conteúdo da partição de dados do usuário
deve ser capturado e salvo como um arquivo .tar . Os dados adquiridos podem ser facilmente
extraídos e analisados pela maioria das ferramentas forenses móveis comerciais.
Machine Translated by Google
Ele utiliza uma interface multitoque, onde gestos simples são usados para operar e
controlar o dispositivo, como deslizar o dedo pela tela para mover para a próxima
página ou beliscar os dedos para ampliar. Em termos simples, o iOS auxilia no
funcionamento geral do dispositivo.
Machine Translated by Google
A arquitetura do iOS
A arquitetura do iOS consiste em quatro camadas: a camada Cocoa Touch, a camada de mídia,
a camada de serviços principais e a camada de sistema operacional principal. Cada camada é
composta por vários frameworks que auxiliam na construção de uma aplicação, conforme
ilustrado no diagrama a seguir:
As camadas do iOS
Cocoa Touch: Esta camada contém as principais estruturas necessárias para desenvolver
a interface visual para aplicativos iOS. Estruturas neste
Machine Translated by Google
Mídia: Esta camada fornece as estruturas gráficas, de áudio e vídeo para criar
a melhor experiência multimídia disponível em um dispositivo móvel.
As tecnologias nesta camada ajudam os desenvolvedores a criar aplicativos
com ótima aparência e som.
Agora que aprendemos sobre a arquitetura do iOS, vamos dar uma olhada na
segurança do iOS.
Machine Translated by Google
segurança do iOS
Versões mais recentes do iOS foram projetadas com segurança em seu núcleo.
No nível mais alto, a arquitetura de segurança do iOS é a seguinte:
Machine Translated by Google
Machine Translated by Google
Os dispositivos Apple iOS, como iPhone, iPad e iPod Touch, são projetados com camadas
de segurança. Os recursos de hardware de baixo nível protegem contra ataques de
malware e os recursos de sistema operacional de alto nível impedem o uso não autorizado.
Uma breve visão geral dos recursos de segurança do iOS é fornecida nas seções a seguir.
Machine Translated by Google
Assinatura de código
"Assinatura de código é o processo pelo qual seu aplicativo iOS compilado é lacrado e identificado como seu. Além
disso, os dispositivos iOS não executam um aplicativo ou carregam uma biblioteca a menos que seja assinado por uma
parte confiável. Para garantir que todos os aplicativos venham de um fonte conhecida e aprovada e não foram adulterados,
o iOS exige que todos os códigos executáveis sejam assinados usando um certificado emitido pela Apple."
Machine Translated by Google
Sandboxing
O sandbox reduz a exploração de execução pós-código, colocando o aplicativo
em uma área estritamente restrita. Os aplicativos instalados no dispositivo iOS são
colocados em área restrita e um aplicativo não pode acessar os dados armazenados
por outro. Essencialmente, um sandbox é um mecanismo que impõe controles
refinados que limitam o acesso de um aplicativo a arquivos, recursos de rede,
hardware e muito mais.
Machine Translated by Google
Criptografia
Em dispositivos iOS (começando com o iPhone 4), todo o sistema de arquivos é
criptografado com uma chave de sistema de arquivos, que é calculada a partir da chave
de hardware exclusiva do dispositivo. Essa chave é armazenada no armazenamento apagável,
que existe entre os níveis de sistema operacional e hardware do dispositivo. Esta é a razão que
Os métodos Joint Test Action Group (JTAG) e chip-off não são métodos de aquisição
úteis, pois todo o despejo de dados será criptografado.
Machine Translated by Google
Proteção de dados
A proteção de dados foi projetada para proteger os dados em repouso e dificultar os
ataques off-line. Ele permite que os aplicativos aproveitem a senha do dispositivo do
usuário, em conjunto com a criptografia de hardware do dispositivo, para gerar uma chave
de criptografia forte. Posteriormente, a chave de criptografia forte é usada para criptografar os
dados armazenados no disco. Essa chave protege os dados contra acesso não autorizado quando
o dispositivo está bloqueado, de modo que as informações críticas são protegidas mesmo se o
dispositivo estiver comprometido.
Machine Translated by Google
Randomização (ASLR)
ASLR é uma técnica de mitigação de exploração introduzida com o iOS 4.3. O
ASLR randomiza a localização do objeto do aplicativo na memória, dificultando
a exploração das vulnerabilidades de corrupção de memória.
Machine Translated by Google
Separação de privilégios
O iOS é executado com o princípio do privilégio mínimo (PoLP). Ele contém duas
funções de usuário: root e mobile. Os processos mais importantes do sistema são
executados com privilégios de usuário root. Todos os outros aplicativos aos quais o usuário
tem acesso direto, como navegador e aplicativos de terceiros, são executados com
privilégios de usuário móvel.
Machine Translated by Google
Limpeza de dados
O iOS fornece a opção Apagar todo o conteúdo e configurações para limpar os dados em
um iPhone. Esse tipo de limpeza de dados apaga as configurações e informações do
usuário removendo as chaves de criptografia que protegem os dados. Como as chaves de
criptografia são apagadas do dispositivo, não é possível recuperar os dados excluídos, nem
mesmo durante as investigações forenses. Estão disponíveis outros métodos de limpeza
que substituem os dados na memória do dispositivo. Mais informações sobre limpeza podem
ser encontradas em https://support.apple.com/en-in/HT201274.
Machine Translated by Google
Bloqueio de Ativação
A loja de aplicativos
O XcodeGhost, o malware da Apple que infectou 50 aplicativos na Apple App Store, foi
detectado em setembro de 2015. Esse malware foi incorporado ao Xcode, o que dificultou
sua detecção e afetou mais de 500 milhões de usuários em todo o mundo. Uma vez
detectado, a Apple removeu imediatamente os aplicativos infectados.
Machine Translated by Google
Jailbreak
Jailbreaking é o processo de remoção de limitações impostas pelo sistema operacional móvel da Apple por
meio do uso de exploits de software e hardware. O jailbreak permite que o código não assinado seja executado
e obtenha acesso root no sistema operacional. O motivo mais comum para o jailbreak é expandir o conjunto
limitado de recursos imposto pela App Store da Apple e instalar aplicativos não aprovados. O jailbreak pode ajudar
na aquisição forense, mas anulará a garantia do usuário, possivelmente bloqueará o dispositivo e pode não suportar
Se você desbloquear um dispositivo, é melhor presumir que ele será desbloqueado para sempre
e a garantia não é mais válida.
Muitas ferramentas de jailbreak publicamente disponíveis adicionam um instalador de aplicativo não oficial
ao dispositivo, como o Cydia, que permite aos usuários instalar muitos aplicativos, ferramentas, ajustes e
aplicativos de terceiros a partir de um repositório de arquivos online. O software baixado do Cydia abre
infinitas possibilidades em um dispositivo que um dispositivo sem jailbreak nunca seria capaz de fazer. As
ferramentas de jailbreak mais populares são Pangu, TaiG, Electra e Unc0ver. Nem todas as versões do iOS podem
ser desbloqueadas. A tabela a seguir ajudará você a escolher a ferramenta de jailbreak apropriada de acordo com
Resumo
A primeira etapa no exame forense de um dispositivo iOS deve identificar o modelo do
dispositivo. O modelo de um dispositivo iOS pode ser usado para ajudá-lo, como examinador,
a desenvolver uma compreensão dos componentes e capacidades subjacentes do dispositivo,
que podem ser usados para orientar os métodos de aquisição e exame. Dispositivos iOS
legados não devem ser desconsiderados, pois podem aparecer como parte de uma investigação.
Você deve estar ciente de todos os dispositivos iOS, pois os dispositivos antigos às vezes ainda
estão em uso e podem estar vinculados a uma investigação criminal.
Observe que quando o termo iPhone é mencionado, deve-se entender que a afirmação
permanece verdadeira para todos os dispositivos iOS.
Machine Translated by Google
Modo normal
Quando um iPhone é ligado, seu sistema operacional é inicializado; este modo é conhecido
como modo normal. A maioria das atividades regulares (chamadas, mensagens de texto e
assim por diante) executadas em um iPhone serão executadas no modo normal.
Quando um iPhone é ligado internamente, ele passa por uma cadeia de inicialização
segura, conforme mostrado no diagrama a seguir. Isso não ocorre em dispositivos com
jailbreak. Cada etapa do processo de inicialização contém componentes de software
que são assinados criptograficamente pela Apple para garantir a integridade:
*A ROM de boot, por sua vez, verifica se o Low-Level Bootloader (LLB) é assinado pela Apple
e o carrega. O LLB é carregado e verificado pela ROM de inicialização, mas isso ocorre
apenas em dispositivos com processador A9 ou anterior da série A
A ROM de inicialização, conhecida como ROM segura, é uma memória somente leitura
(ROM) e é o primeiro código significativo executado em um iPhone (https://www.apple.com/
business/docs/iOS_Security_Guide.pdf ). Uma explicação do processo de inicialização para
dispositivos iOS é definida nas seguintes etapas:
Machine Translated by Google
Quando um dispositivo iOS está nesse estado, é possível obter uma parte acessível
ao usuário por meio de aquisição forense. Na maioria das vezes, isso inclui uma aquisição
lógica, que será discutida mais adiante neste capítulo.
Machine Translated by Google
Modo de recuperação
Este modo é conhecido como modo de recuperação e é necessário para realizar atualizações
ou restaurar o iPhone. Para entrar no modo de recuperação, execute as seguintes etapas:
1. Desligue o dispositivo.
2. Mantenha pressionado o botão Home do iPhone e conecte o dispositivo a um
computador por meio de um cabo USB. O dispositivo deve ligar.
3. Continue segurando o botão Home até que a tela Conectar ao iTunes apareça. Em
seguida, você pode soltar o botão Home (em um dispositivo iOS com jailbreak, esta
tela pode aparecer com ícones diferentes). A maioria das ferramentas forenses e
métodos de extração irão alertá-lo sobre o estado atual do dispositivo iOS.
junto. No iPhone 8 e posterior, você faz isso clicando no botão Aumentar volume, depois
clicando no botão Diminuir volume e mantendo pressionado o botão Lateral.
Você pode ler mais sobre o modo de recuperação em dispositivos iOS em https:// support.apple.com/ en-in/ HT20
1263.
Isso faz alterações nas evidências, portanto, certifique-se de ter validado seus métodos de
aquisição em um dispositivo de teste antes de tentar usar seus métodos em evidências reais.
Machine Translated by Google
modo DFU
Durante o processo de inicialização, se a ROM de inicialização não puder carregar ou verificar o
LLB ou iBoot (em dispositivos mais recentes), o iPhone entrará no modo de atualização de
firmware do dispositivo (DFU) . O modo DFU é um modo de diagnóstico de baixo nível e foi
projetado para realizar atualizações de firmware para iPhones.
Para entrar no modo DFU, execute as seguintes etapas para iPhone 8 e posterior:
Para verificar se o iPhone está no modo DFU no macOS, inicie um relatório do sistema e vá para
a opção USB. Você deve ver algo semelhante ao
Machine Translated by Google
Claro que existem algumas soluções baseadas em hardware, como IP-BOX 3, mas todas elas
funcionam apenas ocasionalmente, e o uso de uma delas pode até resultar em bricking do
dispositivo. Com o iOS 11, esse problema se torna ainda mais grave – mesmo que o dispositivo
sob exame não esteja protegido por senha, você precisará da senha de qualquer maneira, pois
ela deve ser digitada para confirmar a confiança entre o dispositivo e sua estação de trabalho.
Então, o que um examinador forense móvel deve fazer? Use os arquivos de bloqueio!
Os arquivos de bloqueio, que são armazenados como um arquivo plist em computadores
confiáveis, permitem que você induza o dispositivo a acreditar que está desbloqueado ou
confiável na estação de trabalho forense.
/var/db/lockdown no macOS
C:\ProgramData\Apple\Lockdown no Windows 7 e versões posteriores
Você deve estar ciente de que o desbloqueio com um arquivo de bloqueio só funciona se o
dispositivo foi desbloqueado com uma senha pelo menos uma vez após a última reinicialização.
Existem também algumas técnicas avançadas que existem. Isso inclui moldes de
impressão digital para enganar o Touch ID, máscaras para enganar o Face ID e espelhamento
NAND para contornar os limites de entrada de senha.
A primeira técnica foi demonstrada pela primeira vez por Jason Chaikin. Ele
demonstrou como contornar o Touch ID levantando o nome de outra pessoa
Machine Translated by Google
impressão digital com materiais de moldagem comuns, como molde dental e Play
Doh.
Aquisição lógica
Uma aquisição lógica capta uma parte do que é acessível ao usuário; em outras
palavras, o que está incluído em um backup do iTunes. Isso significa que não obteremos
nenhum arquivo excluído, mas, graças às listas gratuitas dos bancos de dados SQLite e
ao espaço não alocado, podemos recuperar registros excluídos, incluindo SMS e outros bate-
papos, histórico de navegação e assim por diante. Discutiremos a recuperação de dados
SQLite e artefatos excluídos no Capítulo 5, Análise e recuperação de dados do iOS.
A aquisição lógica é a maneira mais rápida, fácil e econômica de obter acesso aos dados
armazenados em um dispositivo iOS. Há uma variedade de ferramentas, desde comerciais
até gratuitas, capazes de capturar imagens lógicas. A maioria dessas ferramentas requer
que o dispositivo seja desbloqueado ou que o acesso ao arquivo plist da máquina host esteja
prontamente disponível.
Machine Translated by Google
OK vamos começar:
3. É hora de criar o backup — nossa imagem lógica do dispositivo iOS. Para fazer
isso, digite o seguinte comando:
Vamos adquirir um iPhone com iOS 13.2.3 usando a Belkasoft Acquisition Tool:
Escolhendo a fonte
4. Aguarde até que a tarefa seja concluída com sucesso. Você encontrará a imagem lógica
do seu dispositivo na pasta escolhida na etapa anterior:
Machine Translated by Google
Criando o backup
O backup pode ser analisado pelo Belkasoft Evidence Center e por muitas
outras ferramentas forenses móveis.
Machine Translated by Google
Escolhendo o dispositivo
Criando a imagem
Secure Enclave trouxe novos desafios para os examinadores forenses do iOS. Não
podemos extrair as chaves de criptografia necessárias para descriptografar a imagem
do dispositivo, portanto, realizar a aquisição física é inútil. Mas há aquisição do sistema
de arquivos. Infelizmente, na maioria dos casos, é necessário que o dispositivo iOS
seja desbloqueado. A próxima seção mostrará como fazer o jailbreak de um iPhone
rodando iOS 11.4.1 com Electra e um iPhone rodando iOS 13.2 com Checkra1n.
Machine Translated by Google
Jailbreak prático
Para realizar a aquisição do sistema de arquivos, precisamos que nosso dispositivo iOS seja desbloqueado.
As etapas para desbloquear um dispositivo iOS executando 11.4.1 são as seguintes:
4. Digite qualquer Apple ID na nova janela (você pode registrar um novo para
cada dispositivo que você examinar).
Verificando o desenvolvedor
Desbloqueando o dispositivo
O Checkra1n é baseado em uma vulnerabilidade e exploração de bootrom e oferece suporte a uma ampla
variedade de dispositivos iOS, mesmo aqueles executando o iOS 13.2 mais recente (no momento da redação
deste artigo). Aqui estão as etapas para fazer o jailbreak de um dispositivo iOS executando 13.2:
2. Execute o aplicativo. No momento da redação deste artigo, o Checkra1n está disponível apenas
para macOS.
processo de exploração
2. Abra outra janela do prompt de comando, altere o diretório para aquele em que deseja
armazenar sua imagem e execute o seguinte comando:
ssh root@127.0.0.1 -p 4444 "tar -cf - /private/var/" > userdata.tar Para se conectar via SSH, você
será solicitado a fornecer a senha necessária. A senha padrão para SSH é alpine.
Assim que o processo terminar, você encontrará a imagem do sistema de arquivos criada no
diretório para o qual você mudou antes de executar o comando anterior. É um arquivo TAR e pode
ser aberto com vários arquivadores, como o 7-Zip:
Machine Translated by Google
de adquirir sistemas de arquivos é o Elcomsoft iOS Forensic Toolkit. Aqui, vamos adquirir um dispositivo
iOS com jailbreak executando o iOS 12.4.3.
Uma vez finalizado o processo, teremos uma imagem do sistema de arquivos pronta para
ser analisada com uma ferramenta forense móvel de nossa escolha.
Machine Translated by Google
Resumo
A primeira etapa no exame forense do dispositivo iOS é adquirir os dados do dispositivo.
Existem várias maneiras diferentes de adquirir dados de um dispositivo iOS. Este
capítulo abordou técnicas de aquisição lógica e de sistema de arquivos, bem como
jailbreak e métodos para contornar senhas.
Embora a aquisição do sistema de arquivos seja o melhor método para obter forense
a maioria dos dados de dispositivos iOS, arquivos de backup podem existir ou ser o
único método para extrair dados do dispositivo.
O método de backup do iTunes também é útil nos casos em que outros tipos de aquisição
não são viáveis. Nessa situação, você basicamente cria um backup do iTunes do dispositivo
e o analisa usando um software forense. Assim, é importante que você entenda
completamente o processo de backup e as ferramentas envolvidas, para garantir que as
ferramentas sejam capazes de criar um backup forense sem contaminar os dispositivos com
outros dados existentes no iTunes.
Os arquivos de backup do iPhone podem ser criados usando o software iTunes, que
está disponível para as plataformas macOS e Windows. O iTunes é um utilitário gratuito
fornecido pela Apple para sincronização e gerenciamento de dados entre dispositivos iOS e
o computador. O iTunes usa o protocolo de sincronização proprietário da Apple para copiar
dados do dispositivo iOS para um computador. Por exemplo, um iPhone pode ser
sincronizado com um computador usando um cabo ou Wi-Fi. O iTunes oferece uma opção
para um backup criptografado, mas, por padrão, ele cria um backup não criptografado
sempre que um iPhone é sincronizado. Os backups criptografados, quando quebrados,
fornecem acesso adicional aos dados armazenados no dispositivo iOS.
Isso será discutido mais adiante neste capítulo.
Os usuários costumam criar arquivos de backup para proteger seus dados caso o
dispositivo seja danificado ou perdido. Um backup forense é criado para atuar como a
melhor evidência ou os dados são simplesmente extraídos de arquivos de backup iOS
existentes para procurar informações legadas. Por exemplo, se você estiver sob investigação
Machine Translated by Google
e você exclui arquivos ou limpa seu iPhone, seus arquivos de backup em seu iCloud e seu Mac
ainda existem. Dependendo se o iTunes ou o iCloud foi usado, podem existir vários backups para
o mesmo dispositivo. Você terá que analisar cada backup forense para descobrir artefatos
relacionados à investigação.
O iTunes está configurado para iniciar automaticamente o processo de sincronização assim que
o dispositivo iOS estiver conectado ao computador. Para evitar a troca de dados não intencional
entre o dispositivo iOS e o computador, desative o processo de sincronização automática antes de
conectar sua prova à estação de trabalho forense. A captura de tela na Etapa 2 do processo a
seguir ilustra a opção que desativa a sincronização automática no iTunes versão 12.9.4.102.
5. Antes que o iTunes possa acessar o iPhone, você deve ativar a confiança entre
o computador e o telefone. Você será solicitado a pressionar Continuar no
computador (conforme destacado na captura de tela a seguir) e selecionar
Machine Translated by Google
Confie no iPhone. Com o iOS 11, você também deve inserir a senha do
dispositivo:
Agora, estamos prontos para começar a fazer backup do dispositivo. A próxima seção
o guiará por esse processo.
Machine Translated by Google
4. Agora, você pode criar um backup local regular e ele será salvo em seu
unidade externa.
Agora, temos o backup pronto para análise posterior. Vamos olhar para dentro
para entender sua estrutura.
Machine Translated by Google
Entendendo o backup
estrutura
Quando o backup do iPhone é feito em um computador, os arquivos de backup são
armazenados em um diretório de backup, que existe como uma string hexadecimal de 40
caracteres e corresponde ao Identificador Único de Dispositivo (UDID) do dispositivo. Os
dispositivos mais novos mudaram o formato UDID - agora é uma string de 24 caracteres,
então seus backups são nomeados de acordo. O processo de backup pode levar um tempo
considerável, dependendo do tamanho dos dados armazenados no iPhone durante o primeiro
backup. A localização do diretório de backup no qual seus dados de backup são armazenados
depende do sistema operacional do computador. A tabela a seguir exibe uma lista dos sistemas
operacionais comuns e os locais padrão do diretório de backup do iTunes:
Sistema
Localização do diretório de backup
operacional
~/Biblioteca/Suporte de aplicativos/MobileSync/Backup/
Mac OS
(~ representa a pasta pessoal)
Machine Translated by Google
O backup do iTunes pode fazer uma cópia de tudo no dispositivo, incluindo contatos,
mensagens SMS ( Short Message Service ) , fotos, calendários, músicas, registros
de chamadas, arquivos de configuração, documentos, chaves, configurações de
rede, cache de aplicativos da web offline, favoritos , cookies, dados do aplicativo (se
selecionado) e muito mais. Por exemplo, e-mails e senhas não serão extraídos se o
backup não estiver criptografado. O backup também contém detalhes do dispositivo,
como número de série, UDID, detalhes do Módulo de Identificação do Assinante
(SIM) e número de telefone. Essas informações também podem ser usadas para
provar uma relação entre o backup e o dispositivo móvel.
O diretório de backup contém quatro arquivos padrão, juntamente com os arquivos individuais (até iOS 9) ou
pastas (iOS 10 e mais recentes). Até o iOS 9, esses quatro arquivos eram info.plist, manifest.plist, status.plist e
manifest.mbdb, mas a partir do iOS 10, temos os seguintes arquivos padrão:
info.plist
manifest.plist
status.plist
manifest.db
Esses arquivos armazenam detalhes sobre o backup e o dispositivo do qual ele foi
derivado.
Machine Translated by Google
info.plist
O arquivo info.plist armazena detalhes sobre o dispositivo de backup e geralmente contém as
seguintes informações:
manifest.plist
O arquivo manifest.plist descreve o conteúdo do backup e normalmente contém as seguintes
informações:
Bolsa de chaves de backup : A bolsa de chaves de backup contém um conjunto de chaves de classe
de proteção de dados que são diferentes das chaves na bolsa de chaves do sistema, e os dados de
backup são criptografados novamente com as novas chaves de classe. As chaves no porta-chaves
Backup facilitam o armazenamento de backups de forma segura.
Versão: Esta é a versão de backup.
Data: Este é o carimbo de data/hora de quando um backup foi criado ou atualizado
pela última vez.
ManifestKey: Esta é a chave usada para criptografar manifest.db (envolto com classe de
proteção 4).
WasPasscodeSet: identifica se uma senha foi definida no dispositivo quando ele foi sincronizado
pela última vez.
Bloqueio: contém detalhes do dispositivo, o nome do último computador de backup e outros
perfis de sincronização remota.
Aplicativos: esta é uma lista de aplicativos de terceiros instalados no dispositivo de backup,
seus números de versão e identificadores de pacote.
IsEncrypted: identifica se o backup está criptografado. Para
backups criptografados, o valor é True; caso contrário, é Falso.
status.plist
O arquivo status.plist armazena detalhes sobre o status do backup e geralmente
contém as seguintes informações:
manifest.db
manifest.db é um banco de dados SQLite que contém uma lista de todos os arquivos e
pastas extraídos do iPhone por meio do mecanismo de backup. A tabela Arquivos do banco de dados
inclui as seguintes colunas:
fileID: Este é um hash Secure Hash Algorithm 1 (SHA1) do domínio, mais o símbolo - e o
caminho relativo do arquivo ou pasta. Por exemplo, ae94e0607ca39a88c18aca095cb5b4f8471291a0
é o hash SHA1 para
CameraRollDomain-Media/PhotoData/Thumbnails/V2/DCIM/102APPLE.
domínio: Este é o domínio ao qual o arquivo ou pasta pertence (todos os arquivos no iOS são
divididos em vários domínios, por exemplo, CameraRollDomain e HomeDomain). parentePath:
Este é o caminho relativo para o arquivo (incluindo o nome do arquivo) ou pasta. sinalizadores:
Estes são os sinalizadores de arquivo. arquivo: Este é um arquivo .plist incorporado . Esses
arquivos .plist incluem as seguintes informações importantes, entre outras:
O conteúdo do manifest.db
Você pode exportar facilmente este binário incorporado .plist usando, por exemplo, o DB
Browser for SQLite (DB4S). Para isso, observe os seguintes passos:
Desde o iOS 10, os arquivos não são mais nomeados com strings hexadecimais de
40 caracteres. Em vez disso, você verá uma lista de pastas nomeadas com strings
hexadecimais de 2 caracteres, que contêm os arquivos que você costumava ver nas
versões anteriores, conforme ilustrado na captura de tela a seguir:
Machine Translated by Google
iBackup Viewer
O iBackup Viewer é uma ferramenta gratuita para Windows e macOS que pode
ser baixada em http://www.imactools.com/iphonebackupviewer/.
A ferramenta espera que o backup esteja localizado no local padrão, mas você
pode alterá-lo para o local de sua escolha, por exemplo, uma unidade externa.
1. Se o backup que você deseja analisar não estiver salvo no local padrão,
clique no hiperlink Preferências na tela principal e escolha o local correto,
conforme ilustrado na captura de tela a seguir:
3. É importante observar que você pode navegar pelo backup como um sistema de
arquivos, usando o modo Raw Data (o último ícone na captura de tela anterior),
conforme mostrado na captura de tela a seguir:
Com a ajuda desta ferramenta, você pode facilmente visualizar e exportar arquivos de seu
interesse. Claro, não é a única ferramenta capaz de resolver tais tarefas. Vejamos outro —
iExplorer.
Machine Translated by Google
iExplorer
Uma versão gratuita do iExplorer está disponível em https://macroplant.com/iexplorer.
Esta ferramenta suporta Windows e macOS e também é capaz de navegar pelos
backups do iTunes. Aqui está como usá-lo:
Além disso, há uma opção interessante - o iExplorer pode coletar bancos de dados SQLite para
você. Para fazer isso, clique no botão Raw Databases para levá-lo ao
Machine Translated by Google
seguinte tela (você aprenderá mais sobre análise forense do SQLite no próximo
capítulo):
Você também pode navegar pelo backup como uma lista de arquivos e pastas com a ajuda do
iExplorer; use o painel esquerdo para isso. Além disso, você pode usar o Backup
Machine Translated by Google
Como você pode ver, existem ferramentas suficientes capazes de extrair dados valiosos de
um backup do iTunes, mesmo que esteja criptografado. Claro, geralmente é possível se
você souber a senha. Mas e se você não fizer isso? Você aprenderá como contorná-lo na
próxima seção.
Machine Translated by Google
Se o ataque de força bruta for bem-sucedido, a ferramenta exibe a senha na tela principal.
Se você tiver um iPhone com iOS 11 ou posterior e sua senha, poderá redefinir a senha real e
fazer um backup com uma nova senha conhecida.
Aqui está como fazê-lo:
Se a senha do Screen Time estiver definida, você também precisará dela para redefinir a senha de backup.
Machine Translated by Google
O iCloud pode fazer backup de seus dados automaticamente quando seu telefone estiver
conectado, bloqueado e conectado ao Wi-Fi. Ou seja, os backups do iCloud representam
uma cópia atualizada e quase em tempo real das informações armazenadas no dispositivo,
desde que haja espaço disponível para criar um backup atual.
Os aplicativos integrados da Apple (por exemplo, Mail e Contatos) usam um token seguro
para acessar os serviços do iCloud. O uso de tokens seguros para autenticação elimina a
necessidade de armazenar a senha do iCloud em dispositivos e computadores.
Machine Translated by Google
Resumo
Os backups de dispositivos iOS contêm informações essenciais que podem ser sua
única fonte de evidência. As informações armazenadas nos backups do iOS incluem
fotos, vídeos, contatos, e-mails, registros de chamadas, contas e senhas de usuários,
aplicativos e configurações do dispositivo. Este capítulo explicou como criar arquivos
de backup e recuperar dados de backups do iTunes e do iCloud, incluindo arquivos de
backup criptografados, sempre que possível.
interpretar as evidências. Nos capítulos anteriores, você aprendeu várias técnicas para adquirir dados de
dispositivos iOS. Qualquer tipo de imagem adquirida contém centenas de arquivos de dados que geralmente são
analisados pelas ferramentas descritas nos capítulos anteriores. Mesmo quando os dados são analisados pela
ferramenta forense, uma análise manual pode ser necessária para descobrir artefatos adicionais ou simplesmente
Este capítulo ajudará você a entender como os dados são armazenados em dispositivos iOS e o guiará pelos
principais artefatos que devem ser examinados em cada investigação para recuperar o máximo de dados possível.
Listas de propriedades
hconverter.com/.
$ data -r 1557479897
Sexta, 10 de maio 12:18:17 MSK 2019
A época Unix é o formato mais comum para dispositivos iOS, mas também
existem outros, incluindo horário absoluto do Mac e horário do WebKit/Chrome.
Machine Translated by Google
Os dispositivos iOS adotaram o uso do tempo absoluto do Mac com o iOS 5. O tempo
absoluto do Mac é o número de segundos decorridos desde a hora da época do Mac,
que começou à meia-noite de 1º de janeiro de 2001. A diferença entre a hora da época
do Unix e a hora do Mac é exatamente 978.307.200 segundos. Isso significa que você
pode converter facilmente a hora do Mac para a época do Unix e usar os mesmos
métodos para finalmente convertê-la em um registro de data e hora legível por humanos.
Claro, existem alguns conversores online, como https://www.epochconverter.com/
coredata, como mostrado na captura de tela a seguir:
Hora do WebKit/Chrome
Se você não gosta ou não quer usar conversores online por algum motivo, também pode usar uma
ferramenta gratuita: o DCode da Digital Detective. Essa ferramenta pode ser usada para converter
carimbos de data/ hora em vários formatos diferentes, incluindo hora Unix (segundos e milissegundos),
hora absoluta do Mac e hora do WebKit/ Chrome, conforme mostrado na captura de tela a seguir:
Muitos conjuntos forenses comerciais para dispositivos móveis converterão facilmente carimbos de
data/hora extraídos para você automaticamente, mas, em alguns casos, é extremamente difícil
Machine Translated by Google
importante para validá-lo, então é uma obrigação para você entender claramente os formatos
de carimbo de data/hora.
Machine Translated by Google
Os dispositivos Apple iOS, assim como outros smartphones e tablets, fazem uso intenso de
bancos de dados SQLite para armazenamento de dados. Muitos dos aplicativos integrados —
como Telefone, Mensagens, Correio, Calendário e Notas — armazenam dados em bancos de
dados SQLite. Além disso, aplicativos de terceiros instalados no dispositivo também utilizam
bancos de dados SQLite para armazenamento de dados.
Os bancos de dados SQLite são criados com ou sem uma extensão de arquivo. Eles
normalmente têm as extensões de arquivo .sqlitedb ou .db , mas alguns bancos de dados
também recebem outras extensões.
Os dados nos arquivos SQLite são divididos em tabelas que contêm os dados reais. Para
acessar os dados armazenados nos arquivos, você precisa de uma ferramenta capaz de lê-los.
A maioria das ferramentas forenses móveis comerciais, como Belkasoft Evidence
Center, Magnet AXIOM e Cellebrite Universal Forensic Extraction Device (UFED) Physical
Analyzer, fornecem suporte para o exame de bancos de dados SQLite. Se você não possui uma
dessas ferramentas, algumas boas ferramentas gratuitas são as seguintes:
Navegador de banco de dados para SQLite (DB4S): pode ser baixado de htt
p://sqlitebrowser.org/.
Cliente de linha de comando SQLite: pode ser baixado em http://ww
w.sqlite.org/.
O macOS inclui o utilitário de linha de comando SQLite (sqlite3) por padrão. Este
utilitário de linha de comando pode ser usado para acessar arquivos individuais e
executar consultas SQL em um banco de dados. Nas seções a seguir, usaremos o
utilitário de linha de comando sqlite3 e outras ferramentas e navegadores SQLite para
recuperar dados de vários bancos de dados SQLite. Antes de recuperar os dados, os
comandos básicos que você precisará aprender são explicados nas seções a seguir.
Machine Translated by Google
1. Certifique-se de que a imagem do seu dispositivo esteja montada como somente leitura
para evitar que alterações sejam feitas na evidência original.
2. Para se conectar a um banco de dados SQLite a partir da linha de comando, execute o
sqlite3 no Terminal inserindo seu arquivo de banco de dados. Isso fornecerá um prompt
SQL onde você pode emitir consultas SQL, conforme mostrado no seguinte bloco de
código:
$ sqlite3 sms.db
SQLite versão 3.28.0 2019-04-15 14:49:49 Digite
".help" para dicas de uso.
A próxima seção o guiará pela análise de bancos de dados, usando os comandos integrados
do sqlite3 .
Machine Translated by Google
Explorando comandos
especiais do SQLite
Depois de se conectar a um banco de dados, você pode usar vários comandos SQLite
integrados, conhecidos como comandos de ponto , e que podem ser usados para obter
informações dos arquivos do banco de dados.
Você pode obter a lista de comandos especiais emitindo o comando .help no prompt do
SQLite. Estes são comandos específicos do SQLite e não requerem um ponto e vírgula no
final. Os comandos de ponto mais comumente usados incluem o seguinte:
.schema table-name: exibe a instrução SQL CREATE que foi usada para construir a
tabela. A captura de tela a seguir exibe o esquema para a tabela de manipulação do
banco de dados sms.db :
Certifique-se de que não haja espaço entre o prompt do SQLite e o comando dot;
caso contrário, todo o comando será ignorado.
Machine Translated by Google
A maioria dos bancos de dados que você examinará conterá apenas um número
razoável de registros, portanto, você pode emitir uma
imprime
instrução
todosSELECT
os dados
* ,contidos
que
na tabela. Isso será abordado em detalhes ao longo deste capítulo.
Machine Translated by Google
Embora um exame manual dos arquivos de banco de dados SQLite do iOS seja possível
com o uso de ferramentas gratuitas, a maioria dos examinadores prefere o suporte
comercial antes de pesquisar manualmente os arquivos para exame. A seguir está um
exemplo de como examinar um banco de dados usando SQLite, que está incluído no
Belkasoft Evidence Center.
Para abrir e analisar um banco de dados, basta seguir alguns passos simples, listados
aqui:
banco de dados sms.db aberto com o SQLite Viewer do Belkasoft Evidence Center
Espaço não alocado do banco de dados como visto no SQLite Viewer do Belkasoft Evidence Center
Na captura de tela anterior, você pode ver a consulta sugerida para analisar
os dados das tabelas ABPerson e ABMultiValue .
Machine Translated by Google
Além dos dados da agenda, cada contato pode conter uma imagem associada a ele.
Esta imagem é exibida na tela sempre que o usuário recebe uma chamada de um
determinado contato. Essas imagens podem ser criadas por aplicativos de terceiros que
tenham acesso aos contatos do dispositivo. Muitas vezes, o contato está vinculado a
uma foto de perfil de aplicativo de terceiros. O banco de dados de imagens do catálogo
de endereços pode ser encontrado em
/HomeDomain/Library/AddressBook/AddressBookImages.sqlitedb.
Histórico de chamadas
Chamadas telefônicas ou FaceTime feitas, perdidas e recebidas pelo usuário são registradas no histórico
de chamadas junto com outros metadados, como duração da chamada, data e hora. O banco de dados
do histórico de chamadas pode ser encontrado em /HomeDomain/Library/CallHistoryDB/
CallHistory.storedata. O arquivo CallHistory.storedata foi introduzido com o iOS 8 e está atualmente em
uso no momento da escrita (iOS 13.2).
quando o espaço é necessário, não significa que esses dados sejam excluídos. Está simplesmente nas
páginas gratuitas do arquivo de banco de dados SQLite e pode ser recuperado usando ferramentas
forenses ou manualmente. As colunas mais importantes na tabela ZCALLRECORD são as seguintes:
ZDATE: Esta coluna contém os carimbos de data/hora das chamadas no formato de hora
absoluta do Mac.
ZDURATION: Esta coluna contém a duração das chamadas.
ZLOCATION: Esta coluna contém as localizações dos números de telefone.
ZADDRESS: Esta coluna contém os números de telefone.
ZSERVICE_PROVIDER: Esta coluna contém os provedores de serviços, por exemplo,
Telefone, WhatsApp, Telegrama e assim por diante.
Você pode executar as seguintes consultas no DB4S para analisar o histórico de chamadas.
Depois, você pode exportá-lo para um arquivo .csv , conforme mostrado na captura de tela a
seguir:
Machine Translated by Google
Desta vez, a consulta é bastante simples, pois todas as colunas de interesse estão na mesma tabela.
Observe que usamos datetime para converter registros de data e hora absolutos do Mac em datas
legíveis por humanos.
Machine Translated by Google
O banco de dados SMS contém mensagens de texto e multimídia que foram enviadas e
recebidas pelo dispositivo, juntamente com o número de telefone da parte remota, data e hora
e outras informações da operadora. A partir do iOS 5, os dados do iMessage também são
armazenados no banco de dados do SMS. O iMessage permite que os usuários enviem
mensagens SMS e Multimedia Messaging Service (MMS) por meio de uma rede celular ou
Wi-Fi para outros usuários de iOS ou macOS, fornecendo assim uma alternativa ao SMS. O
banco de dados SMS pode ser encontrado em
/HomeDomain/Library/SMS/sms.db.
Você pode executar as seguintes consultas no DB4S para analisar as mensagens SMS.
Depois, você pode exportá-lo para um arquivo .csv , conforme mostrado na captura
de tela a seguir:
Machine Translated by Google
Eventos do calendário
/HomeDomain/Library/Calendar/Calendar.sqlitedb.
Como você pode ver, a tabela CalendarItem armazena datas no formato de hora absoluta do
Mac, então adicionamos 978307200 para revelar os timestamps reais, com a ajuda da função
datetime .
Machine Translated by Google
Notas
O banco de dados do Notes contém as notas criadas pelo usuário usando o aplicativo Notes
interno do dispositivo . O Notes é o aplicativo mais simples, geralmente contendo as informações
mais sensíveis e confidenciais. O banco de dados do Notes pode ser encontrado em /
HomeDomain/Library/Notes/notes.sqlite.
As tabelas ZNOTE e ZNOTEBODY no arquivo notes.sqlite contêm o título de cada nota, conteúdo,
data de criação, data de modificação e muito mais. Você pode executar as seguintes consultas
para analisar o banco de dados do Notes :
Essa consulta mescla dados de duas tabelas, então usamos ZOWNER de ZNOTEBODY, Z_PK de
ZNOTE e uma cláusula WHERE para fazer isso.
Machine Translated by Google
Além do Safari, outros navegadores podem ser usados para armazenar dados em um
dispositivo iOS. Por esse motivo, recomendamos o uso de uma ferramenta criada para
analisar o histórico da Internet, para garantir que os dados não sejam esquecidos. Boas
ferramentas forenses para resolver essa tarefa são AXIOM da Magnet Forensics, Physical
Analyzer da Cellebrite e algumas outras.
Machine Translated by Google
correio de voz
O banco de dados do correio de voz contém metadados sobre cada correio de voz
armazenado no dispositivo, que inclui o número de telefone do remetente, número de retorno
de chamada, carimbo de data/hora e duração da mensagem, entre outros. As gravações do
correio de voz são armazenadas como arquivos de áudio Adaptive Multi-Rate (AMR) que
podem ser reproduzidos por qualquer media player que suporte o codec AMR (por exemplo,
QuickTime Player). O banco de dados do correio de voz pode ser encontrado em /HomeDomain/
Library/Voicemail/voicemail.db.
Machine Translated by Google
gravações
O banco de dados de gravações contém metadados sobre cada gravação armazenada no
dispositivo, que inclui o carimbo de data/hora, sua duração, sua localização no dispositivo e
muito mais. O banco de dados pode ser encontrado em /MediaDomain/Media/Recordings.
Os metadados podem ser extraídos com a consulta mostrada na captura de tela a seguir:
Como você pode ver na captura de tela anterior, os arquivos reais com gravações são
armazenados no mesmo diretório.
Machine Translated by Google
Interação do dispositivo
Existe um banco de dados SQLite que registra como o usuário interage com
diferentes aplicativos. Esse banco de dados é chamado de interaçãoC.db e está
localizado em /HomeDomain/Library/CoreDuet/People. A tabela ZINTERACTIONS
contém informações sobre se o usuário lê uma mensagem, envia uma mensagem,
realiza uma chamada e assim por diante. Você pode extrair essas informações da
tabela com a consulta mostrada na captura de tela a seguir:
Números de telefone
Você pode obter informações sobre todos os números de telefone utilizados pelo usuário,
mesmo que tenham trocado de telefone e restaurado a partir de um backup, analisando
o arquivo CellularUsage.db localizado em /WirelessDomain/Library/Databases. A consulta
para extrair esses dados é mostrada na captura de tela a seguir:
Como você pode ver, não há apenas números de telefone disponíveis, mas também o
Identificador de Cartão de Circuito Integrado (ICCID) do cartão do Módulo de
Identidade do Assinante (SIM ).
Machine Translated by Google
Listas de propriedades
Os arquivos Plist podem ou não ter uma extensão de arquivo .plist . Para acessar os dados
armazenados nesses arquivos, você precisa de uma ferramenta que possa lê-los. Algumas das
boas ferramentas gratuitas incluem o seguinte:
Você pode visualizar arquivos plist usando o Xcode. O macOS inclui o utilitário de linha de
comando plutil por padrão. Este utilitário de linha de comando pode converter facilmente os
arquivos formatados em binário em arquivos legíveis por humanos. Além disso, a maioria das
ferramentas forenses comerciais inclui grande suporte para analisar arquivos plist.
Como você pode ver, este plist revela as últimas datas de backup local e na nuvem
(no horário absoluto do Mac, é claro), o fuso horário em que foi criado, bem como o
fato de que o backup é criptografado.
Machine Translated by Google
A seguir estão os arquivos plist que contêm dados que podem ser relevantes para sua investigação:
Contém o número
de telefone em
/HomeDomain/Library/Preferences/com.apple.commcenter.shared.plist
usar
Contém
informações
sobre o
endereço de e-
mail usado para o
Apple ID e os
números de
telefone das
/HomeDomain/Library/Preferences/com.apple.identityservices.idstatuscache.plist
pessoas com quem
o usuário interagiu
via
FaceTime ou
iMessage usando
este ID
/HomeDomain/Library/Preferences/com.apple.mobile.ldbackup.plist Contém os
carimbos de data/
hora dos últimos
backups do
iTunes e do
iCloud, o
Machine Translated by Google
último fuso
horário de
backup do iTunes e se
era
criptografado ou
não
Contém a lista
de aplicativos
não utilizados
que foram
/HomeDomain/Library/Preferences/com.apple.MobileBackup.DemotedApps.plist
descarregados
automaticamente
pelo sistema
operacional
Contém a lista
de favoritos do
usuário
/HomeDomain/Library/Preferences/com.apple.mobilephone.speeddial.plist contatos,
incluindo
seus nomes e
números de
telefone
Contém
informações
Contém a lista
de aplicativos
que usam
/RootDomain/Library/Caches/locationd/clients.plist
localização
Serviços
/RootDomain/Library/Preferences/com.apple.MobileBackup.plist Contém
informações
sobre a última
restauração do
backup, incluindo
o
Machine Translated by Google
restaurar início
data, duração
da
transferência
de arquivo,
número de
arquivos
transferidos, dispositivo de origem
Exclusivo
Dispositivo
identificador
(UDID) e
breve
Contém o nome
do dispositivo
/SystemPreferencesDomain/SystemConfiguration/com.apple.mobilegestalt.plist
atribuído pelo
usuário
Contém
informações
sobre pontos
/SystemPreferencesDomain/SystemConfiguration/com.apple.wifi.plist de acesso sem
fio usados pelo
proprietário do
dispositivo
Contém
informações
sobre o número
de telefone do
dispositivo,
operadora de
/WirelessDomain/Library/Preferences/com.apple.commcenter.plist rede,
ICCIDs e
identidades de
assinantes
móveis
internacionais
(IMSIs)
É claro que os arquivos plist não contêm tanta informação quanto os bancos de dados SQLite, mas ainda podem
ser úteis durante seus exames forenses. Em seguida, veremos alguns outros arquivos que
Machine Translated by Google
Além dos arquivos SQLite e plist , vários outros locais podem conter
informações que podem ser valiosas para uma investigação.
dicionário local
Fotos
Miniaturas
Papel de parede
dicionário local
A lista de palavras adicionadas pelo usuário do dispositivo ao dicionário é armazenada em um
arquivo de texto simples LocalDictionary , localizado em /KeyboardDomain/Library/Keyboard/.
Como o arquivo é texto simples, você pode usar seu editor de texto favorito.
Machine Translated by Google
Fotos
As fotos são armazenadas em um diretório localizado em /CameraRollDomain/Media/
DCIM, que contém as fotos tiradas com a câmera integrada do dispositivo, capturas
de tela, selfies, fluxo de fotos, fotos excluídas recentemente e miniaturas que as
acompanham. Alguns aplicativos de terceiros também armazenam fotos tiradas neste
diretório. Cada foto armazenada na pasta DCIM contém dados EXIF ( Exchangeable
Image File Format ). Os dados EXIF armazenados na foto podem ser extraídos
usando o ExifTool, que pode ser baixado em https://sno.phy.queens u.ca/~phil/exiftool/.
Os dados EXIF podem conter informações geográficas quando uma foto é marcada
com a geolocalização do usuário se o usuário tiver ativado as permissões de localização
no dispositivo iOS.
Machine Translated by Google
Miniaturas
Outra fonte de artefatos importantes relacionados a fotos são os arquivos ithmb . Você
pode encontrar esses arquivos em /CameraRollDomain/Media/PhotoData/Thumbnails.
Esses arquivos contêm miniaturas não apenas para fotos reais no dispositivo, mas
também para fotos excluídas. E, claro, existe uma ferramenta para analisar esses
arquivos, o iThmb Converter, que pode ser baixado em http://www.ithmbconverter.com/
en/downlo ad/ e é mostrado na captura de tela a seguir:
Como esses arquivos podem conter miniaturas de fotos excluídas, eles não devem
ser ignorados pelos examinadores forenses. Além do mais, alguns deles contêm
miniaturas bastante grandes, então ficará claro o que foi retratado.
Machine Translated by Google
Papel de parede
Os papéis de parede de fundo atuais definidos para o dispositivo iOS podem ser recuperados
dos arquivos LockBackgroundThumbnail.jpg e LockBackgroundThumbnaildark.jpg encontrados
em /HomeDomain/Library/SpringBoard.
A imagem do papel de parede pode conter informações de identificação sobre o usuário que
podem ajudar no caso de uma pessoa desaparecida ou que podem ser encontradas em um
dispositivo iOS recuperado de uma investigação de roubo.
Machine Translated by Google
Aplicativos baixados
de terceiros
Aplicativos de terceiros baixados e instalados da App Store, incluindo aplicativos
como Facebook, WhatsApp, Viber, Threema, Tango, Skype e Gmail, contêm uma
grande quantidade de informações úteis para uma investigação. Alguns aplicativos de
terceiros usam codificação Base64, que precisa ser convertida para fins de visualização
e criptografia. Aplicativos que criptografam o arquivo de banco de dados podem impedir
que você acesse os dados que residem nas tabelas. A criptografia varia entre esses
aplicativos, com base no aplicativo e nas versões do iOS.
Um arquivo de banco de dados SQLite compreende uma ou mais páginas de tamanho fixo, que são
usadas apenas uma vez. O SQLite usa um layout de árvore B de páginas para armazenar índices e
conteúdo da tabela. Informações detalhadas sobre o layout da árvore B podem ser encontradas em http
s://github.com/NotionalLabs/SQLiteZer/blob/master/_resources/Sqlite_carving_extractA
ndroidData.pdf.
Para esculpir um banco de dados SQLite, você pode examinar os dados em hexadecimal
bruto ou usar sqliteparse.py, um script Python gratuito desenvolvido por Mari DeGrazia. O
script Python pode ser baixado em https://github.com/mdegrazia/SQlite-Deleted-Recor
ds-Parser.
Além disso, executar um dump de strings do arquivo de banco de dados também pode revelar
registros excluídos que podem ter sido perdidos, conforme mostrado no seguinte comando:
$strings notes.sqlitedb
Se você preferir uma GUI, Mari DeGrazia gentilmente criou uma e a colocou em sua
página do GitHub.
Outra ferramenta de código aberto que você pode usar para recuperar registros SQLite
excluídos é o Undark. Você pode baixá-lo aqui: http://pldaniels.com/undark/. Para usar a
ferramenta, execute o seguinte comando:
É importante observar que o Undark não diferencia entre dados atuais e excluídos, portanto,
você obterá todo o conjunto de dados, tanto reais quanto excluídos.
Machine Translated by Google
Resumo
Este capítulo cobriu várias técnicas de análise de dados e especificou os locais para
artefatos comuns no sistema de arquivos do dispositivo iOS. Ao escrever este capítulo,
pretendemos cobrir os artefatos mais populares que se relacionam com a maioria das
investigações. Claramente, é impossível cobrir todos eles. Esperamos que, uma vez que você
aprenda a extrair dados de arquivos SQLite e plist , a intuição e a persistência o ajudem a
analisar os artefatos que não foram abordados.
Lembre-se de que a maioria das ferramentas comerciais e de código aberto são capazes de
extrair dados ativos e excluídos de arquivos de banco de dados comuns, como contatos,
chamadas, mensagens SMS e muito mais, mas geralmente ignoram os arquivos de banco de
dados de aplicativos de terceiros. Nosso melhor conselho é saber como recuperar os dados
manualmente, apenas no caso de você precisar validar suas descobertas ou testemunhar como
sua ferramenta funciona.
Abordamos técnicas para recuperar registros SQLite excluídos que são úteis na maioria das
investigações de dispositivos iOS. Novamente, o método de aquisição, a codificação e os
esquemas de criptografia podem afetar a quantidade de dados que você pode recuperar durante
o exame.
Um examinador como você não deve apenas saber como usar ferramentas forenses,
mas também deve entender os métodos e técnicas de aquisição que são implantados
pelas ferramentas que você usa em suas investigações. Além de economizar tempo,
as ferramentas forenses também facilitam muito o processo de análise forense.
No entanto, cada ferramenta tem suas falhas. Você deve detectar quaisquer erros e
saber como corrigi-los, aproveitando outra ferramenta ou técnica. É impossível para uma
ferramenta suportar todos os dispositivos. Você é responsável por aprender e usar as
melhores ferramentas para concluir o trabalho. Conforme discutimos nos capítulos
anteriores, você deve entender como os dados são armazenados em dispositivos iOS para
garantir que a ferramenta capture todos os dados acessíveis.
Vamos adquirir e analisar dados de um iPhone com iOS 13.2.3. Vamos começar:
Conectando o dispositivo
4. Se você deseja que o backup seja criptografado (recomendado), você pode escolher
esta opção na próxima página:
Machine Translated by Google
5. É hora de escolher onde os dados serão salvos; no nosso caso, é a raiz do drive
D:\:
Machine Translated by Google
Extraindo os dados
Como você já deve ter notado, existem números vermelhos entre colchetes – são registros
excluídos que foram recuperados pelos plug-ins do Physical Analyzer.
Como você já sabe, não é à toa que dados excluídos podem ser recuperados de bancos de
dados SQLite, amplamente utilizados no iOS.
Machine Translated by Google
Falando sobre bancos de dados SQLite, há outro recurso incrível do Physical Analyzer que pode
ser útil para adicionar artefatos personalizados aos seus relatórios forenses móveis e analisar
dados de aplicativos desconhecidos – o assistente SQLite. Você pode encontrá-lo em Ferramentas
| Assistente do SQLite:
2. Certifique-se de ter selecionado a opção Incluir linhas excluídas; isso ajudará você a
recuperar dados automaticamente, mas, é claro, aumentará o
Machine Translated by Google
Portanto, nosso aplicativo é usado para escanear códigos QR e contém quatro colunas de
interesse – data e hora do escaneamento, latitude, longitude e resultado do escaneamento.
Todas as linhas fazem parte de ZSCSCANEVENT:
Machine Translated by Google
4. O modelo genérico servirá para qualquer banco de dados, mas existem alguns
modelos de Analisador Físico existentes que podem ser usados para conteúdo
típico, como Chats ou Contatos. No nosso caso, estamos usando o modelo genérico:
Machine Translated by Google
Escolhendo o modelo
Depois de escolher o modelo e os tipos de campo para a coluna, você pode executar
a consulta e adicionar os novos artefatos analisados à sua extração e, posteriormente,
ao seu relatório.
Machine Translated by Google
3. Existem várias opções para escolher, mas no nosso caso, a opção iOS é a mais
indicada:
5. Nosso dispositivo foi reconhecido e está pronto para a geração de imagens. Se você não vê o seu
dispositivo, use a opção DESCONHECIDO:
Selecionando o dispositivo
6. Existem dois tipos de extração – Rápida e Completa. A opção Completo só estará disponível se o
dispositivo que você deseja adquirir estiver com jailbreak. No nosso caso não é:
7. Você será solicitado a inserir a senha para o backup. Como você deve se lembrar, desta forma,
você pode obter mais dados, por isso é altamente recomendável:
Machine Translated by Google
Criptografando o backup
Detalhes do
processamento O Dynamic App Finder é um recurso Magnet IEF e AXIOM que é capaz de localizar bancos de dados
de aplicativos de bate-papo móveis em potencial localizados em imagens. Você pode ler mais sobre esse recurso em: https://
www.magnetforensics.com/ mobile-forensics/ using-dynamic-app-finder-to-recover-more-mo
bile-artefatos/.
9. Você pode personalizar ARTEFATOS MÓVEIS a partir daqui. Por exemplo, se você
estiver interessado apenas em artefatos de bate-papo, é melhor escolher apenas
esses tipos de artefatos, pois eles reduzirão o tempo de processamento:
12. Uma vez terminada a fase de processamento, você pode encontrar os dados analisados no
Seção MÓVEL do Magnet Examine:
Machine Translated by Google
A seção MÓVEL
Mas, claro, não incluirá tudo; existem outras seções valiosas nas quais você pode
encontrar evidências extraídas do dispositivo iOS, como CHAT, MÍDIA e
DOCUMENTOS.
Machine Translated by Google
Um dos melhores recursos do Belkasoft Evidence Center é sua capacidade de lidar com
backups danificados do iTunes. Portanto, se você possui um backup que nenhuma de suas
ferramentas é capaz de processar, experimente o Belkasoft Evidence Center; de acordo com
nossa experiência, ele irá processá-lo com sucesso.
Machine Translated by Google
2. Existem várias opções aqui - você pode processar uma imagem adquirida
anteriormente, como um backup do iTunes, ou optar por extrair dados de um
dispositivo primeiro. Vamos começar com a aquisição lógica. Escolha a opção Móvel:
Machine Translated by Google
3. Como estamos lidando com um dispositivo iOS, escolha Apple. Você verá uma lista
de dispositivos disponíveis:
Machine Translated by Google
4. Nosso dispositivo não está com jailbreak, então nossa escolha é a aquisição lógica ou o
backup do iTunes:
Machine Translated by Google
Outras guias disponíveis também podem ser úteis - a guia Painel mostra todas as informações
disponíveis sobre o caso em que você está trabalhando no momento, a guia Gerenciador de
tarefas permite monitorar o andamento do processamento e a guia Resultados da pesquisa
mostra os resultados da pesquisa por palavra-chave.
Machine Translated by Google
O Elcomsoft Phone Viewer não oferece suporte à aquisição de dispositivos, mas pode analisar
e ajudá-lo a visualizar os dados que foram extraídos com Elcomsoft iOS Forensic Toolkit, Elcomsoft
Cloud eXtractor ou quase qualquer outra ferramenta capaz de aquisição de dispositivos iOS.
Para explorar uma imagem do sistema de arquivos que foi criada anteriormente com Elcomsoft
iOS Forensic Toolkit, siga estas etapas:
Processo de extração
Artefatos analisados
Agora você pode facilmente visualizar, filtrar e exportar quaisquer dados que
possam ser de interesse para o seu exame – basta clicar no ícone correspondente.
Machine Translated by Google
Resumo
As ferramentas forenses são úteis para um examinador, pois não apenas economizam
tempo, mas também facilitam muito o processo. No entanto, nem todo mundo tem um
orçamento grande o suficiente para comprar ferramentas comerciais para obter a aquisição do
iOS. Embora existam ferramentas gratuitas para aquisição, o suporte pode ser limitado e várias
extrações podem ser necessárias para obter a mesma quantidade de dados que uma ferramenta
comercial.
Para dispositivos com jailbreak, o dispositivo iOS pode ser conectado a uma estação de
trabalho forense para exame ao vivo por meio de SSH, que é como algumas das ferramentas
adquirem os dados necessários. No entanto, este não é um método recomendado para
aqueles que são novos na perícia móvel. Para tais fins, este capítulo apresentou várias
ferramentas forenses disponíveis para iOS e incluiu as etapas que você precisa seguir para
realizar a aquisição e a análise.
Você deve seguir outras etapas para validar e entender cada ferramenta que pode ser
usada como parte de uma investigação. Recomendamos que você adquira dispositivos de
teste com dados conhecidos para garantir que nada seja esquecido, as evidências não tenham
sido alteradas e que os métodos forneçam acesso aos dados de interesse, sempre que possível.
Esta seção abordará tudo o que você precisa saber sobre perícia em dispositivos
Android. Começaremos entendendo a plataforma Android e seu sistema de arquivos e,
em seguida, abordaremos os tópicos de configuração, aquisição/extração e recuperação.
Também veremos malware para Android e como fazer engenharia reversa de aplicativos
Android usando ferramentas de código aberto.
Entendendo o Android
Nos capítulos anteriores, cobrimos detalhes sobre dispositivos iOS, incluindo a estrutura do
sistema de arquivos, artefatos principais, arquivos de backup e métodos de aquisição e análise.
A partir deste capítulo, vamos nos concentrar na plataforma Android e em como realizar análises
forenses em dispositivos Android. Ter um bom entendimento do ecossistema Android, restrições de
segurança, sistemas de arquivos e outros recursos seria útil durante uma investigação forense.
A evolução do Android
A arquitetura do Android
segurança do Android
A hierarquia de arquivos do Android
O sistema de arquivos do Android
Machine Translated by Google
A evolução do Android
Android 11 R 2020
A arquitetura do Android
Para entender efetivamente os conceitos forenses ao lidar com o Android, você deve
ter um conhecimento básico da arquitetura do Android. Assim como um computador,
qualquer sistema de computação que interaja com o usuário e execute tarefas
complicadas requer um sistema operacional para lidar com as tarefas de forma eficaz.
Este sistema operacional (seja um sistema operacional de desktop ou um sistema
operacional de telefone celular) é responsável por gerenciar os recursos do sistema,
para fornecer uma maneira de os aplicativos se comunicarem com o hardware ou
componentes físicos para realizar determinadas tarefas. O Android é atualmente o
sistema operacional móvel mais popular projetado para alimentar dispositivos móveis.
Você pode descobrir mais sobre isso em https://developer.android.c
om/about/android.html.
O Android, como um sistema operacional de código aberto, libera seu código sob
a Licença Apache, uma das muitas licenças de código aberto. Na prática, isso
significa que qualquer pessoa (especialmente fabricantes de dispositivos) pode acessá-
lo, modificá-lo livremente e usar o software de acordo com os requisitos de qualquer
dispositivo. Esta é uma das principais razões para sua ampla aceitação. Jogadores
notáveis que usam Android incluem Samsung, HTC, Sony e LG.
Arquitetura Android
Esta imagem é modificada com base no trabalho criado e compartilhado pelo Android Open
Source Project: https://developer.android.com/guide/platform Licença:
https://creativecommons.org/licenses/by/4.0/
Cada uma dessas camadas executa várias operações que suportam funções
específicas do sistema operacional. Cada camada fornece serviços para as camadas
situadas acima dela. Vamos examiná-los com um pouco mais de detalhes.
Machine Translated by Google
bibliotecas
A próxima camada na arquitetura do Android consiste nas bibliotecas nativas do
Android. As bibliotecas são escritas em C ou C++ e ajudam o dispositivo a lidar
com diferentes tipos de dados. Por exemplo, as bibliotecas SQLite são úteis para
armazenar e recuperar os dados de um banco de dados. Outras bibliotecas incluem
Media Framework, WebKit, Surface Manager e Secure Sockets Library (SSL).
O diagrama a seguir fornece uma visão de como o DVM do Android difere do JVM do
Java:
Machine Translated by Google
ARTE
A partir da versão Android 5.0 Lollipop em diante, Dalvik foi substituído por ART.
Versões anteriores do Android usavam compilação just-in-time (JIT) com Dalvik (as
operações executadas com frequência são identificadas e compiladas dinamicamente
para código de máquina nativo). Essa execução nativa desses bytecodes usados com
frequência, chamados de rastreamentos, fornece melhorias significativas de desempenho.
segurança do Android
Uma explicação detalhada sobre a segurança do Android pode ser encontrada em https:// source.android.com/ securit
s/.
Machine Translated by Google
Kernel seguro
1 2.6.25
1,5 2.6.27
1.6 2.6.29
2.2 2.6.32
2.3 2.6.35
3.0 2.6.36
Machine Translated by Google
4.0 3.0.1
4.1 3.0.31
4.2 3.4.0
4.2 3.4.39
4.4 3.8
5.0 3.16.1
6.0 3.18.1
7,0 4.4.1
8,0 4.10
O kernel do Linux traz automaticamente alguns de seus recursos de segurança inerentes, como
os seguintes, para a plataforma Android:
O modelo de permissão
Conforme mostrado na captura de tela a seguir, qualquer aplicativo Android deve
receber permissões para acessar funcionalidades confidenciais, como internet,
discador e assim por diante, pelo usuário. Isso oferece uma oportunidade para o
usuário saber com antecedência qual funcionalidade do dispositivo está sendo
acessada pelo aplicativo. Simplificando, requer a permissão do usuário para realizar
qualquer tipo de atividade maliciosa (roubar dados, comprometer o sistema e assim
por diante).
Esse modelo ajuda o usuário a evitar ataques, mas se o usuário não souber e
conceder muitas permissões, isso o deixará em apuros (lembre-se: quando se trata
de instalar malware em qualquer dispositivo, o elo mais fraco é sempre o usuário).
Machine Translated by Google
Até o Android 6.0, os usuários precisavam conceder as permissões durante o tempo de instalação.
Os usuários tinham que aceitar todas as permissões ou não instalar o aplicativo.
Machine Translated by Google
Nos sistemas Linux, cada usuário recebe um identificador de usuário exclusivo (UID) e os
usuários são segregados para que um usuário não possa acessar os dados de outro usuário.
No entanto, todos os aplicativos de um determinado usuário são executados com os
mesmos privilégios. Da mesma forma, no Android, cada aplicativo é executado como um
usuário único. Em outras palavras, um UID é atribuído a cada aplicativo e é executado como
um processo separado. Esse conceito garante uma caixa de proteção do aplicativo no nível do kernel.
O kernel gerencia as restrições de segurança entre os aplicativos fazendo uso de conceitos
existentes do Linux, como UID e identificador de grupo (GID). Se um aplicativo tentar fazer
algo mal-intencionado, digamos, ler os dados de outro aplicativo, isso não é permitido, pois o
aplicativo não tem privilégios de usuário. Portanto, o sistema operacional protege um aplicativo
de acessar os dados de outro aplicativo.
Machine Translated by Google
IPC seguro
O Android oferece IPC seguro, por meio do qual uma atividade em um aplicativo pode
enviar mensagens para outra atividade no mesmo ou em um aplicativo diferente. Para
conseguir isso, o Android fornece mecanismos IPC: Intents, Services, Content Providers
e assim por diante. Isso é mais relevante para desenvolvedores que codificam aplicativos
de terceiros para a plataforma Android. Nos bastidores, as ferramentas forenses exploram
alguns desses conceitos para obter acesso às informações do dispositivo.
Machine Translated by Google
Assinatura do aplicativo
É obrigatório que todos os aplicativos instalados sejam assinados digitalmente.
Os desenvolvedores podem colocar seus aplicativos na Play Store do Google somente
após assinar os aplicativos. A chave privada com a qual o aplicativo é assinado é
mantida pelo desenvolvedor. Usando a mesma chave, um desenvolvedor pode fornecer
atualizações para seu aplicativo, compartilhar dados entre os aplicativos e assim por
diante. Aplicativos não assinados, se tentados a serem instalados, serão rejeitados
pelo Google Play ou pelo instalador do pacote no dispositivo Android. No Android 8.0
e superior, os usuários devem navegar até a configuração Instalar aplicativos
desconhecidos para executar aplicativos não assinados, conforme mostrado na captura
de tela a seguir:
Machine Translated by Google
FDE
Com o Android 6.0 Marshmallow, o Google determinou o FDE para a maioria dos
dispositivos, desde que o hardware atenda a determinados padrões mínimos.
Criptografia é o processo de conversão de dados em texto cifrado usando uma chave
secreta. Em dispositivos Android, FDE refere-se ao processo de criptografar todos os
dados do usuário usando uma chave secreta. Essa chave, por sua vez, é criptografada
pelo número de identificação pessoal (PIN)/padrão/senha do dispositivo definido pelo
usuário. Depois que um dispositivo é criptografado, todos os dados criados pelo usuário são
criptografados automaticamente antes de gravá-los no disco, e todas as leituras
descriptografam automaticamente os dados antes de retorná-los ao processo de chamada.
O FDE no Android funciona apenas com um Embedded Multimedia Card (eMMC) e
dispositivos flash semelhantes que se apresentam ao kernel como dispositivos de bloco.
A partir do Android 7.x, o Google decidiu mudar o recurso de criptografia de FDE para
criptografia baseada em arquivo (FBE). No FBE, arquivos diferentes são criptografados
com chaves diferentes. Ao fazer isso, esses arquivos podem ser acessados de forma
independente, sem a necessidade de descriptografar a partição completa. Como resultado,
o sistema agora pode exibir notificações abertas ou acessar arquivos relacionados à
inicialização sem ter que esperar até que o usuário desbloqueie o telefone.
Machine Translated by Google
TE
Um TEE é uma área isolada (normalmente, um microprocessador separado) destinada a
garantir a segurança dos dados armazenados em seu interior e também a executar
código com integridade. O processador principal em dispositivos móveis é considerado
não confiável e não pode ser usado para armazenar dados secretos (como chaves
criptográficas). Portanto, um TEE é usado especificamente para realizar tais operações, e
o software executado no processador principal delega quaisquer operações que exijam o
uso de dados secretos ao processador TEE.
Machine Translated by Google
Inicialização verificada
Vale a pena mencionar novamente que o Android usa o kernel do Linux. Portanto, se
você estiver familiarizado com sistemas semelhantes ao Unix, entenderá muito bem
a hierarquia de arquivos no Android. Para aqueles que não estão muito familiarizados
com o modelo Linux, aqui estão algumas informações básicas: no Linux, a hierarquia
de arquivos é uma única árvore, com o topo da árvore sendo denotado como / (chamado
de raiz ) . Isso é diferente do conceito de organização de arquivos em unidades (como
no Windows). Quer o sistema de arquivos seja local ou remoto, ele estará presente na
raiz.
/ partição do sistema
/partição de dados
segue:
Pseudosistemas de arquivos
através de um log de transações. Muitos usuários reclamam que a Samsung deveria ficar com o EXT4. O RFS é
A seguir estão alguns dos sistemas de arquivos baseados em mídia suportados por
dispositivos Android.
A seguir estão os pontos de montagem que usam EXT4 no celular Samsung Galaxy:
Virtual File Allocation Table (VFAT) é uma extensão dos sistemas de arquivos FAT16
e FAT32. O sistema de arquivos FAT32 da Microsoft é compatível com a maioria dos
dispositivos Android. É suportado por quase todos os principais sistemas operacionais,
incluindo Windows, Linux e macOS. Isso permite que esses sistemas leiam, modifiquem e
excluam facilmente os arquivos presentes na parte FAT32 do dispositivo Android. A maioria
dos cartões SD externos são formatados usando o sistema de arquivos FAT32.
Pseudosistemas de arquivos
Pseudo sistemas de arquivos, como o nome sugere, não são arquivos reais, mas um agrupamento lógico
de arquivos. A seguir estão alguns dos pseudosistemas de arquivos importantes no Android:
O sistema de arquivos raiz (rootfs) é um dos principais componentes do Android e contém todas as
informações necessárias para inicializar o dispositivo. Quando o dispositivo inicia o processo de
inicialização, ele precisa acessar muitos arquivos principais e, portanto, monta o sistema de arquivos
raiz. Conforme mostrado na saída da linha de comando de montagem anterior , esse sistema de
arquivos é montado em / (pasta raiz ).
Portanto, este é o sistema de arquivos no qual todos os outros sistemas de arquivos são
montados lentamente. Se este sistema de arquivos estiver corrompido, o dispositivo não poderá
ser inicializado.
O sistema de arquivos sysfs monta a pasta /sys , que contém informações sobre a configuração do
dispositivo. A saída a seguir mostra várias pastas no diretório sys em um dispositivo Android:
Como os dados presentes nessas pastas estão principalmente relacionados à configuração, isso geralmente
não é muito significativo para um investigador forense. Mas pode haver algumas circunstâncias em que
podemos querer verificar se uma configuração específica foi ativada no telefone e analisar essa pasta pode
ser útil nessas condições.
Machine Translated by Google
Observe que cada pasta consiste em um grande número de arquivos. Capturar esses dados por
meio de aquisição forense é o melhor método para garantir que esses dados não sejam alterados
durante um exame.
Da mesma forma, existem muitos outros arquivos úteis que fornecem informações
valiosas quando você os percorre.
Resumo
Neste capítulo, cobrimos os recursos subjacentes do sistema operacional
Android, sistemas de arquivos e outros detalhes que são úteis em uma
investigação forense. Aprendemos sobre recursos de segurança interessantes
integrados ao Android. Ao contrário do iOS, existem várias variantes do Android,
pois muitos dispositivos executam o sistema operacional Android e cada um pode
ter sistemas de arquivos diferentes e recursos exclusivos. O fato de o Android ser
aberto e personalizável também muda o campo de atuação da perícia digital.
Esse conhecimento será útil para entender as técnicas de aquisição forense.
Configurando um ambiente
forense para Android
Como examinador forense, você pode encontrar uma grande variedade de celulares ao
longo de sua investigação. Portanto, é necessário ter um ambiente básico configurado
sobre o qual você possa construir com base nos requisitos. Também é muito importante que
você mantenha controle total sobre o ambiente o tempo todo para evitar situações
inesperadas. A criação de um ambiente de laboratório adequado é uma parte essencial do
processo forense. A configuração forense do Android geralmente envolve as seguintes
etapas:
Instalando o software
O Android Software Development Kit (SDK) ajuda o mundo do desenvolvimento a
criar, testar e depurar aplicativos para execução no Android. O SDK do Android vem com
o Android Studio, o ambiente de desenvolvimento integrado (IDE) oficial para o
desenvolvimento de aplicativos Android. O Android Studio fornece documentação valiosa
e outras ferramentas que podem ser de grande ajuda durante a investigação de um
dispositivo Android. Como alternativa, você pode baixar apenas as ferramentas da
plataforma, que são componentes do Android SDK e incluem ferramentas que podem
interagir com a plataforma Android, como ADB, inicialização rápida e assim por diante;
estes serão descritos com mais detalhes nas seções a seguir.
Durante uma investigação forense, ter essas ferramentas ajuda você a se conectar e
acessar dados em dispositivos Android. O Android SDK é atualizado com muita frequência,
por isso é importante verificar se sua estação de trabalho também permanece atualizada.
O Android SDK pode ser executado no Windows, Linux e macOS.
Machine Translated by Google
O JDK pode ser baixado em http:// www.oracle.com/ technetwork/ java/ javase/ downloads/ index.html.
3. Clique com o botão direito do mouse e extraia os arquivos ZIP para uma pasta. O local
de instalação é de sua escolha e deve ser lembrado para acesso futuro. Neste exemplo,
vamos extraí-lo para a pasta C:\.
4. Abra o diretório (C:\platform-tools) e observe que as seguintes ferramentas
estão listadas:
Machine Translated by Google
O emulador do Android
Entendendo o Android).
sdcard.img: Esta é a imagem de disco da partição do cartão SD.
Userdata-qemu.img: Esta é a imagem de disco da partição /data . A partição /
data contém informações valiosas sobre o usuário do dispositivo.
Observe que sempre que um dispositivo é conectado a um computador, alterações podem ser
feitas no dispositivo; você deve ter controle total de todas as interações com o dispositivo Android
vezes.
As etapas a seguir devem ser executadas por você para conectar com
êxito o dispositivo a uma estação de trabalho. Observe que a proteção contra
gravação pode impedir a aquisição bem-sucedida do dispositivo, pois os comandos
podem precisar ser enviados ao dispositivo para extrair informações. Todas as etapas
a seguir devem ser validadas em um dispositivo de teste antes de experimentá-las em
evidências reais.
Machine Translated by Google
Coaxial
Tem um orifício circular com um alfinete
espetado no meio. Existem diferentes tamanhos
nesta categoria, variando de 2 a 5 mm de diâmetro.
Amplamente utilizado com modelos Nokia.
Machine Translated by Google
Em seguida, vamos dar uma olhada rápida em como instalar drivers de dispositivo.
Machine Translated by Google
Com alguns telefones Android (especialmente com HTC), o dispositivo pode expor mais
de uma funcionalidade quando conectado com um cabo USB. Por exemplo, conforme
mostrado na captura de tela a seguir, quando um dispositivo HTC é conectado, ele
apresenta um menu com quatro opções. A seleção padrão é Somente carga. Quando
a opção Unidade de disco é selecionada, ela é montada como uma unidade de disco:
Quando o dispositivo estiver montado como uma unidade de disco, você poderá
acessar o cartão SD presente no dispositivo. Do ponto de vista forense, o cartão SD
tem um valor significativo, pois pode conter arquivos importantes para uma investigação;
no entanto, os dados principais do aplicativo armazenados em /data/data permanecerão
no dispositivo e não poderão ser acessados com esses métodos.
Machine Translated by Google
Depuração USB
A principal função desta opção é permitir a comunicação entre o dispositivo Android e a estação
de trabalho na qual o Android SDK está instalado.
Em um telefone Samsung, você pode acessar isso em Configurações | Opções do
desenvolvedor, conforme mostrado na captura de tela a seguir:
Outros telefones Android podem ter diferentes ambientes e recursos de configuração. Você
pode ter que forçar a opção Opções do desenvolvedor acessando
Machine Translated by Google
modo de construção.
No entanto, a partir do Android 4.2, o menu Opções do desenvolvedor está oculto para
garantir que os usuários não o habilitem acidentalmente. Para ativá-lo, vá para
Configurações | Sobre o telefone e toque no campo Número da compilação sete vezes.
Depois disso, as Opções do desenvolvedor estarão disponíveis no menu Configurações.
Antes do Android 4.2.2, ativar essa opção era o único requisito para se comunicar com
o dispositivo por ADB; no entanto, a partir do Android 4.2.2, o Google introduziu a opção
de depuração USB segura. Esse recurso permite apenas que hosts explicitamente
autorizados pelo usuário se conectem ao dispositivo usando ADB.
Assim, ao conectar o dispositivo a uma nova estação de trabalho via USB para acessar
o ADB, é necessário primeiro desbloquear o dispositivo e autorizar o acesso pressionando
OK na janela de confirmação, conforme mostrado na captura de tela a seguir. Se Sempre
permitir deste computador estiver marcado, o dispositivo não solicitará autorização no
futuro:
acesso a todos os dados. Não é recomendável fazer root em um dispositivo para obter acesso
total, a menos que todos os outros métodos forenses falhem. Se você optar por fazer root em um
dispositivo Android, os métodos devem ser bem documentados e testados antes de tentar com
evidências reais. O enraizamento será discutido no final deste capítulo.
Na estação de trabalho em que o Android SDK está instalado, o adbd será executado como
um processo em segundo plano. Além disso, na mesma estação de trabalho, será executado
um programa cliente, que pode ser invocado a partir de um shell emitindo o comando adb .
Quando o cliente adb é iniciado, ele primeiro verifica se um daemon adb já está em
execução. Se a resposta for negativa, ele inicia um novo processo para iniciar o daemon
adb . O programa cliente adb se comunica com o adbd local pela porta 5037.
Machine Translated by Google
C:\android-sdk\platform-tools>adb.exe kill-server
Depois de matar o serviço adb local , emita o comando adb devices. Você verá que o
servidor é iniciado, conforme mostrado na captura de tela a seguir:
A seguir está o comando para acessar o shell adb e executar um comando ls básico
para ver o conteúdo do diretório atual:
....
O emulador do Android pode ser usado por você para executar e entender
comandos adb antes de usá-los no dispositivo. No Capítulo 9, Técnicas de
extração de dados do Android, explicaremos mais sobre como aproveitar o adb para
instalar aplicativos, copiar arquivos e pastas do dispositivo, visualizar logs do dispositivo e
breve.
Machine Translated by Google
shell@android:/ $ ls -l ls -l
drwxr-xr-x root drwxrwx---
cache do sistema dr-x------ root
raiz 17/01/2015 10:13 conta
lrwxrwxrwx root 31-05-2014 14:55 cache
raiz 17/01/2015 10:13 configuração
raiz 17/01/2015 10:13 d ->
/sys/kernel/debug
drwxrwx--x system system -rw-r--r-- 17/01/2015 10:13 dados
root root drwxr-xr-x root rootdrwxrwx-- 116 1970-01-01 05:30 default.prop 2015-01-17
x radio lrwxrwxrwx root 10:13 dev 2013-08-13 09:34 efs
raiz do 2015-01-17 10:13 etc -> /system/etc
sistema
...
Da mesma forma, a seguir estão algumas opções que podem ser usadas junto com o comando
ls:
Opção Descrição
Dependendo dos requisitos, uma ou mais das seguintes opções podem ser usadas pelo
investigador para visualizar os detalhes:
Para combinar vários arquivos em um, podemos usar o operador > . Para anexar
a um arquivo existente, podemos usar o operador >>.
shell@android:/ $ cd /sistema cd /
sistema
Machine Translated by Google
shell@android:/ sistema $
cp: O comando
cp pode ser usado para copiar um arquivo de um local para outro. A sintaxe desse
comando é a seguinte:
$ cp [opções] <fonte><destino>
chmod: O comando chmod é usado para alterar as permissões de acesso aos objetos do sistema de
arquivos (arquivos e diretórios). Também pode alterar sinalizadores de modo especial. A sintaxe desse
comando é a seguinte:
dd if=/test/file of=/sdcard/sample.image
rm: O comando rm pode ser usado para excluir arquivos ou diretórios. A seguir está a sintaxe
rm file_name
grep: O grep comando é usado para pesquisar arquivos ou saída para um determinado
pwd: O comando pwd exibe o diretório de trabalho atual. Por exemplo, a seguinte saída de linha
de comando mostra que o diretório de trabalho atual é /system:
exit: O comando exit pode ser usado para sair do shell em que você está.
Basta digitar exit no shell para sair dele.
A seguir, veremos como lidar com um dispositivo Android de forma eficiente antes
da investigação.
Machine Translated by Google
Quando um dispositivo Android a ser analisado for acessado pela primeira vez, verifique
se o dispositivo ainda está ativo (desbloqueado). Nesse caso, altere as configurações do
dispositivo para permitir maior acesso ao dispositivo. Quando o dispositivo ainda estiver ativo,
considere executar as seguintes tarefas:
telefone Galaxy S3, você pode acessar essa configuração navegando para
Configurações | Exibição | ScreenTimeout.
Todas essas etapas podem ser executadas quando o dispositivo Android não
estiver bloqueado; no entanto, durante a investigação, geralmente encontramos dispositivos
bloqueados. Portanto, é importante entender como ignorar o código de bloqueio se ele
estiver ativado em um dispositivo Android.
Machine Translated by Google
A seção a seguir detalha algumas técnicas que você pode usar para ignorar esses
mecanismos de bloqueio do Android. Dependendo da situação, essas técnicas podem
ajudar um investigador a contornar o bloqueio de tela.
Machine Translated by Google
shell adb.exe
cd /data/sistema rm gesto.chave
Este método funciona quando o dispositivo está enraizado. Este método pode não ser bem-sucedido
em dispositivos não rooteados. O enraizamento de um dispositivo Android não deve ser realizado sem a
devida autorização, pois o dispositivo está alterado.
Machine Translated by Google
Assim que o protocolo estiver ativado no dispositivo, ele aceitará um conjunto específico de
comandos que são enviados a ele por meio do cabo USB usando uma linha de comando.
Atualizar ou reescrever uma partição com uma imagem binária armazenada no computador é
um desses comandos permitidos. Assim que a recuperação for iniciada, inicialize o dispositivo
no modo de recuperação, monte as partições /data e /system e use adb para remover o arquivo
gesto.chave . Reinicie o telefone e você poderá ignorar o bloqueio de tela; no entanto, isso
funciona apenas se o carregador de inicialização do dispositivo estiver desbloqueado. Além
disso, piscar altera permanentemente o dispositivo. Em vez de piscar, você pode usar o comando
fastboot boot para inicializar uma imagem de recuperação temporariamente para excluir o
arquivo de chave sem alterar permanentemente a partição de recuperação.
Machine Translated by Google
Existem várias soluções automatizadas disponíveis no mercado para desbloquear dispositivos Android.
Ferramentas comerciais, como Cellebrite e XRY, são capazes de contornar os bloqueios de tela, mas a
maioria delas exige que a depuração USB seja habilitada. Vamos agora examinar como desbloquear um
dispositivo Android usando a ferramenta de recuperação de código de bloqueio de usuário UFED. Esta
ferramenta funciona apenas nos dispositivos que suportam USB OTG. Esse processo também requer uma
câmera UFED, cabo nº 500-Bypass lock e cabo nº 501-Bypass lock. Depois que a ferramenta estiver
instalada na estação de trabalho, siga as etapas a seguir para desbloquear o dispositivo Android:
2. Agora, conecte o lado A do Cabo No. 500-Bypasslock a uma porta USB da estação de trabalho.
Além disso, conecte o lado B do Cabo No. 500-Bypasslock ao
Machine Translated by Google
A maioria dos telefones Android mais recentes vem com um serviço chamado Android
Device Manager, que ajuda o proprietário de um dispositivo a localizar o telefone perdido.
Este serviço também pode ser usado para desbloquear um dispositivo; no entanto, isso só
é possível quando você conhece as credenciais da conta do Google configuradas no
dispositivo. Se você tiver acesso às credenciais da conta, siga estas etapas para desbloquear
o dispositivo:
Isso pode ser feito sem conhecer as credenciais do computador no qual o login foi
salvo (ou seja, o PC do suspeito).
Machine Translated by Google
ataque de manchas
Em casos raros, um ataque de manchas pode ser usado para deduzir a senha de um
dispositivo móvel com tela sensível ao toque. Este ataque se baseia na identificação
das manchas deixadas pelos dedos do usuário. Embora isso possa representar um método
de desvio, deve-se dizer que é improvável que um ataque de manchas funcione, já que a
maioria dos dispositivos Android é touchscreen e manchas também estarão presentes ao
usar o dispositivo; no entanto, foi demonstrado que, sob iluminação adequada, as manchas
deixadas para trás podem ser facilmente detectadas, conforme mostrado na captura de
tela a seguir.
Toque nesse link e faça login usando o nome de usuário e a senha do Gmail. Isso
permitirá que você crie um novo padrão de bloqueio ou senha para o dispositivo.
Observe que isso funciona apenas em dispositivos com Android 4.4 ou anterior.
Machine Translated by Google
Quando estiver no modo de segurança, você pode desativar o aplicativo de tela de bloqueio de
terceiros ou desinstalá-lo completamente. Depois disso, reinicie o dispositivo e você poderá
acessá-lo sem nenhuma tela de bloqueio.
Machine Translated by Google
4. Uma vez conectado ao dispositivo através do adb, tente ignorar a tela de bloqueio
usando o seguinte comando:
A seguir, vamos ver como contornar o bloqueio de tela travando a tela de bloqueio.
Machine Translated by Google
3. Repita este processo para adicionar mais caracteres. Faça isso até que o campo
não destaque mais os caracteres ao tocar duas vezes.
4. Volte para a tela de bloqueio e abra o atalho da câmera. Agora, abra a tela de
notificações e toque no ícone Configurações. Em seguida, você será solicitado a
inserir uma senha.
Outras técnicas
Todas as técnicas mencionadas e ferramentas comerciais disponíveis são úteis
para qualquer examinador forense, como você, tentando obter acesso aos dados em
um dispositivo Android; no entanto, pode haver situações em que nenhuma dessas
técnicas funcione. Para obter uma imagem física completa do dispositivo, técnicas
como chip-off e JTAG podem ser necessárias quando as soluções comerciais e de
código aberto falham. Uma breve descrição dessas técnicas está incluída aqui.
As técnicas de chip-off e JTAG requerem extensa pesquisa e experiência para serem tentadas em
um dispositivo real. Um ótimo recurso para JTAG e chip-off em dispositivos pode ser encontrado
em https:// forensicswiki.xyz/ page/ Main_Page.
Machine Translated by Google
O que é enraizamento?
A conta administrativa padrão em sistemas operacionais do tipo Unix é chamada root. No Linux,
o usuário root tem o poder de iniciar/interromper qualquer serviço do sistema, editar/excluir
qualquer arquivo, alterar os privilégios de outros usuários e assim por diante. Já aprendemos que
o Android usa o kernel do Linux e, portanto, a maioria dos conceitos do Linux também se aplica ao
Android; no entanto, a maioria dos telefones Android não permite que você faça login como usuário
root por padrão.
Fazer root em um telefone Android é obter acesso ao dispositivo para executar ações que
normalmente não são permitidas no dispositivo. Os fabricantes desejam que os dispositivos
funcionem de uma determinada maneira para usuários normais. Enraizar um dispositivo pode
anular a garantia, pois o uso de root abre o sistema para vulnerabilidades e fornece ao usuário
recursos de superusuário.
Imagine um aplicativo malicioso obtendo acesso a todo um sistema Android com acesso root.
Lembre-se de que, no Android, cada aplicativo é tratado como um usuário separado e recebe um
UID. Isso significa que os aplicativos têm acesso a recursos limitados e o conceito de isolamento
de aplicativos é aplicado. Essencialmente, fazer root em um dispositivo Android permite recursos
de superusuário e fornece acesso aberto ao dispositivo Android.
Para simplificar, imagine que um dispositivo Android tenha de três a quatro partições,
que executam programas não totalmente relacionados ao Android (o Android é um deles).
Isso também significa que o root desses dispositivos Android será extremamente difícil
porque o rooting envolve ajustes no sistema operacional Android. O Marshmallow foi a
primeira versão do Android a fornecer alertas sobre a integridade do sistema, mas desde
o Android 7.x, isso se tornou obrigatório.
Machine Translated by Google
Veremos agora os diferentes métodos disponíveis para fazer root em um dispositivo Android. O
principal fator que influencia sua escolha de método é se o carregador de inicialização subjacente está
bloqueado ou desbloqueado. Obter acesso root em um dispositivo com um gerenciador de inicialização
desbloqueado é muito fácil, enquanto obter acesso root a um dispositivo com um gerenciador de
inicialização bloqueado não é tão simples, o que significa que desbloquear o gerenciador de inicialização
do seu telefone Android geralmente é o primeiro passo para fazer o root e personalizar o flash. ROMs. Isso
pode ser feito por meio do modo de inicialização rápida (discutido nas seções anteriores) ou seguindo um
procedimento de desbloqueio do carregador de inicialização específico do fornecedor. Depois que o
carregador de inicialização do dispositivo for desbloqueado, a próxima etapa é copiar o binário su e
conceder a ele permissões executáveis. Isso pode ser feito de várias maneiras.
Ele permite que as restrições impostas ao dispositivo por operadoras, fabricantes e assim
por diante sejam contornadas.
Para personalização extrema, novas ROMs personalizadas podem ser
baixadas e instaladas.
O enraizamento de um dispositivo deve ser feito com extremo cuidado, pois erros podem
resultar em danos irreparáveis ao software do telefone, transformando o dispositivo em
um tijolo inútil.
O enraizamento pode anular a garantia de um dispositivo.
O enraizamento resulta em maior exposição a malware e outros ataques.
Malware com acesso a todo o sistema Android pode causar estragos.
Em um telefone com root, você pode executar o shell adb como root emitindo o seguinte
comando:
C:\android-sdk\platform-tools>adb.exe root
Assim, fazer root em um telefone permite que você acesse pastas e dados que de
outra forma não seriam acessíveis. Observe também que # simboliza acesso root ou
superusuário, enquanto $ reflete um usuário normal, conforme mostrado nas linhas de
comando anteriores.
Machine Translated by Google
O Android 7.0 (Nougat) e versões posteriores oferecem suporte à criptografia baseada em arquivo
(FBE), que permite a criptografia de diferentes arquivos com diferentes chaves. Para um investigador
forense como você, é importante observar que não é possível aplicar uma raiz permanente a um
dispositivo habilitado para FBE para fins de aquisição. Em vez disso, é recomendável usar uma
metodologia de recuperação personalizada, porque a partição de recuperação é executada com privilégios de root.
Machine Translated by Google
Resumo
Neste capítulo, aprendemos como configurar uma estação de trabalho forense
adequada antes de realizar investigações em um dispositivo Android. Comece com uma
estação de trabalho forense estéril que tenha o software básico necessário e os drivers
de dispositivo instalados. Se o método de aquisição forense exigir que o dispositivo
Android seja desbloqueado, você precisará determinar o melhor método para obter
acesso ao dispositivo. Se o dispositivo tiver o recurso de depuração USB ativado, ignorar
o bloqueio de tela é apenas uma moleza. Aprendemos sobre as várias técnicas de desvio
de bloqueio de tela e ajudamos você a determinar qual delas usar em diferentes
circunstâncias. Dependendo do método de aquisição forense e do escopo da investigação,
fazer root no dispositivo deve fornecer acesso completo aos arquivos presentes no
dispositivo.
Também aprendemos sobre o root e como ele pode ser usado para obter acesso
completo ao sistema de arquivos do dispositivo e executar ações que normalmente não
são permitidas.
Este capítulo irá ajudá-lo a identificar os locais sensíveis presentes em um dispositivo Android
e explicar várias técnicas lógicas e físicas que podem ser aplicadas ao dispositivo para extrair as
informações necessárias.
Alguns métodos podem exigir que o dispositivo seja rooteado para acessar totalmente os
dados. Cada método tem implicações diferentes e suas taxas de sucesso dependerão da ferramenta
e do método usados, bem como da marca e modelo do dispositivo.
Machine Translated by Google
A principal desvantagem desse tipo de exame é que apenas os arquivos acessíveis por
meio do sistema operacional (no modo UI) podem ser investigados. Deve-se ter cuidado
ao examinar manualmente o dispositivo, pois é fácil pressionar o botão errado e apagar
ou adicionar dados. A extração manual deve ser usada como último recurso para verificar
os achados extraídos usando um dos outros métodos.
Certas circunstâncias podem justificar a realização de um exame manual como primeiro
passo. Isso pode incluir casos de vida ou morte ou pessoas desaparecidas, onde uma
varredura rápida do dispositivo pode levar a polícia ao indivíduo.
Machine Translated by Google
Para acessar um dispositivo Android através do adb, a opção de depuração USB deve estar
habilitada. A partir do Android 4.2.2, devido à depuração USB segura, o host que se conecta ao
dispositivo também deve ser autorizado. Se o dispositivo estiver bloqueado e a depuração USB não
estiver habilitada, tente ignorar o bloqueio de tela usando as técnicas explicadas no Capítulo 8,
Configuração forense do Android e técnicas de pré-extração de dados.
Como examinador forense, é importante que você saiba como os dados são armazenados no
dispositivo Android e entenda onde informações importantes e confidenciais são armazenadas para
que os dados possam ser extraídos adequadamente.
Os dados do aplicativo geralmente contêm uma grande quantidade de dados do usuário que podem
ser relevantes para a investigação. Todos os arquivos pertencentes a aplicativos de interesse devem
ser examinados quanto à relevância, conforme explicado no Capítulo 10, Análise e recuperação de
dados do Android. Os dados do aplicativo podem ser armazenados em um dos seguintes locais:
presentes em um arquivo SQLite podem ser visualizados usando o navegador SQLite (http s://
sourceforge.net/projects/sqlitebrowser/) ou executando os comandos SQLite necessários nos
respectivos arquivos.
Todo aplicativo Android armazena dados no dispositivo usando uma ou mais das opções de armazenamento de
dados anteriores. Portanto, o aplicativo Contatos armazenaria todas as informações sobre os detalhes do contato
na pasta /data/data sob o nome do pacote. Observe que /data/data faz parte do armazenamento interno do seu
dispositivo, onde todos os aplicativos são instalados em circunstâncias normais. Alguns dados do aplicativo
residirão no cartão SD e na partição /data/data .
Usando adb, podemos extrair os dados presentes nesta partição para análise posterior usando o comando
adb pull . Mais uma vez, é importante observar que esse diretório só pode ser acessado em um telefone com
root.
Da mesma forma, em um telefone com root, toda a pasta /data pode ser extraída dessa maneira.
Conforme mostrado na captura de tela a seguir, o diretório /data completo
Machine Translated by Google
datas e horários do conteúdo. Você deve fazer uma cópia da saída original
para usar para uma comparação de data/hora.
Machine Translated by Google
O SQLite Browser é uma ferramenta que pode ajudar durante a análise dos
dados extraídos. O SQLite Browser permite explorar arquivos de banco de dados
com as seguintes extensões: .sqlite, .sqlite3, .sqlitedb, .db e .db3. A principal
vantagem de usar o SQLite Browser é que ele mostra os dados em forma de tabela.
Navegue até Arquivo | Abrir banco de dados para abrir um arquivo .db usando o navegador
SQLite. Conforme mostrado na captura de tela a seguir, existem três guias principais: Estrutura
do banco de dados, Procurar dados e Executar SQL. A guia Browse Data permite que você
veja as informações presentes em diferentes tabelas dentro dos arquivos .db .
Navegador SQLite
# cat build.prop
O arquivo build.prop
1. Conforme mostrado na captura de tela a seguir, usando o comando adb pull , os arquivos .db
necessários podem ser extraídos para uma pasta na estação de trabalho forense:
2. Observe que os aplicativos usados para fazer chamadas podem armazenar os detalhes do registro de
chamadas na respectiva pasta do aplicativo. Todos os aplicativos de comunicação devem ser examinados
quanto aos detalhes do registro de chamadas, como segue:
3. Agora, abra o arquivo contacts2.db usando o SQLite Browser (navegando até File | Open
Database) e navegue pelos dados presentes em diferentes tabelas. A tabela de chamadas
presente no arquivo contacts2.db fornece informações sobre o histórico de chamadas. A captura
de tela a seguir destaca o histórico de chamadas junto com o nome, número, duração e data:
Em dispositivos com Android 7.0 (Nougat), os dados do registro de chamadas foram removidos do
arquivo contacts2.db . Nesses dispositivos, os dados do registro de chamadas podem ser acessados em
/data/com.android.providers.contacts/databases/calllog.db
Machine Translated by Google
Extraindo SMS/MMS
Durante uma investigação, você pode ser solicitado a recuperar as mensagens de texto que
foram enviadas e entregues a um determinado dispositivo móvel.
Portanto, é importante entender onde os detalhes são armazenados e como acessar os dados.
O arquivo mmssms.db , que está presente em /data/data/com.android.providers.telephony/
databases, contém os detalhes necessários. Assim como nos logs de chamadas, você deve
garantir que os aplicativos capazes de enviar mensagens sejam examinados para logs de
mensagens relevantes usando o seguinte comando:
Extraindo informações do
histórico do navegador
Vários detalhes abordados na seção anterior não são armazenados no dispositivo se o modo de
navegação anônima do navegador for usado. A seguir, analisaremos redes sociais e bate-papos
de mensagens instantâneas.
Machine Translated by Google
-f: Isto é usado para escolher onde o arquivo de backup será armazenado. Se
não especificado, o padrão é backup.ab no diretório de trabalho atual. [-apk|
noapk]: Isso é usado para escolher se deseja ou não fazer backup do
arquivo .apk . O padrão é -noapk. [-obb|-noobb]: Isso é usado para escolher se
deseja ou não fazer backup dos arquivos .obb (expansão do APK). O padrão é
-noobb. [-shared|-noshared]: Isso é usado para escolher se deseja ou não fazer
backup dos dados do armazenamento compartilhado e do cartão SD. O padrão
é -noshared. [-all]: Isso inclui todos os aplicativos para os quais os backups estão
ativados. [-system|-nosystem]: Isso é usado para escolher se deseja ou não
incluir aplicativos do sistema. O padrão é -system. [<pacotes>]: Isso é usado
para listar um nome de pacote específico para backup.
Depois que o dispositivo estiver conectado à estação de trabalho e o adb puder acessá-lo,
execute o comando adb backup -shared -all, conforme mostrado na captura de tela a seguir:
Machine Translated by Google
aplicativo, portanto, certifique-se de que o Java esteja instalado na estação de trabalho antes de usar a
ferramenta. Para converter o arquivo de backup em formato .tar , emita o seguinte comando:
Isso criará automaticamente um arquivo com a extensão .tar , que pode ser visualizado facilmente usando
ferramentas de arquivamento como WinRAR ou 7Zip. No entanto, observe que, se a senha foi digitada no
dispositivo quando o backup foi criado, o arquivo será criptografado e, portanto, você precisará fornecer a
senha como argumento no comando anterior. O arquivo de backup contém duas pastas principais — apps e
shared. As informações que estão presentes em /data/data para os aplicativos incluídos no backup. A pasta
compartilhada contém todos os dados presentes no cartão SD. a pasta contém todos os
aplicativos
Machine Translated by Google
A análise de determinados serviços dumpsys , como Wi-Fi, usuário e notificação, pode ser
útil em determinados cenários. Aqui estão alguns dos casos interessantes em que executar
o comando dumpsys pode ser útil durante a análise forense:
O serviço dumpsys iphonesubinfo pode ser usado para obter informações sobre um dispositivo
ID ou o número IMEI, conforme mostrado na captura de tela a seguir:
Machine Translated by Google
O serviço wi-fi dumpsys fornece informações sobre os pontos Wi-Fi acessados pelo usuário.
Mostra os SSIDs das conexões que foram salvas. Essas informações podem ser usadas
para localizar o usuário em um determinado local. Aqui está o comando adb dumpsys , que
fornece esta informação:
Observe que em relação à data 20160201, android: 0 vezes indica que nenhum aplicativo foi
usado. Mas para Date: 20160131, android: 1 vezes confirma que um aplicativo foi usado e as
seções posteriores fornecem mais detalhes sobre qual aplicativo foi usado e assim por diante.
Dependendo do caso que está sendo investigado, o analista forense precisa descobrir
se algum dos comandos dumpsys pode ser útil. A execução de um comando dumpsys
imediatamente após a apreensão de um dispositivo pode ser extremamente útil mais tarde. Ao
executar o comando adb shell dumpsys , você pode registrar todas as informações do serviço
dumpsys .
Machine Translated by Google
No Android, os dados de um aplicativo não podem ser acessados por outro aplicativo
em circunstâncias normais. No entanto, o Android fornece um mecanismo através do
qual os dados podem ser compartilhados com outros aplicativos. Isso é alcançado precisamente
por meio do uso de provedores de conteúdo. Os provedores de conteúdo apresentam dados
para aplicativos externos na forma de uma ou mais tabelas. Essas tabelas não são diferentes
das tabelas encontradas em um banco de dados relacional. Eles podem ser usados por
aplicativos para compartilhar dados, geralmente por meio do esquema de endereçamento URI.
Eles são usados por outros aplicativos que acessam o provedor usando um objeto provedor-
cliente. Durante a instalação de um aplicativo, o usuário determina se o aplicativo pode ou não
obter acesso aos dados solicitados (provedores de conteúdo). Por exemplo, contatos, SMS/
MMS e um calendário são exemplos de provedores de conteúdo.
Assim, aproveitando isso, podemos criar um aplicativo que pode obter todas as informações
de todos os provedores de conteúdo disponíveis. É exatamente assim que a maioria das
ferramentas forenses comerciais funcionam. A vantagem desse método é que ele pode ser
usado em dispositivos com e sem root. Para o nosso exemplo, utilizamos o AFLogical, que
aproveita o mecanismo do provedor de conteúdo para obter acesso às informações. Esta
ferramenta extrai os dados e os salva em um cartão SD no formato CSV. As etapas a seguir
extraem as informações de um dispositivo Android usando o AFLogical Open Source Edition
1.5.2:
No entanto, observe que a instalação de aplicativos de terceiros deve ser permitida (selecionando a
opção Fontes desconhecidas) no dispositivo para que isso funcione. Outras ferramentas que podem
ajudar durante uma investigação para extrair dados logicamente serão abordadas no Capítulo 11, Análise
de aplicativos Android, malware e engenharia reversa.
Esta seção cobriu várias técnicas de aquisição lógica. Veremos agora as técnicas de
extração de dados físicos.
Machine Translated by Google
Com um dispositivo Android, todas as áreas que contêm dados não podem ser removidas
facilmente. Além disso, se o dispositivo estiver ativo no momento de recebê-lo para exame,
não é possível analisar o dispositivo sem fazer alterações nele, pois qualquer interação
alteraria o estado do dispositivo.
O Android, por padrão, não fornece acesso a diretórios internos e arquivos relacionados
ao sistema. Este acesso restrito é para garantir a segurança do dispositivo. Por exemplo,
a pasta /data/data não pode ser acessada em um dispositivo não rooteado. Essa pasta é
especialmente interessante para nós porque armazena a maioria dos dados criados pelo
usuário e muitos aplicativos gravam dados valiosos nessa pasta.
Portanto, para obter uma imagem do dispositivo, precisamos fazer root no dispositivo Android.
Fazer root em um dispositivo nos dá privilégios de superusuário e acesso a todos os dados.
É importante perceber que este livro tem enfatizado que todas as etapas tomadas devem ser
forenses e não devem fazer alterações no dispositivo sempre que possível. Fazer root em
um dispositivo Android fará alterações nele e deve ser testado em qualquer dispositivo que
você não tenha investigado anteriormente. O enraizamento é comum para dispositivos
Android, mas obter acesso root pode alterar o dispositivo de uma maneira que torne os dados
alterados ou, pior ainda, apagados. Alguns dispositivos Android, como o Nexus 4 e 5, podem
forçar a limpeza da partição de dados antes de permitir o acesso root. Isso elimina a
necessidade de fazer root no dispositivo para obter acesso porque todos os dados do usuário
são perdidos durante o processo. Lembre-se de que, embora o root forneça acesso a mais
dados quando feito com sucesso, ele também pode apagar dados ou destruir o telefone.
Portanto, você deve garantir que tenha consentimento ou direitos legais para manipular um
dispositivo Android antes de prosseguir com a raiz. Como as técnicas de root foram discutidas
no Capítulo 8, Configuração forense do Android e técnicas de pré-extração de dados,
continuaremos com o exemplo assumindo que o dispositivo está rooteado.
Veja a seguir um processo passo a passo para obter uma imagem forense de um
dispositivo Android com root:
2. Assim que o acesso adb estiver pronto, as partições podem ser adquiridas do
dispositivo Android usando as seguintes etapas:
Machine Translated by Google
dd if=/dev/block/mmcblk0p12 of=/sdcard/tmp.image
O comando anterior criará uma imagem bit a bit do arquivo mmcblk0p12 (partição de dados) e
copiará o arquivo de imagem para um cartão SD. Feito isso, o arquivo de imagem dd pode ser
analisado usando o software forense disponível.
Você deve garantir que o cartão SD tenha espaço de armazenamento suficiente para conter a imagem da
partição de dados. Outros métodos estão disponíveis para adquirir dados de dispositivos com root.
Se a imagem não puder ser gravada diretamente no cartão SD, você poderá usar o comando netcat
para gravar a saída diretamente na máquina. A ferramenta netcat é uma ferramenta baseada em
Linux usada para transferir dados por uma conexão de rede.
Os dispositivos Android geralmente não vêm com o netcat instalado. Vamos ver como usar esse
comando nas etapas a seguir:
1. Para verificar se o netcat está instalado, basta abrir o shell ADB e se ele retornar dizendo
manualmente
queno
ncdispositivo.
não foi encontrado,
Você pode
o netcat
baixarterá
o netcat
que ser
compilado
do tipo nc.
parainstalado
Android em
https://sourceforge.net/projects/androidforensics-netcat/files/.
chomd +x /dev/Case_Folder/nc
4. Abra duas janelas do Terminal com o shell ADB aberto em uma delas.
O outro será usado para ouvir os dados enviados do dispositivo.
Agora, precisamos habilitar o encaminhamento de porta por ADB do seu
computador:
9999 é a porta que escolhemos usar para netcat; pode ser qualquer número de porta arbitrário entre
1023 e 65535 em um sistema Linux ou Mac (1023 e abaixo são
Machine Translated by Google
Visualização WinHex do modo de edição (esquerda) e modo somente leitura WinHex ativado (direita)
3. Calculando o valor de hash: Calcule o valor de hash do cartão de memória para garantir
que nenhuma alteração seja feita em nenhum ponto durante a investigação. Navegue
até Ferramentas | Calcule o hash e escolha qualquer algoritmo de hash.
4. Criando a imagem do disco: Navegue até Arquivo | Crie uma imagem de disco, conforme
mostrado na captura de tela a seguir. Selecione a opção de imagem bruta (.dd) para criar
uma imagem. Isso conclui a geração de imagens do cartão de memória:
Machine Translated by Google
Uma vez que uma imagem forense é obtida usando qualquer um dos métodos descritos anteriormente,
ela precisa ser analisada para extrair as informações relevantes. Existem várias ferramentas comerciais, como
Cellebrite e XRY, que podem analisar arquivos de imagem. A análise de imagens do Android é abordada em
Joint Test Action Group (JTAG) envolve o uso de métodos avançados de aquisição de
dados, que envolvem a conexão a portas específicas no dispositivo e a instrução do
processador para transferir os dados armazenados no dispositivo. Usando este método, uma
imagem física completa de um dispositivo pode ser adquirida. É sempre recomendável
experimentar primeiro as outras técnicas mencionadas anteriormente, pois são fáceis de
implementar e exigem menos esforço. Um analista deve ser experiente e devidamente
treinado antes de tentar o JTAG, pois o dispositivo pode ser danificado se não for manuseado
adequadamente.
A configuração do JTAG
Após a conclusão das etapas anteriores, a energia deve ser aplicada para inicializar a
CPU. A tensão que deve ser aplicada depende das especificações divulgadas pelo
fabricante do hardware. Não aplique uma tensão além do número fornecido na
especificação.
JTAG pode parecer complicado (talvez seja), mas serve a muitos propósitos úteis e três
vantagens estão listadas aqui:
A principal vantagem dessa técnica é que ela funciona mesmo que o dispositivo não esteja
ligado.
Não requer root, ADB ou depuração USB.
Ele pode ser usado para recuperar PINs/senhas do dispositivo e, portanto, pode criar
imagens de toda a memória flash e recuperar/quebrar arquivos de senha.
Machine Translated by Google
A técnica do chip-off
Chip-off, como o nome sugere, é uma técnica em que os chips flash NAND são removidos do
dispositivo e examinados para extrair informações. Portanto, essa técnica funcionará mesmo
quando o dispositivo estiver protegido por senha e a depuração USB não estiver habilitada. Ao
contrário da técnica JTAG, onde o dispositivo funciona normalmente após o exame, a técnica do
chip-off geralmente resulta na destruição do dispositivo, ou seja, é mais difícil reconectar o flash
NAND ao dispositivo após o exame. O processo de reconectar o flash NAND ao dispositivo é
chamado de reballing e requer treinamento e prática.
Técnica de chip-
off Fonte: http://www.binaryintel.com/services/jtag-chip-off-forensics/chip-off_forensics/
3. Este é um processo muito delicado e deve ser feito com muito cuidado, pois
pode resultar em danos ao flash NAND.
4. O chip é então limpo e reparado para garantir que os conectores estejam presentes e
funcionando.
5. Usando adaptadores de dispositivos de hardware especializados, o chip agora pode ser lido.
Isso é feito inserindo o chip no dispositivo de hardware, que
Machine Translated by Google
suporta o chip flash NAND específico. Nesse processo, os dados brutos são
adquiridos do chip, resultando em um arquivo .bin .
6. Os dados adquiridos agora podem ser analisados usando técnicas forenses e
as ferramentas descritas anteriormente.
A técnica de chip-off é mais útil quando um dispositivo está danificado gravemente, bloqueado
ou inacessível. No entanto, a aplicação dessa técnica requer não apenas experiência, mas
também equipamentos e ferramentas caros.
Sempre existe o risco de danificar o flash NAND ao removê-lo e, portanto, é recomendável
experimentar primeiro as técnicas lógicas para extrair quaisquer dados.
Embora o acesso root seja obrigatório para executar qualquer uma das técnicas discutidas
anteriormente, deve-se observar aqui que, no momento da redação deste livro, nenhuma
dessas técnicas funcionaria em dispositivos com Full Disk Encryption (FDE ) ativado .
Conforme discutido no Capítulo 7, Compreendendo o Android, o Google determinou o uso de
FDE para a maioria dos dispositivos a partir do Android 6.0.
Embora algumas técnicas tenham sido demonstradas e publicadas para descriptografar a
criptografia completa do disco, elas são específicas do dispositivo e não são amplamente aplicáveis.
Machine Translated by Google
Resumo
Este capítulo cobriu várias técnicas de extração de dados manuais, lógicos e físicos.
Aprendemos quando e como aplicar essas técnicas durante uma investigação. Técnicas
lógicas extraem dados interagindo com o dispositivo usando ferramentas como ADB. As
técnicas físicas, por outro lado, acessam um conjunto maior de dados; eles são complexos e
exigem muita experiência para serem executados. A geração de imagens de um dispositivo
produz uma imagem bit a bit do dispositivo, que é posteriormente analisada por meio de
ferramentas. A geração de imagens de um dispositivo é uma das etapas principais para garantir
que os dados no dispositivo não sejam modificados. O Android 7.0 e superior representa um
novo desafio para os investigadores forenses, trazendo novos recursos de segurança e
caminhos de arquivo que podem limitar a aquisição. Com esse conhecimento, você pode realizar
a aquisição de dispositivos para extrair dados relevantes de um dispositivo Android.
No próximo capítulo, veremos como extrair dados relevantes, como registros de chamadas,
mensagens de texto e histórico de navegação de um arquivo de imagem. Também
abordaremos técnicas de recuperação de dados, com as quais podemos recuperar dados
excluídos de um dispositivo.
Machine Translated by Google
Este capítulo visa cobrir várias técnicas, que podem ser usadas por um analista
forense para recuperar os dados de um dispositivo Android.
A plataforma de autópsia
A autópsia é uma plataforma forense e atua como uma GUI para o Sleuth Kit.
Está disponível gratuitamente; você pode baixá-lo em http://www.sleuthkit.org/.
O Sleuth Kit é uma coleção de ferramentas e utilitários baseados em Unix e
Windows, que são usados para realizar análises forenses. A autópsia exibe os
resultados analisando forense um determinado volume e, assim, ajuda os
investigadores a se concentrarem nas seções relevantes dos dados. O Autopsy é
gratuito e extensível e possui vários módulos que podem ser plugados. O Autopsy
pode ser usado para carregar e analisar uma imagem do Android obtida após a extração física.
Machine Translated by Google
5. Na próxima tela, você pode configurar quais módulos devem ser executados
nas imagens, conforme mostrado na captura de tela a seguir. Recomenda-
se selecionar os módulos Recent Activity, Exif Parser, Keyword Search e
Android Analyzer. Na próxima etapa, clique em Concluir:
Machine Translated by Google
Feito isso, a ferramenta geralmente leva alguns minutos para analisar a imagem,
dependendo de seu tamanho. Durante esse período, você poderá ver alguns erros ou
mensagens de aviso, caso sejam encontrados pela ferramenta. No entanto, o Autopsy
fornece o acesso mais rápido aos artefatos e ao sistema de arquivos quando comparado
a outras ferramentas.
Machine Translated by Google
Não use o telefone para nenhuma atividade depois de pegá-lo. Os dados excluídos
permanecem no dispositivo até que o espaço seja necessário para alguns outros dados recebidos.
Portanto, o telefone não deve ser usado para nenhum tipo de atividade para evitar que
os dados sejam substituídos.
Mesmo quando o telefone não é usado, sem qualquer intervenção da nossa parte, os
dados podem ser substituídos. Por exemplo, um SMS recebido seria
Machine Translated by Google
Os cartões SD são capazes de armazenar fotos e vídeos feitos pela câmera do telefone, gravações de voz,
dados de aplicativos, arquivos em cache e muito mais. Essencialmente, qualquer coisa que possa ser
armazenada em um disco rígido de computador pode ser armazenada em um cartão SD tanto quanto o espaço
disponível permitir.
Recuperar os dados excluídos de um cartão SD externo é um processo simples. Os cartões SD podem ser
montados como um dispositivo de armazenamento em massa externo e adquiridos forense usando métodos
forenses digitais padrão, conforme discutido no Capítulo 9, Técnicas de extração de dados do Android. Conforme
mencionado nos capítulos anteriores, os cartões SD em dispositivos Android geralmente usam o sistema de arquivos
FAT32. A principal razão para isso é que o sistema de arquivos FAT32 é amplamente suportado na maioria dos
sistemas operacionais, incluindo Windows, Linux e macOS X. O tamanho máximo do arquivo em uma unidade
formatada em FAT32 é de cerca de 4 GB. Com formatos de resolução cada vez mais altos agora disponíveis, esse
limite é comumente atingido. Além disso, o FAT32 só pode ser usado em partições com menos de 32 GB de
tamanho. Portanto, o sistema de arquivos exFAT, que supera esses problemas, agora está sendo usado em alguns
dos dispositivos.
A recuperação dos dados excluídos de um cartão SD externo pode ser facilmente realizada se ele
puder ser montado como uma unidade. Portanto, se o cartão SD for removível, conecte-o a uma estação
No entanto, os dispositivos Android mais recentes geralmente não são montados como armazenamento em massa.
Isso ocorre porque esses dispositivos usam os protocolos Media Transfer Protocol (MTP) ou Picture
O problema com o armazenamento em massa USB é que o computador precisaria de acesso exclusivo
sistema operacional Android quando conectado a uma estação de trabalho. Isso levou a várias outras complicações
Quando um dispositivo Android usa MTP, ele aparece para o computador como um dispositivo de mídia e não
como armazenamento removível, conforme mostrado na captura de tela a seguir:
Mas as ferramentas normais de recuperação de dados precisariam de uma unidade de montagem para realizar
uma varredura. Portanto, a maioria dos dispositivos mais recentes que usam MTP/PTP não são tratados como
uma unidade de montagem e, portanto, as ferramentas tradicionais de recuperação de dados que funcionam para
computadores não funcionam neles.
Por esse motivo, quando o dispositivo usa MTP/PTP e não está montado como uma unidade, a recuperação
pode ser feita por algumas ferramentas de recuperação de dados específicas do Android que precisam que
a opção de depuração USB esteja ativada. Quase todas as ferramentas de recuperação de dados do Android
no mercado precisam que você habilite a depuração USB para que seu dispositivo e o cartão SD possam ser
reconhecidos antes de iniciar a recuperação de dados do Android.
Machine Translated by Google
Você deve entender que os dispositivos Android podem usar espaço no cartão SD para
armazenar em cache os dados do aplicativo; portanto, é importante garantir que o máximo de dados
possível seja obtido do dispositivo antes de remover o cartão SD.
Alguns dispositivos mais antigos montam automaticamente o dispositivo como uma
unidade quando conectados por USB. É uma boa prática forense não trabalhar diretamente no
dispositivo para extração de dados, recuperação de dados e assim por diante. Portanto, uma
imagem física do cartão SD precisa ser obtida e toda a análise necessária é realizada na própria
imagem. Recomenda-se adquirir o cartão SD através do dispositivo, bem como separadamente
para garantir que todos os dados sejam obtidos. Para obter a imagem do cartão SD, dd a adb pode
ser usado enquanto o dispositivo estiver em execução para obter uma imagem do cartão SD do
dispositivo se o dispositivo não puder ser desligado devido a possíveis evidências em execução na
memória. Se o cartão SD for removido e conectado à estação de trabalho por meio de um leitor de
cartão, ele aparecerá como armazenamento em massa externo, cuja imagem pode ser obtida
usando as técnicas forenses padrão descritas nos capítulos anteriores.
Depois que a imagem é obtida, ela pode ser analisada usando qualquer ferramenta forense
padrão, como o FTK Imager. FTK Imager é uma ferramenta simples que pode ser usada para
criar e analisar imagens de disco. Está disponível para download em https://accessda
ta.com/product-download/ftk-imager-version-3.2.0.
1. Inicie o FTK Imager e clique em Arquivo, depois clique em Adicionar item de evidência...
no cardápio:
2. Selecione Arquivo de imagem como o tipo de evidência na caixa de diálogo Selecionar origem e
clique em Avançar:
Arquivos excluídos mostrados com uma cruz vermelha sobre os ícones no FTK Imager
Machine Translated by Google
5. Para copiar os arquivos excluídos para a estação de trabalho, clique com o botão direito do mouse no
arquivo marcado e selecione Exportar arquivos..., conforme mostrado na captura de tela a seguir:
Para obter acesso à memória interna, você pode tentar fazer root no telefone.
No entanto, o processo de root pode envolver a gravação de alguns dados na partição /
data , e esse processo pode substituir os dados de valor no dispositivo.
Ao contrário dos cartões SD, o sistema de arquivos interno aqui não é FAT32 (que é
amplamente suportado por ferramentas forenses). O sistema de arquivos interno pode
ser YAFFS2 (em dispositivos mais antigos), EXT3, EXT4, RFS ou algo proprietário criado
para rodar no Android. Portanto, muitas das ferramentas de recuperação projetadas para
uso com sistemas de arquivos do Windows não funcionarão.
Os dados de aplicativos em dispositivos Android geralmente são armazenados no formato
SQLite. Embora a maioria das ferramentas forenses forneça acesso aos arquivos do banco
de dados, eles podem precisar ser exportados e visualizados em um navegador nativo.
Você deve examinar os dados brutos para garantir que os dados excluídos não sejam
ignorados pela ferramenta forense.
Os motivos discutidos tornam difícil, mas não impossível, recuperar os dados excluídos da
memória interna. A memória interna dos dispositivos Android contém a maior parte dos dados
do usuário e as possíveis chaves para sua investigação. Como mencionado anteriormente, o
dispositivo deve estar enraizado para acessar
Machine Translated by Google
O Android usa arquivos SQLite para armazenar a maioria dos dados. Dados relacionados a
mensagens de texto, e-mails e determinados dados de aplicativos são armazenados em arquivos
SQLite. Os bancos de dados SQLite podem armazenar dados excluídos no próprio banco de dados.
Arquivos marcados para exclusão pelo usuário não aparecem mais nos arquivos ativos do banco de
dados SQLite. Portanto, é possível recuperar os dados excluídos, como mensagens de texto e contatos.
Existem duas áreas em uma página SQLite que podem conter dados excluídos — blocos não
alocados e blocos livres.
A maioria das ferramentas comerciais que recuperam dados excluídos verificam os blocos não
alocados e os blocos livres das páginas SQLite. A análise dos dados excluídos pode ser feita usando
as ferramentas forenses disponíveis, como o Oxygen Forensics SQLite Viewer. A versão de teste
do SQLite Viewer pode ser usada para essa finalidade; no entanto, há certas limitações na quantidade
de dados que você pode recuperar. Você pode escrever seu próprio script para analisar os arquivos
em busca de conteúdo excluído e, para isso, precisa ter um bom entendimento do formato de arquivo
SQLite. A página http://www.sqlite.org/fileformat.html é Um bom lugar para começar. Se você não
quiser reinventar a roda e quiser reutilizar os scripts existentes, tente os scripts Python de código aberto
disponíveis (http://az4n6.blogspot.in/2 013/11/python-parser-to-recover- delete-sqlite.html) para analisar
os arquivos SQLite em busca de registros excluídos.
Todo aplicativo armazena seus dados na pasta /data/data (novamente, isso requer acesso
root para adquirir dados).
Os arquivos no local, /data/data/
com.android.providers.telephony/databases, contêm detalhes sobre o SMS/MMS.
O file carving é um método extremamente útil em forense porque permite que os dados que foram
excluídos ou ocultos sejam recuperados para análise. Em termos simples, file carving é o processo de
remontar arquivos de computador a partir de fragmentos na ausência de metadados do sistema de
arquivos. No file carving, os tipos de arquivo especificados são pesquisados e extraídos nos dados
binários para criar uma imagem forense de uma partição ou de um disco inteiro. A escultura de arquivos
recupera arquivos do espaço não alocado em uma unidade com base apenas na estrutura e no conteúdo
do arquivo, sem nenhum metadado do sistema de arquivos correspondente. Espaço não alocado refere-
se à parte da unidade que não contém mais nenhuma informação de arquivo indicada pelas estruturas do
sistema de arquivos, como a tabela de arquivos.
Os arquivos podem ser recuperados ou reconstruídos ao escanear os bytes brutos do disco e remontá-los.
Isso pode ser feito examinando o cabeçalho (os primeiros bytes) e o rodapé (os últimos bytes) de um arquivo.
Os métodos de escultura em arquivo são categorizados com base na técnica subjacente em uso. O
método de escultura de cabeçalho-rodapé depende da recuperação dos arquivos com base em suas
informações de cabeçalho e rodapé. Por exemplo, para arquivos JPEG, eles começam com 0xffd8 e
terminam com 0xffd9.
As localizações do cabeçalho e do rodapé são identificadas e tudo entre esses dois pontos finais é
esculpido. Da mesma forma, o método de escultura baseado na estrutura do arquivo usa o layout interno
de um arquivo para reconstruir o arquivo.
No entanto, as técnicas tradicionais de gravação de arquivos, como as que já explicamos, podem não
funcionar se os dados estiverem fragmentados. Para superar isso, novas técnicas, como a escultura
inteligente, usam as características de fragmentação de vários sistemas de arquivos populares para
recuperar os dados.
Depois que a imagem do telefone é obtida, ela pode ser analisada usando ferramentas como o Scalpel.
Scalpel é um poderoso utilitário de código aberto para esculpir arquivos. Esta ferramenta analisa o
Machine Translated by Google
1. Instale o Scalpel na estação de trabalho Ubuntu usando o comando sudo apt-get install bisturi .
3. Scalpel precisa ser executado junto com o arquivo de configuração anterior na imagem dd que
está sendo examinada. Você pode executar a ferramenta usando o seguinte comando inserindo
o arquivo de configuração e o arquivo dd :
Machine Translated by Google
5. Conforme mostrado na captura de tela anterior, cada pasta contém dados recuperados do
dispositivo Android, como imagens, arquivos PDF, arquivos ZIP e muito mais. Enquanto
algumas imagens são recuperadas completamente, outras não são totalmente recuperadas,
conforme mostrado na captura de tela a seguir:
Aplicativos como DiskDigger podem ser instalados em dispositivos Android para recuperar
diferentes tipos de arquivos tanto da memória interna quanto dos cartões SD.
DiskDigger inclui suporte para arquivos JPG, áudio MP3 e WAV, vídeo MP4 e 3GP, formatos de
câmera raw, arquivos do Microsoft Office (DOC, XLS e PPT) e muito mais. No entanto, como
mencionado anteriormente, o aplicativo requer privilégios de root no dispositivo Android para
recuperar o conteúdo da memória interna. Essas alterações devem ser claramente documentadas
por você.
O aplicativo DiskDigger para Android opera em dois modos diferentes, modo de varredura
básica e modo de varredura completa.
Machine Translated by Google
O modo de verificação completa funciona apenas em dispositivos com root, enquanto o modo
de verificação básica funciona em qualquer dispositivo. Conforme mostrado na captura de tela
a seguir, em um telefone com root, o aplicativo localiza e exibe automaticamente as partições
disponíveis:
O aplicativo DiskDigger
Depois de selecionar a partição de memória, a ferramenta agora solicita que você selecione os tipos
de arquivos que deseja recuperar. Prossiga selecionando o arquivo
Machine Translated by Google
tipos de interesse:
conseguir acessar a conta do Google configurada no dispositivo. Depois que a conta for acessada,
execute as seguintes etapas para restaurar os dados:
1. Faça login em seu aplicativo de contatos do Google no dispositivo Android usando a conta do
Google configurada. O exemplo a seguir é uma tentativa em um dispositivo OnePlus 5
executando a versão Android Pie.
2. Clique em Configurações e depois procure Restaurar, conforme mostrado a seguir
captura de tela:
Machine Translated by Google
Como você pode ver, você pode restaurar a lista de contatos para um estado anterior
quando o backup foi feito em vários pontos no tempo. Você também pode usar a opção
Desfazer alterações no menu Configurações para restaurar os contatos para qualquer
estado nos últimos 30 dias:
Machine Translated by Google
Portanto, usando qualquer uma das técnicas anteriores, um examinador forense como
você pode tentar recuperar facilmente os dados excluídos.
Machine Translated by Google
Resumo
Neste capítulo, aprendemos várias técnicas para recuperar dados excluídos de um
dispositivo Android. Este processo depende de vários fatores, que dependem
fortemente do acesso aos dados que residem na memória interna e no cartão SD.
Vimos várias técnicas para recuperar dados excluídos do cartão SD e da memória
interna. Embora a recuperação de itens excluídos do armazenamento externo, como
um cartão SD, seja fácil, a recuperação de itens excluídos da memória interna exige
um esforço considerável. Também aprendemos técnicas de análise e escultura de
arquivos SQLite, usando as quais os dados excluídos podem ser extraídos de um
dispositivo Android. Com esse conhecimento, agora você pode executar a
recuperação de dados durante uma investigação forense.
Além disso, aplicativos como Facebook, WhatsApp, Skype e assim por diante são amplamente
usados hoje em dia e geralmente são a fonte de dados valiosos que auxiliam na solução de um
caso. Portanto, é importante saber que tipo de dados esses aplicativos armazenam e a localização
desses dados. Embora as técnicas de extração e recuperação de dados que discutimos nos capítulos
anteriores forneçam acesso a dados valiosos, a análise de aplicativos nos ajuda a obter informações
sobre as especificidades de um aplicativo, como preferências e permissões.
Como discutimos nos capítulos anteriores, todos os aplicativos armazenam seus dados
na pasta /data/data por padrão. Os aplicativos também armazenam outros dados no
cartão SD, se quiserem, solicitando permissão no momento da instalação. As informações
sobre os aplicativos presentes no dispositivo podem ser obtidas inspecionando o conteúdo
da pasta /data/data , mas isso não é direto, pois requer a análise de cada pasta de
aplicativo individual nesse caminho. Como alternativa, você pode inspecionar o arquivo
packages.list presente em /data/system. Este arquivo contém informações sobre todos
os aplicativos, juntamente com seus nomes de pacotes e caminhos de dados.
# cat packages.list
Machine Translated by Google
Agora, vamos olhar especificamente para alguns aplicativos de terceiros que são amplamente usados
e lidam com dados valiosos.
Os aplicativos a seguir estão sendo abordados apenas para familiarizá-lo com o tipo de
dados que podem ser extraídos e os possíveis locais onde os dados podem ser obtidos. Você
precisará obter as permissões apropriadas e cumprir as regras legais antes de executar essas
tarefas em um dispositivo. Como explicamos no Capítulo 8, Configuração forense do Android e
técnicas de pré-extração de dados, as técnicas a seguir só funcionam depois que o dispositivo
foi rooteado.
Machine Translated by Google
O aplicativo do Facebook para Android é um dos aplicativos de rede social mais usados. Ele
armazena suas informações na pasta /data/data , dentro do pacote com.facebook.katana .
Os detalhes a seguir fornecem uma visão geral do tipo de informação que pode ser coletada
em vários arquivos:
Caminho: /data/data/com.facebook.katana/files/video-cache
Machine Translated by Google
Imagens do feed de notícias: A pasta /images contém várias imagens que aparecem
no perfil do usuário, como as de seu feed de notícias e fotos de perfil de contato. Vários
diretórios estão presentes nesta pasta e as imagens podem ser armazenadas em
formatos diferentes de .jpg, como .cnt: Caminho: /data/data/com.facebook.katana/
cache/images Dados do feed de notícias: O banco de dados newfeed_db contém
dados mostrados para o usuário em seu feed de notícias. Conforme mostrado na
captura de tela a seguir, a análise desse banco de dados forneceria informações
valiosas, como quando uma determinada história foi carregada pelo dispositivo (a coluna
fetched_at ), se uma determinada história foi vista pelo usuário (a coluna seen_state ) e
onde o os arquivos correspondentes de uma história são armazenados no dispositivo (a
coluna cache_file_path ): Caminho: /data/data/com.facebook.katana/databases/
newsfeed_db:
Na captura de tela anterior, fetched_at especifica a data e a hora em que essas informações
são buscadas. Observe que o aplicativo usa o tempo de época do Linux, também conhecido
como tempo Unix ou tempo Posix, para armazenar essas informações. Esse formato
costuma ser usado por vários aplicativos e, portanto, vale a pena dar uma olhada. Linux
Machine Translated by Google
Agora que fizemos uma análise do aplicativo do Facebook, vamos fazer uma análise
semelhante com nosso próximo aplicativo, que é o WhatsApp.
Machine Translated by Google
O WhatsApp é o serviço de mensagens de bate-papo (áudio e vídeo) mais popular e é usado por
mais de um bilhão de pessoas em todo o mundo. Ele armazena suas informações na pasta /data/
data , com o nome do pacote, com.whatsapp. A seguir está uma visão geral dos arquivos importantes
que são de interesse do ponto de vista forense:
Caminho: /data/data/com.whatsapp/me
Foto de perfil de contatos: O diretório /avatars contém miniaturas das fotos de perfil dos contatos
do usuário (que usam o WhatsApp): Caminho: /data/data/com.whatsapp/files/Avatars Mensagens
de bate-papo: todas as informações relacionadas a mensagens, incluindo bate-papos e
detalhes do remetente, estão presentes no arquivo msgstore.db , que está presente no seguinte
local: Caminho: /data/data/com.whatsapp/databases/msgstore.db Arquivos do WhatsApp : A
maioria dos arquivos compartilhados com o WhatsApp, como imagens, vídeos e mensagens de
áudio, são armazenados no cartão SD no seguinte local: Caminho: /sdcard/WhatsApp/
Media
Ambos os arquivos enviados e recebidos são armazenados separadamente aqui em seus respectivos
nomes de pasta.
A seguir, veremos outro aplicativo usado para telecomunicações e especializado em fornecer bate-papo
por vídeo e chamadas de voz: o Skype.
Machine Translated by Google
a raiz do SD.
Bate-papos em grupo: a tabela ChatMembers mostra uma lista de usuários
que estão presentes em um determinado bate-papo. A coluna do adicionador
mostra o usuário que iniciou a conversa: Caminho: /data/data/com.skype.raider/
files/<username>/main.db/
Assunto do e-mail: O assunto deste e-mail pode ser recuperado analisando a tabela
de conversas presente no mailstore.<username>@gmail.com.db file: Path: /data/data/
com.google.android.gm/databases/mailstore .
<nome de usuário>@gmail.com.db
Caminho: /data/data/com.google.android.gm/databases/suggestions.db
Vamos encerrar esta seção realizando uma análise final no aplicativo Google Chrome.
Machine Translated by Google
A tabela de segmentos contém uma lista de sites visitados pelo usuário (mas não
todos os sites). É interessante notar que o Chrome armazena os dados pertencentes
não apenas ao dispositivo, mas à conta em geral.
Em outras palavras, as informações sobre sites que foram visitados de outros
dispositivos usando a mesma conta também são armazenadas no dispositivo; por
exemplo, a tabela de URLs contém o histórico de navegação de uma conta do Google
em vários dispositivos.
Caminho: /data/data/com.android.chrome/app_chrome/Default/History.
Agora que analisamos os diferentes aplicativos de terceiros, veremos as técnicas que podemos usar
para fazer engenharia reversa de aplicativos Android.
Machine Translated by Google
Assim, os arquivos dex, arquivos XML e outros recursos necessários para executar um
aplicativo são empacotados em um arquivo de pacote do Android (um arquivo APK).
Esses arquivos APK são simplesmente coleções de itens dentro de arquivos ZIP.
Portanto, se você renomear um arquivo de extensão APK para um arquivo .zip, poderá
ver o conteúdo do arquivo. No entanto, antes de fazer isso, você precisa obter acesso ao
arquivo APK do aplicativo instalado no telefone.
Aqui está como o arquivo APK correspondente a um aplicativo pode ser acessado.
Machine Translated by Google
classes.dex: Este é o arquivo de classe que foi convertido em um arquivo dex pelo
compilador dex.
Res: Os recursos do aplicativo, como arquivos de imagem, arquivos de som e
outros, estão presentes neste diretório.
Lib: contém bibliotecas nativas que o aplicativo pode usar.
META-INF: contém informações sobre a assinatura do aplicativo e as somas de
verificação assinadas para todos os outros arquivos do pacote.
Depois que o arquivo APK for obtido, você poderá fazer a engenharia reversa do
aplicativo Android.
Machine Translated by Google
convertido em um arquivo de classe em Java. Isso pode ser feito usando a ferramenta
dex2jar .
3. Baixe a ferramenta dex2jar em https://github.com/pxb1988/dex2jar, solte o arquivo classes.dex
no diretório de ferramentas dex2jar e emita o seguinte comando:
5. Para visualizar o conteúdo deste arquivo JAR, você pode usar uma ferramenta como JD
GUI. Conforme mostrado na captura de tela a seguir, os arquivos presentes em um
aplicativo Android e o código correspondente podem ser vistos:
Machine Translated by Google
A ferramenta JD-GUI
Uma vez que tenhamos acesso ao código, é fácil analisar como o aplicativo
armazena os valores, permissões e outras informações que podem ser úteis para
contornar certas restrições. Quando um malware é encontrado em um dispositivo,
esse método de descompilar e analisar o aplicativo pode ser útil, pois mostrará o que
está sendo acessado pelo malware e fornecerá pistas de para onde os dados estão
sendo enviados. As seções a seguir se concentram no malware do Android em detalhes.
Machine Translated by Google
Android malware
À medida que a participação de mercado do Android continua a aumentar, também
aumentam os ataques ou malware direcionados aos usuários do Android. Malware móvel
é um termo amplo que se refere a um software que executa ações não intencionais e
inclui cavalos de Tróia, spyware, adware, ransomware e outros. De acordo com a
pandasecurity, os dispositivos Android são 50 vezes mais infectados com malware em
comparação com os dispositivos iOS (https://www.pandasecurity.com/mediacenter/mobile-
security/android-more-infected-than-ios/ ). Em 2019, o famoso malware Agent Smith sozinho
infectou quase 25 milhões de dispositivos Android, de acordo com uma reportagem do
Cybersecurity Hub (https://www.cshub.com/malware/articles/incident-of-the-week-malware-
infects- 25m-andr oid-phones).
Uma das principais razões para esta situação é que, ao contrário da App Store da
Apple, que é rigidamente controlada pela empresa, a Play Store do Google é um
ecossistema aberto sem análises de segurança iniciais detalhadas. Os desenvolvedores
de malware podem facilmente mover seus aplicativos para a Play Store e, assim,
distribuí-los. O Google agora tem um software de detecção de malware chamado
Google Bouncer, que verifica automaticamente um aplicativo carregado em busca de
malware, mas os invasores descobriram várias maneiras de não serem detectados.
Além disso, o Android oficialmente permite carregar aplicativos baixados pela
internet (side-loading), ao contrário do iOS, que não permite aplicativos não
assinados.
Começando com o Android Oreo, o Google lançou um novo recurso chamado Play Protect, que
é uma versão melhorada do recurso de verificação de aplicativos. A principal função do Play
Protect é bloquear ou alertar os usuários sobre aplicativos maliciosos ou nocivos que foram
instalados no dispositivo Android. Por exemplo, conforme mostrado na captura de tela a seguir,
o recurso Play Protect pode mostrar uma mensagem de aviso durante a instalação do aplicativo:
Machine Translated by Google
Malware bancário: pode ser distribuído como aplicativos bancários falsos para
roubar credenciais bancárias digitadas pelos usuários ou roubar qualquer outra
informação pessoal sensível da conta do usuário. Os Trojans bancários podem
interceptar ou modificar transações bancárias e executar ações perigosas, como
enviar, excluir e interceptar mensagens SMS, bem como keylogging.
O malware avançado também é capaz de fazer root no dispositivo e instalar novos aplicativos. Por
exemplo, o malware Android Mazar, descoberto em fevereiro de 2016, se espalha por meio de mensagens
de texto e é capaz de obter direitos de administrador em telefones, permitindo limpar aparelhos, fazer
chamadas ou ler textos.
Uma lista completa das famílias de malware do Android e seus recursos está disponível em https:// forensi
cs.spreitzenbarth.de/ android-malware/.
Depois que o malware entra em um dispositivo, ele pode executar ações perigosas, algumas das quais são
as seguintes:
Agora que entendemos os diferentes tipos de malware, veremos como o malware se espalha em seu
dispositivo.
Machine Translated by Google
Agora que examinamos as possíveis maneiras pelas quais o malware Android pode
se espalhar, vamos tentar identificar a presença de malware em seu dispositivo.
Machine Translated by Google
Como alternativa, você também pode carregar o arquivo .apk para o VirusTotal, um serviço
gratuito que pode ser usado para analisar arquivos suspeitos em busca de malware. O VirusTotal
verificará seu arquivo em 55 mecanismos antivírus. Também é importante observar que a
ferramenta pode não identificar um caso válido se os detalhes estiverem ofuscados no arquivo .apk .
Portanto, como investigador forense, é importante desenvolver as habilidades necessárias
Machine Translated by Google
habilidades para fazer engenharia reversa de qualquer aplicativo suspeito e analisar o código
para identificar comportamento malicioso.
Resumo
A análise de aplicativos Android ajuda um investigador forense a procurar dados valiosos
em locais relevantes em um dispositivo. A engenharia reversa de aplicativos Android é o
processo de recuperar o código-fonte de um arquivo APK. Usando certas ferramentas,
como dex2jar, os aplicativos Android podem sofrer engenharia reversa para entender sua
funcionalidade e armazenamento de dados, identificar malware e muito mais.
Neste capítulo, realizamos análises em diferentes aplicativos Android e agora podemos
recuperar dados deles. Também aprendemos sobre diferentes tipos de malware para
Android e como identificá-los. Ferramentas como o UFED Physical Analyzer vêm com o
software BitDefender, que pode verificar automaticamente se há malware.
Apesar do Windows Phone não ser tão amplamente utilizado hoje em dia, eles ainda
podem ser encontrados durante as investigações forenses. Esses dispositivos são os mais
acessíveis do mercado, portanto, é importante entender como adquirir, analisar e decodificar
dados de Windows Phones. Localizar e interpretar evidências digitais presentes nesses
dispositivos requer conhecimento especializado do sistema operacional Windows Phone e nem
sempre é possível. As ferramentas comerciais forenses e de código aberto fornecem suporte
limitado para a aquisição de dados do usuário de dispositivos Windows. Como os Windows
Phones não ocupam muito espaço no mercado móvel, a maioria dos profissionais forenses não
está familiarizada com os formatos de dados, bancos de dados incorporados usados e outros
artefatos existentes no dispositivo. Este capítulo fornece uma visão geral da análise forense do
Windows Phone, descrevendo vários métodos de aquisição e exame de dados em dispositivos
Windows Mobile.
SO Windows Phone
Modelo de segurança do Windows 10 Mobile
Sistema de arquivos do Windows Phone
Aquisição de dados
Métodos de aquisição de ferramentas forenses comerciais
Extração de dados sem o uso de ferramentas comerciais
Principais artefatos para exame
Machine Translated by Google
SO Windows Phone
O Windows Phone é um sistema operacional móvel proprietário desenvolvido pela
Microsoft. Foi lançado como sucessor do Windows Mobile, mas não oferece
compatibilidade com versões anteriores da plataforma anterior. O Windows Phone foi
lançado em outubro de 2010 com o Windows Phone 7. O histórico de versões do
sistema operacional Windows Phone continuou com o lançamento do Windows Phone
7.5, Windows Phone 7.8, Windows Phone 8.1 e Windows Phone 10.
As seções a seguir fornecerão mais detalhes sobre o Windows Phone, seus recursos e
seu modelo de segurança subjacente.
Ao contrário dos dispositivos Android e iOS, o Windows Phone vem com uma
nova interface, que usa os chamados tiles para aplicativos em vez de ícones, como
mostra a imagem a seguir. Estas telhas podem ser projetadas e atualizadas pelo usuário:
Machine Translated by Google
o artefato foi criado nem sempre existem. Se este artefato é realmente a prova cabal da
investigação, você precisa aplicar suas habilidades para descobrir outros artefatos que apoiem suas
descobertas. É necessário aprofundar os dados. Agora que conhecemos os detalhes do Windows
Phone e seus recursos, vamos dar uma olhada em seu modelo de segurança e ver como ele mantém
os dados
seguro.
Machine Translated by Google
câmaras
O Windows Phone é fortemente construído sobre os princípios de menor privilégio
e isolamento. Isso tem sido consistente desde o início do Windows Phone 7.
Para conseguir isso, o Windows Phone introduziu o conceito de câmaras. Cada câmara
tem um limite de isolamento onde os processos podem ser executados. Dependendo
da política de segurança de uma câmara específica, um processo executado nesta
câmara tem o privilégio de acessar os recursos e capacidades do sistema operacional
(https://ww w.msec.be/mobcom/ws2013/presentations/david_hernie.pdf). Existem quatro
tipos de câmaras de segurança. A seguir, uma breve descrição de cada um deles:
Criptografia
O Windows Phone 8 introduziu a tecnologia BitLocker para criptografar todos os dados do
usuário armazenados no dispositivo por meio da criptografia AES de 128 bits. O usuário
pode simplesmente apertar o botão para habilitar esse recurso, e todos os dados que
residem no armazenamento interno do dispositivo serão criptografados. Além disso, o
usuário pode criptografar seu cartão SD – supondo que o dispositivo tenha um – e definir
uma senha ou PIN em seu dispositivo. Se todos esses bloqueios e a criptografia estiverem
ativados, o acesso aos dados neste dispositivo pode ser impossível, a menos que a senha
seja recuperada.
Machine Translated by Google
n-us/previous-versions/windows/apps/ff769509(v=vs.105).
Machine Translated by Google
Sandboxing de aplicativos
Até agora, vimos os quatro tipos de câmaras de segurança e agora sabemos que
o Windows Phone 8 usa a tecnologia BitLocker para criptografia. Aprendemos
sobre os diferentes recursos concedidos durante a instalação de um aplicativo e
vimos como cada aplicativo é isolado um do outro. A seguir, veremos um aspecto
importante dos Windows Phones, que é seu sistema de arquivos.
Machine Translated by Google
A partição MainOS na captura de tela anterior, partição 26, contém os dados do sistema
do Windows Phone. Como em todas as investigações do Windows, os dados do sistema
contêm artefatos relevantes para as investigações.
Aquisição de dados
A aquisição de dados de um Windows Phone é um desafio para os examinadores
forenses, pois os métodos físicos, de sistema de arquivos e lógicos definidos nos
capítulos anteriores não são muito suportados. Além disso, o telefone pode precisar estar
em um estado específico de carga da bateria (%) para que a ferramenta comercial reconheça
e adquira o dispositivo. Essa costuma ser uma das etapas mais difíceis na aquisição de
Windows Phones.
Uma das técnicas mais comuns implementadas por ferramentas comerciais na tentativa
de aquisição de dados é a instalação de um aplicativo ou agente no dispositivo, que permite
a comunicação bidirecional para que comandos sejam enviados ao dispositivo para extrair
dados. Isso pode resultar em algumas alterações no dispositivo; no entanto, isso ainda é
válido do ponto de vista forense se o examinador seguir os protocolos padrão e tiver testado
a validade da ferramenta que está sendo usada.
Esses protocolos incluem testes adequados para garantir que nenhum dado do usuário
seja alterado (e, se alterado, documentar o que ocorreu), validação do método em um
dispositivo de teste e documentação de todas as etapas realizadas durante o processo de aquisição.
Para que este método de aquisição funcione, o aplicativo precisa ser instalado com os
privilégios do SRC. Isso pode exigir que você copie as DLLs do fabricante, que têm
privilégios mais altos, no aplicativo do usuário. Isso permite que o aplicativo acesse métodos
e recursos que geralmente são limitados a aplicativos nativos. Além disso, o dispositivo
deve estar desbloqueado ou esses métodos podem não funcionar.
A maioria dos examinadores conta com ferramentas e métodos forenses para adquirir
dispositivos móveis. Novamente, essas práticas não têm suporte para Windows Phones.
Lembre-se de que, para implantar e executar um aplicativo no Windows Phone, tanto o
dispositivo quanto o desenvolvedor devem ser registrados e desbloqueados pela Microsoft.
Essa restrição pode ser contornada desbloqueando o dispositivo usando um jailbreak
público para dispositivos Windows Phone 8 a 10.
Por muito tempo, as aquisições JTAG e chip-off foram as únicas opções para adquirir a
maioria dos Windows Phones. Tudo mudou em janeiro de 2015:
Machine Translated by Google
Métodos de aquisição de
ferramentas forenses comerciais
Existem algumas ferramentas comerciais disponíveis que oferecem suporte
para a aquisição de dispositivos Windows Phone. O Cellebrite UFED oferece
suporte para adquirir dispositivos Windows Phone usando métodos físicos, de
sistema de arquivos e lógicos. Para determinar se o dispositivo que você está
examinando é compatível com a ferramenta, você pode baixar e usar o aplicativo
móvel UFED Phone Detective, disponível gratuitamente na App Store e no Google Play:
Alguns desses métodos de aquisição são mais robustos, obtêm um despejo físico completo dos
dados e podem contornar alguns códigos de bloqueio em dispositivos específicos.
No entanto, alguns suportes de dispositivos incluem simplesmente extrair contatos e fotos do
dispositivo. É importante que o examinador perceba que passos específicos devem ser
seguidos, conforme orientado pela ferramenta. Adquirir esses dispositivos não é fácil e, muitas vezes,
você descobrirá que a ferramenta não terá sucesso.
3. Selecione Smartphones.
4. Selecione o dispositivo Windows que você está tentando adquirir.
5. Experimente todos os métodos oferecidos, começando com físico, sistema de arquivos,
e lógico (nessa ordem, sempre que possível):
Métodos de extração
6. Siga todas as etapas restantes e tente todos os métodos de aquisição oferecidos até obter
sucesso.
A Cellebrite pode alertá-lo de que a aquisição não foi bem-sucedida por vários motivos. Quando
isso ocorrer, tente todas as opções para garantir que esgotou as opções comerciais disponíveis. Um
exemplo de tentativa de aquisição no UFED4PC é o seguinte:
Machine Translated by Google
1. Inicie o UFED4PC.
2. Selecione a marca e o modelo do dispositivo.
3. Selecione o método de aquisição Físico, Sistema de Arquivos ou Lógico (as
ofertas variam, dependendo do modelo do dispositivo).
Neste exemplo, apenas a aquisição lógica foi suportada. Dois métodos estão disponíveis.
A primeira opção usa um cabo, enquanto a segunda usa Bluetooth. Neste exemplo, é
necessário um cabo UFED especial. Selecionei o cabo UFED primeiro, pois o Bluetooth
exige que alterações adicionais sejam feitas no telefone durante o emparelhamento:
Ao tentar adquirir o dispositivo com o cabo USB 100, apenas os arquivos multimídia estavam
acessíveis.
Com este método de aquisição, conseguimos obter contactos. Observe que não
há métodos oferecidos para obter SMS, MMS, e-mail, mensagens instantâneas,
calendário, registros de chamadas, dados de aplicativos e outros. Sugere-se que você
repita os métodos genéricos listados na captura de tela anterior usando a opção
Smartphone no UFED4PC. Até agora, examinamos alguns métodos de aquisição
usando ferramentas comerciais. Agora, vamos aprender como extrair dados sem essas
ferramentas.
Machine Translated by Google
A ferramenta suporta os seguintes modelos de telefones Lumia: 520, 521, 525, 620, 625,
720, 820, 920, 925, 928, 1020 e 1320.
8.10.12393.890
8.10.12397.895
8.10.14219.341
8.10.14226.359
8.10.14234.375
8.10.15116.125
8.10.15148.160
10.0.10512.1000
10.0.10536.1004
10.0.10549.4
10.0.10581.0
10.0.10586.11
10.0.10586.36
Durante o processo de desbloqueio, o telefone pode reiniciar algumas vezes, mas este é um
comportamento normal:
Se o dispositivo foi atualizado com sucesso, ele é colocado no modo de armazenamento em massa:
Machine Translated by Google
Agora, o dispositivo pode ser facilmente visualizado, por exemplo, usando o FTK Imager:
Windows Phones podem conter cartões SD removíveis. Esses cartões podem ser
protegidos com uma chave que impede que o cartão SD seja removido e usado ou
acessado por outros dispositivos (telefones, câmeras, computadores e outros). Isso é
diferente da chave criada se o usuário criptografar o cartão SD.
Ataques de força bruta e de dicionário podem ser executados em cartões SD
criptografados pelo usuário na tentativa de acessar os dados. Ao examinar um Windows
Phone, é melhor pesquisar o dispositivo para ver se a segurança do cartão SD será um
fator ao adquirir dados do dispositivo. Nesse caso, basta seguir as etapas anteriores e
adquirir os dados do cartão SD por meio do telefone durante a extração forense.
Por favor, consulte o gráfico a seguir.
Para dispositivos onde o cartão SD pode ser removido, você tem dois cenários a
considerar. Se o dispositivo estiver ligado, você deve adquirir o telefone e o cartão SD
como estão? Se o dispositivo estiver desligado, você deve remover o cartão SD e
adquirir o dispositivo usando o FTK Imager? A resposta é, depende. Em forense,
usamos essa afirmação com frequência, mas ela permanece verdadeira. Se você deixar
o dispositivo ligado, ele deve ser isolado da rede para garantir que não seja acessado
remotamente e adquirido imediatamente, ou a bateria descarregará e, em última análise,
o dispositivo poderá desligar. Se o dispositivo estiver desligado e você remover o cartão
SD, você deve garantir que o cartão permaneça vinculado ao próprio dispositivo e seja
adquirido externamente e internamente para garantir que todos os dados sejam capturados.
Em uma situação normal, a tabela a seguir sugere as etapas recomendadas para lidar
com cartões SD encontrados em Windows Phones:
Machine Translated by Google
A maioria das ferramentas forenses comerciais oferece a extração de dados de cartões SD.
Frequentemente, o processo de extração do telefone apenas extrai os dados que residem no
cartão SD. Geralmente, esse é o caso quando não há suporte para um Windows Phone
específico. Se o cartão SD não for reconhecido pela ferramenta e os dados não forem extraídos,
é provável que o cartão SD tenha sido criptografado pelo usuário e a senha do dispositivo seja
diferente da senha do cartão SD.
Quando isso ocorrer, tente quebrar a senha e readquirir o dispositivo. Observe que quebrar
uma senha em um cartão SD nem sempre é possível, mas vale a pena tentar ataques de força
bruta e de dicionário como faria em um disco rígido padrão ou dispositivo externo.
podem ser examinados em uma variedade de ferramentas. Para criar uma imagem de cartão SD, siga
estas etapas:
cartão e no telefone para garantir que eles não fiquem permanentemente separados.
Observe a marca e o tamanho para garantir que você está adquirindo o dispositivo correto.
7. Selecione Concluir.
8. Clique em Adicionar e selecione o tipo de imagem. Para este exemplo, Raw (dd) será usado, pois
é compatível com a maioria dos métodos comerciais e de código aberto para análise:
pulou. 10.
Selecione o destino da imagem:
Machine Translated by Google
11. Selecione Concluir e, em seguida, selecione Iniciar. É recomendável que você verifique as
imagens depois que elas forem criadas.
Depois de concluído, seus resultados serão exibidos. Abordaremos a análise dos dados do cartão
SD nas seções a seguir.
Machine Translated by Google
Esses arquivos podem ser examinados manualmente, por exemplo, com um visualizador
hexadecimal, ou podem ser analisados automaticamente com ferramentas forenses móveis. Aqui
está o arquivo WebCacheV01.dat sendo analisado com o Magnet AXIOM:
Machine Translated by Google
Resumo
A aquisição de dados de dispositivos Windows Phone é um desafio, pois eles são
seguros, e as ferramentas forenses comerciais e os métodos de código aberto não
fornecem soluções fáceis para examinadores forenses como você. Ferramentas múltiplas,
chip off, JTAG e os métodos que definimos neste livro são alguns dos métodos que
fornecem acesso aos dados do usuário em dispositivos Windows Phone. Freqüentemente,
você descobrirá que os dispositivos Windows Phone exigem vários métodos de extração
para adquirir dados acessíveis. O maior desafio é conseguir acesso ao dispositivo para
adquirir os dados. Assim que os dados estiverem disponíveis, todas as informações
extraídas poderão ser analisadas por você.
O objetivo deste capítulo é apresentá-lo aos vários aplicativos vistos no Android, dispositivos iOS e
Windows Phones. Cada aplicativo irá variar devido a versões e dispositivos, mas suas estruturas
subjacentes são semelhantes. Veremos como os dados são armazenados e por que os arquivos de
preferência são importantes para sua investigação.
Introdução a aplicativos
de terceiros
Aplicativos de terceiros são parte integrante das investigações de dispositivos móveis; muitas
vezes, os principais artefatos parecem existir dentro de um aplicativo. Isso exige que você
entenda onde os dados do aplicativo são armazenados no dispositivo, como os dados do
aplicativo são salvos para essa plataforma e qual ferramenta melhor ajuda a descobrir as
evidências. A análise manual geralmente é um fator chave ao examinar aplicativos de terceiros
em qualquer smartphone. Embora algumas ferramentas comerciais, como Belkasoft Evidence
Center ou Magnet AXIOM, sejam conhecidas pelo suporte à análise de aplicativos, nenhuma
ferramenta é perfeita e é virtualmente impossível para as ferramentas acompanharem as
atualizações frequentes lançadas para cada aplicativo.
Na maioria das vezes, você descobrirá que as ferramentas comerciais disponíveis analisam
os aplicativos mais populares do mercado. Por exemplo, quando o Facebook comprou o
WhatsApp, Belkasoft, Cellebrite, Magnet Forensics e Oxygen Forensics começaram a oferecer
suporte a esse aplicativo. O Facebook é extremamente popular, mas os dados nem sempre
são extraídos ou analisados, devido aos recursos de segurança integrados ao aplicativo — é
aqui que todos os aplicativos diferem. Nosso melhor conselho é testar, testar e testar!
Você pode baixar um aplicativo, preencher dados e examinar os resultados para ver como sua
visão da evidência se compara à sua evidência real. Esta prática permitirá que você entenda
como as atualizações alteram os artefatos, como os locais das evidências mudam e como
extrair manualmente os artefatos que estão faltando em suas ferramentas. Além disso, a
engenharia reversa de um aplicativo e a análise de seu código ajudarão você a identificar onde
os dados são armazenados e como são armazenados.
A maioria dos aplicativos não requer um plano de dados para uso; eles podem funcionar
totalmente por meio de uma rede Wi-Fi, o que significa que os aplicativos ainda podem
funcionar se uma pessoa viajar para uma região na qual seu dispositivo normalmente não
funcionaria. Por exemplo, quando viajo, confio no Skype, Viber e WhatsApp para ligar e enviar
mensagens de texto para familiares e amigos. Para usar esses aplicativos, basta que meu
smartphone esteja conectado ao Wi-Fi.
Machine Translated by Google
Aplicativos de bate-papo
aplicativos de GPS
A maioria dos usuários ramifica de seus aplicativos de telefone padrão para suporte a GPS.
Isso inclui obter direções para locais e obter mapas para áreas de interesse. Aplicações GPS
comuns incluem Waze e Google Maps. O Waze vai além de apenas fornecer direções, pois
também alerta o usuário sobre perigos na estrada, trânsito e policiais que podem ser encontrados
ao longo da rota em que está dirigindo:
Machine Translated by Google
O aplicativo Waze
Aplicativos seguros
Se os dados são seguros e autodestrutivos, eles já existiram? Ignore as alegações
de retenção de dados e procure por esses dados, pois esses aplicativos geralmente
fazem alegações simplesmente falsas. Embora os aplicativos sejam projetados com a
segurança em mente, as atualizações são lançadas rapidamente e as verificações de
garantia de qualidade podem não ser fortes o suficiente para detectar tudo. Ocasionalmente,
você encontrará um aplicativo com um banco de dados criptografado ou inexistente, mas o
arquivo inclui um diário, registros de gravação antecipada ou arquivos de memória
compartilhada que contêm partes de bate-papos que deveriam ser criptografados. Além
disso, o usuário pode salvar arquivos de mídia compartilhados, fazer capturas de tela de
conversas e muito mais. Freqüentemente, você pode descobrir as imagens, arquivos de
áudio e vídeo que foram compartilhados e deveriam ser criptografados.
Aplicações financeiras
Os aplicativos que utilizam informações financeiras, como informações
de cartão de crédito e serviços bancários pessoais, devem ser criptografados e
seguros. Os dispositivos iOS não adquirirão esses aplicativos sem um ID e senha da Apple.
Mesmo que você tenha o ID Apple e a senha do usuário, os dados extraídos
ainda devem ser criptografados. Alguns exemplos de aplicativos financeiros incluem
Google Pay, Microsoft Wallet, PayPal, Apple Pay e compras no aplicativo.
Ao examinar um dispositivo, você pode ver que o aplicativo foi instalado com os
metadados do aplicativo associados, mas as informações e transações da conta
não estarão acessíveis.
Machine Translated by Google
Ao examinar esses aplicativos com ferramentas comerciais, é comum que chats e contatos
sejam analisados, o que significa que outros dados podem ser negligenciados.
Novamente, isso significa que você deve examinar o despejo de dados para garantir que
nada seja perdido. Como exemplo, vamos dar uma olhada no Twitter. Este aplicativo
armazena muitas informações que podem exigir mais de uma ferramenta para análise. Além
disso, o usuário pode ter que examinar manualmente os arquivos do banco de dados para
garantir que todos os artefatos tenham sido recuperados.
Vamos dar uma olhada no que a ferramenta foi capaz de extrair. Conforme declarado várias
vezes neste livro, comece com o que a ferramenta está dizendo que está instalado e, em
seguida, formule palavras-chave e métodos para se aprofundar no sistema de arquivos.
Podemos ver as informações da conta do usuário do Twitter, bem como o caminho do arquivo
onde esses dados estão sendo extraídos, na seguinte captura de tela:
Machine Translated by Google
Machine Translated by Google
Depois de examinar o que foi analisado pela ferramenta, os arquivos do banco de dados
devem ser examinados para garantir que nada foi perdido. Isso nem sempre é simples,
pois cada conta e função pode ter um banco de dados exclusivo. Por função, queremos
dizer que os contatos podem ser armazenados em um banco de dados enquanto os bate-
papos e as informações da conta são armazenados em outro. Depois de se familiarizar
com os aplicativos comuns, você saberá onde procurar primeiro.
Cada banco de dados pode conter dados exclusivos que podem ser analisados para
artefatos adicionais. Esses aplicativos também contêm valores de user_id exclusivos , que podem
ser usados como palavras-chave para pesquisar outros dispositivos com vestígios de comunicação
em uma investigação.
Consultas personalizadas podem ser escritas para analisar bancos de dados de interesse do
Twitter. Um bom exemplo de como fazer isso é mostrado a seguir. Esta consulta é específica
para analisar contatos do Twitter:
A maioria dos aplicativos afirma que criptografa dados ou que os dados nunca são salvos em disco.
Embora isso seja verdade para alguns, a maioria é simplesmente codificada. As opções de
codificação podem variar, mas a opção mais comum para dados de smartphone é Base64.
Os aplicativos de mensagens geralmente dependem da codificação Base64 para fazer com que
os dados pareçam ocultos ou seguros. Um artefato comum de Base64 é o preenchimento dos
dados com = quando os bytes codificados não são divisíveis por três.
Alguns anos atrás, Oxygen Forensics e Autopsy eram duas das poucas ferramentas que
suportavam a decodificação de cargas Base64 de aplicativos derivados de smartphones. Para
que essas ferramentas analisem os dados, elas devem oferecer suporte ao aplicativo que contém
a codificação. Atualmente, MSAB, UFED Physical Analyzer e Magnet IEF fornecem suporte de
decodificação Base64 .
A criptografia é um pouco mais difícil, pois o próprio aplicativo pode nem fornecer acesso
aos dados criptografados. Por exemplo, você pode descobrir que o diretório do banco de
dados ou as células que contêm os dados criptografados estão simplesmente vazios.
Ocasionalmente, você terá acesso aos blobs criptografados nos bancos de dados,
mas esses dados nem sempre podem ser descriptografados. Novamente, quando você se
depara com dados criptografados, procure outro lugar. Você examinou o diário e escreveu
logs de antecedência? Você examinou os diretórios de cache e mídia? Você examinou o
cartão SD? Estas são perguntas comuns que você frequentemente terá que se fazer para
garantir que não está confiando demais em suas ferramentas forenses e que está cobrindo
suas bases para garantir que nada seja esquecido.
Como explicamos, comece com o que você sabe. Sabemos que os diretórios de cache e
banco de dados armazenam dados do usuário, então este é um ótimo lugar para começar
seu exame manual, como você pode ver na captura de tela a seguir:
Machine Translated by Google
Além dos bancos de dados SQLite, outros dispositivos contam com arquivos Plist, XML, JSON e DAT
para armazenamento de dados de aplicativos, armazenamento de dados de contas, informações de
compra e preferências do usuário. Esses arquivos serão discutidos nas seções Android, iOS e Windows
Phone deste capítulo.
Machine Translated by Google
aplicativos iOS
A Apple conta com SQLite e Plist como locais comuns para armazenamento de dados de
aplicativos. Ocasionalmente, arquivos JSON serão usados para dados do aplicativo.
Examinar aplicativos recuperados de um dispositivo iOS pode ser opressor.
Sugerimos que você comece com o que você sabe e o que sua ferramenta está lhe
dizendo. Examine os aplicativos instalados listados pela ferramenta de sua escolha. A partir
daqui, vá diretamente para o diretório de aplicativos e verifique se nada está sendo esquecido.
Quando um usuário exclui um aplicativo, os bancos de dados geralmente permanecem e o
link para o aplicativo instalado é simplesmente quebrado.
Examinar todas as áreas do dispositivo iOS evitará que você perca dados:
Machine Translated by Google
Por fim, examine o diretório de mídia no iPhone, bem como aquele associado ao
aplicativo para recuperar artefatos adicionais, como fotos compartilhadas, vídeos,
arquivos de áudio e fotos de perfil. Na captura de tela a seguir, examinamos o diretório de mídia
associado ao aplicativo WhatsApp:
aplicativos Android
Os dispositivos Android dependem muito do SQLite para armazenamento de
aplicativos. Os arquivos de preferência para cada aplicativo geralmente estão nos
formatos de arquivo DAT ou XML. Mais do que em um dispositivo iOS, examinar aplicativos
em um dispositivo Android pode ser uma das tarefas mais tediosas. Isso se deve aos vários
locais onde os dados podem ser armazenados. O melhor lugar para começar é com uma
ferramenta que forneça uma lista do que está instalado no dispositivo. Em seguida, vá para
os subdiretórios fora do diretório /Root . Lembre-se de que esses aplicativos podem possuir
nomes exclusivos e podem ser difíceis de localizar.
Você pode ter que pesquisar o aplicativo para entender melhor os nomes de arquivos
associados a cada um deles. A captura de tela a seguir é um exemplo de diretórios de
aplicativos em um dispositivo Android:
Machine Translated by Google
Os dados do aplicativo podem existir em vários locais nos diretórios de mídia . O uso de
uma ferramenta, como o UFED Physical Analyzer, que fornece recursos de pesquisa de
palavras-chave que vão além dos itens analisados, realmente ajudará a localizar artefatos
pertencentes a aplicativos específicos. Estamos analisando a grande quantidade de dados
armazenados no diretório de mídia em um dispositivo Android em
Machine Translated by Google
a captura de tela a seguir. Esses dados são exclusivos do que está armazenado
nos diretórios de aplicativos discutidos anteriormente. Cada local precisa ser
examinado minuciosamente para garantir que nada seja esquecido. É importante
que você leve o que aprendeu nos capítulos anteriores para analisar os dados do
aplicativo Android:
Ferramentas comerciais
Como você viu neste livro, existem muitas ferramentas que podem lidar com o trabalho de
perícia em smartphones. No entanto, existem alguns que realmente se destacam quando se
trata de analisar os dados do aplicativo. Magnet AXIOM, Oxygen Forensic Detective e UFED
Physical Analyzer são alguns exemplos que fazem um bom trabalho de recuperação de dados
das categorias de aplicativos discutidas neste capítulo.
Vamos dar uma olhada rápida em como aproveitar cada uma dessas ferramentas para
analisar os dados do aplicativo. Lembre-se de que essas ferramentas não encontrarão
todos os aplicativos e não analisarão todos os dados dos aplicativos.
Machine Translated by Google
AXIOMA magnético
O Magnet AXIOM é conhecido como um dos líderes em internet e análise de
aplicativos para mídia digital. É tão forte com dispositivos móveis.
Novamente, uma ferramenta não pode fazer o trabalho, mas o AXIOM provou
ser o mais forte e analisa a maioria dos aplicativos do Android, iOS e Windows Phones.
Para usar o AXIOM para examinar os artefatos do aplicativo, execute as seguintes
etapas:
1. Inicie o AXIOM, crie um novo caso e selecione MOBILE (observe que, se MOBILE
estiver esmaecido, você precisará obter uma licença que forneça suporte móvel
da Magnet Forensics):
Para realizar um exame forense dos dados do aplicativo no Physical Analyzer, execute as seguintes
etapas para começar:
1. Inicie o Physical Analyzer clicando duas vezes no arquivo de imagem de atalho do UFED ou
clicando duas vezes no ícone da ferramenta.
2. Carregue o arquivo de imagem e aguarde até que a análise seja concluída.
3. Examine os artefatos analisados, conforme mostrado na captura de tela a seguir:
Machine Translated by Google
Para usar o Autopsy, baixe o software e instale-o em uma máquina Windows e siga estas instruções.
Certifique-se de estar sempre usando a versão mais recente:
1. Inicie a Autópsia.
2. Crie um novo caso:
Módulos de ingestão são ferramentas incorporadas ao Autopsy que podem ser executadas quando
o caso é iniciado ou a qualquer momento depois. Os módulos padrão nesta versão do Autopsy são
os seguintes:
palavras-chave/listas personalizadas.
Analisador de e-mail: este módulo detecta e analisa arquivos mbox e pst/ost e preenche
artefatos de e-mail no quadro-negro.
Detector de incompatibilidade de extensão: são arquivos sinalizadores que possuem uma
extensão não padrão com base em seus tipos de arquivo.
Verificador E01: valida a integridade dos arquivos E01.
Android Analyzer: extrai dados do sistema Android e de aplicativos de terceiros.
Além disso, você pode instalar módulos de terceiros para o Autopsy. Alguns deles são realmente
úteis para a análise forense do Android. Um bom exemplo é o Parse SQLite DB de Mark McKinnon.
Este módulo analisa qualquer banco de dados SQLite que encontra e o importa para o conteúdo
extraído. Este e outros módulos podem ser baixados deste GitHub: https://github.com/markmckinnon/
Autopsy-Plugins
O Autopsy fornece acesso aos dados do sistema de arquivos mais rapidamente do que qualquer
ferramenta comercial ou de código aberto disponível. Saber para onde ir a partir daí é a parte mais difícil.
Portanto, novamente, comece com qualquer coisa que esteja no conteúdo extraído e, em seguida,
mergulhe no sistema de arquivos para examinar os arquivos discutidos neste livro e quaisquer
dados relevantes do aplicativo, conforme mostrado na captura de tela a seguir:
Machine Translated by Google
Além dos scripts Python, já existem analisadores gratuitos que oferecem suporte à
extração de aplicativos. O WhatsApp Extract é uma ferramenta gratuita para Android e
iOS que extrai dados do aplicativo WhatsApp dos dispositivos. Muitas vezes, esta
ferramenta gratuita extrai mais dados do que as soluções comerciais, dependendo das
permissões que o usuário alocou durante a instalação. Outros, como Mari DeGrazia (http://
az4n6.blogspot.in/p/downloads.html), Adrian Leong (https://gith ub.com/cheeky4n6monkey/
4n6-scripts), Sarah Edwards (https:// github.com/mac4n6), e Alexis Brignoni (https://
github.com/abrignoni) desenvolveram scripts para analisar aplicativos, recuperar dados
excluídos de páginas gratuitas do SQLite, decodificar Base64 e muito mais. Recomendamos
usar o que já está disponível antes de desenvolver o seu próprio.
Machine Translated by Google
Resumo
Neste capítulo, aprendemos como analisar e extrair com êxito dados de aplicativos
populares de terceiros. Muitos aplicativos não são o que afirmam ser.
Nunca confie no que você lê sobre aplicativos, pois os testes de garantia de qualidade
em aplicativos não são consistentes e determinamos várias vulnerabilidades e falhas
de segurança ao longo dos anos que nos fornecem métodos para reunir os dados do
aplicativo. Além disso, as atualizações do aplicativo mudarão a maneira como
precisamos ver os dados encontrados. Entender cada smartphone e como ele armazena
os dados do aplicativo é o primeiro passo para examinar com sucesso os aplicativos em
smartphones. Saber que as atualizações podem alterar a localização, a codificação e a
criptografia dos dados, bem como o funcionamento da sua ferramenta, é um dos
conceitos mais difíceis de serem compreendidos pelos examinadores. É seu trabalho
aprender os recursos do aplicativo para descobrir o máximo de dados do dispositivo
móvel.
Entender como um aplicativo funciona é difícil o suficiente sem ter que considerar como
extrair artefatos. Como você leu neste livro, há muitas maneiras de analisar dados de
smartphones. Uma ferramenta nunca é suficiente, e a realidade é que a perícia móvel
pode ser cara. Esperamos ter fornecido a você um guia prático que ensina como
adquirir e analisar artefatos recuperados de smartphones. Pegue o que você aprendeu
e aplique-o imediatamente aos seus métodos para conduzir perícias móveis ou use-o
para ficar mais preparado em seu próximo trabalho. Lembre-se de que a prática, os
testes e o treinamento o tornarão melhor em seu trabalho e o ajudarão a aperfeiçoar a
arte da perícia móvel.
Machine Translated by Google
ISBN: 978-1-78728-868-3
Construir uma base sólida para adquirir e lidar com evidências adequadas para
análise posterior
Analise as evidências coletadas e determine a causa raiz de um incidente de
segurança
Aprenda a integrar técnicas e procedimentos forenses digitais no processo geral
de resposta a incidentes
Integre a inteligência de ameaças na análise de evidências digitais
Preparar documentação escrita para uso interno ou com partes externas, como
reguladores ou agências de aplicação da lei
Machine Translated by Google
ISBN: 978-1-78328-523-5