
Ferramenta portátil de aquisição forense para dispositivos Android que coleta dados relevantes via depuração USB para identificar potenciais vestígios de spyware ou comprometimento, com criptografia age opcional para transporte seguro.
NOTA: este projeto atualmente não é mantido. Um fork independente pode ser encontrado no MVT Project.
androidqf (Android Quick Forensics) é uma ferramenta portátil para simplificar a aquisição de dados forenses relevantes de dispositivos Android.

Os binários executáveis para Linux, Windows e Mac devem estar disponíveis na última versão. Caso tenha problemas ao executar o binário, talvez queira compilá-lo você mesmo.
Para compilar o androidqf, você precisará do Go 1.18+ instalado. Você também precisará instalar o make. Quando estiver pronto, pode clonar o repositório e executar qualquer um dos seguintes comandos, para sua plataforma de escolha:
make linux
make darwin
make windows
Estes comandos gerarão binários em uma pasta build/.
Antes de iniciar o androidqf, você precisa ter o dispositivo Android alvo conectado ao seu computador via USB e precisará ter a depuração USB ativada. Consulte a documentação oficial sobre como fazer isso, mas lembre-se de que telefones Android de diferentes fabricantes podem exigir etapas de navegação diferentes das padrão.
Uma vez que a depuração USB esteja ativada, você pode prosseguir iniciando o androidqf. Ele primeiro tentará conectar-se ao dispositivo através da ponte USB, o que deve fazer com que o telefone Android solicite que você autorize manualmente as chaves do host. Certifique-se de autorizá-las, idealmente permanentemente, para que a solicitação não apareça novamente.
Agora o androidqf deve estar executando e criando uma pasta de aquisição no mesmo caminho onde você colocou seu binário do androidqf. Em algum momento da execução, o androidqf solicitará algumas escolhas: esses prompts pausarão a aquisição até que você forneça uma seleção, portanto preste atenção.
Assim que a aquisição for concluída, você deve certificar-se de desativar a depuração USB e as opções do desenvolvedor, ou em qualquer caso, restaurar o dispositivo à sua configuração original.
Carregar as aquisições do androidqf em uma unidade não criptografada pode expor você, e ainda mais aqueles de quem você adquiriu dados, a riscos significativos. Por exemplo, você pode ser parado em uma fronteira problemática e sua unidade do androidqf pode ser apreendida. Os dados brutos podem não apenas expor o propósito de sua viagem, mas também conterão dados muito sensíveis (por exemplo, lista de aplicativos instalados ou até mesmo mensagens SMS).
Idealmente, você deve ter a unidade totalmente criptografada, mas isso nem sempre é possível. Você também pode considerar colocar o androidqf dentro de um contêiner VeraCrypt e carregar com ele uma cópia do VeraCrypt para montá-lo. No entanto, os contêineres VeraCrypt são tipicamente protegidos apenas por uma senha, que você pode ser forçado a fornecer.
Alternativamente, o androidqf permite criptografar cada aquisição com uma chave pública age fornecida. Preferencialmente, esta chave pública pertence a um par de chaves para o qual o usuário final não possui, ou pelo menos não carrega, a chave privada. Desta forma, o usuário final não seria capaz de descriptografar os dados adquiridos mesmo sob coação.
Se você colocar um arquivo chamado key.txt na mesma pasta do executável do androidqf, o androidqf tentará automaticamente compactar e criptografar cada aquisição e excluir as cópias originais não criptografadas.
Depois de recuperar um arquivo de aquisição criptografado, você pode descriptografá-lo com age da seguinte forma:
$ age --decrypt -i ~/path/to/privatekey.txt -o <UUID>.zip <UUID>.zip.age
Tenha em mente que é sempre possível que pelo menos alguma parte dos dados não criptografados possa ser recuperada através de técnicas forenses avançadas - embora estejamos trabalhando para mitigar isso.
O objetivo do androidqf é facilitar a análise forense consensual de dispositivos daqueles que possam ser alvos de ataques sofisticados de spyware móvel, especialmente membros da sociedade civil e comunidades marginalizadas. Não queremos que o androidqf possibilite violações de privacidade de indivíduos sem consentimento. Portanto, o objetivo desta licença é proibir o uso do androidqf (e de qualquer outro software licenciado da mesma forma) para fins de forense adversarial.
Para conseguir isso, o androidqf é lançado sob a MVT License 1.1, uma adaptação da Mozilla Public License v2.0. Esta licença modificada inclui uma nova cláusula 3.0, "Restrição de Uso Consensual" que permite o uso do software licenciado (e qualquer "Trabalho Maior" derivado dele) exclusivamente com o consentimento explícito da(s) pessoa(s) cujos dados estão sendo extraídos e/ou analisados ("Proprietário dos Dados").