Olá a todos.
Hoje, queremos dar uma olhada em alguns casos extremos do uso da liberdade.
Então, vamos supor que temos acesso ao sistema de arquivos do Android ao despejar o chip.
Por exemplo, em uma smart TV, se soldarmos o eMMC, que se parece com isto, e este é o "oops", você não poderá
ver isso.
Assim é melhor.
Esse é o chip que contém o sistema de arquivos do Android.
Esse também está em seu telefone.
Mas não se preocupe, você não pode simplesmente ler seu telefone porque seus dados estão sendo criptografados,
mas não na smart TV.
Portanto, na smart TV, podemos despejar esse chip aqui e, em seguida, modificar o conteúdo do arquivo para que
possamos colocar o Frida no sistema de arquivos do Android aqui e, em seguida, inseri-lo novamente.
A propósito, para fazer o dump, podemos usar um simples cartão SD.
Neste caso, por exemplo, podemos soldar alguns pinos aqui para fazer a conexão com o eMMC.
E então podemos ler esse conteúdo.
Vamos dar uma olhada nisso no microscópio daqui a pouco.
Mas vamos terminar essa parte aqui.
Então, sobre o que é esse vídeo.
Portanto, temos acesso ao sistema de arquivos.
E podemos colocar o Frida no sistema Android aqui.
Mas não estamos tendo acesso ao shell do ADB.
Portanto, não ter acesso ao ADB significa que não podemos nos conectar com o nosso laptop ao Frida, ao servidor
Frida, e interagir com ele.
Precisamos fazer tudo isso no próprio sistema Android e como podemos fazer isso.
Descobriremos isso neste vídeo aqui.
Antes de começarmos, vamos dar uma olhada rápida no microscópio do MMC, que você já viu antes.
Portanto, como seus dados estão sendo armazenados no smartphone.
E então você terá que dar uma olhada na parte da Frida.
Tudo bem, ok.
Vamos lá.
Está bem.
Então, aqui podemos ver o chip. Coloquei um pouco de álcool isopropílico nele para limpá-lo.
E o que temos de fazer é obter a folha de dados, descobrir os pinos e, em seguida, fazer a conexão
com o cartão SD.
E então podemos simplesmente usá-lo como um cartão SD.
Então, nós o conectamos ao nosso computador.
E então esse arquivo aparece.
Hum, sim.
Como se estivesse inserindo um cartão SD normal.
Podemos fazer modificações, reformulá-lo e colocá-lo de volta.
Isso exige um pouco de esforço, mas sim, só para que você veja como esse processo funciona.
Está bem.
Então, colocamos o Frida no eMMC e o eMMC de volta na smart TV, o que significa que temos o Frida em execução
na smart TV, mas não estamos tendo ADB, ou pelo menos acesso ao ADB.
Não é possível conectar nosso laptop à smart TV e depois conectá-lo ao servidor Frida.
Precisamos lidar com o Frida na própria plataforma Android, portanto, sem conexão externa.
A propósito, isso também funciona no smartphone, de modo que você pode carregar o Frida, escrever alguns
scripts legais e usá-lo sem ter o laptop perto de você, o que é incrível, certo?
Mas como podemos fazer isso?
Bem, todos os desenvolvedores do Frida já pensaram nesse problema e criaram uma solução.
E a solução é a Frida.
Em tcheco.
É muito fácil de usar e agora vamos descobrir como.
Portanto, vamos dar uma olhada no repositório de Frida.
Então, estamos pesquisando no Frida GitHub.
Entramos no repositório oficial da Frida.
Selecionamos a Frida.
Em seguida, vamos para os lançamentos.
E aqui temos agora a versão 16 110.
Se expandirmos isso aqui e procurarmos por Frieda e verificarmos, poderemos ver que esses são todos os binários para todos esses
tipos diferentes de arquiteturas.
Portanto, temos a arquitetura ARM, a arquitetura ARM de 64 bits.
No momento, estou usando o Google Pixel.
Portanto, tenho que usar a versão de 64 bits.
Você também pode executá-lo no emulador e, sim, em outro lugar.
Muito bem, já fizemos o download.
Mas encontrei um problema com a versão mais recente do Frieda, portanto, talvez você já o tenha encontrado.
Às vezes, dois ou três não conseguem gerar o processo.
E isso remonta a Frieda, em 1603.
Portanto, esta é a última versão que funcionou para mim.
Até lá, estou tendo problemas com a versão de 64 bits, portanto, mostrarei como o erro se parece
com isso.
Você já está familiarizado com ela, mas, além de usar a versão mais recente agora, baixe também a versão mais
antiga.
Você poderá encontrá-la se acessar a página no início e selecionar esta versão aqui.
E então você tem essa versão na guia URL.
E, em vez de usar 16.110, estamos usando 1603.
Portanto, esta é a última versão do Frida Frida e o servidor Frida verificado Frida, o que quer que seja, é capaz
de gerar processos para mim na plataforma de 64 bits na plataforma arm de 64 bits.
Então, vamos também fazer o download do Frida e verificar aqui.
Está bem.
Portanto, ambos são baixados.
O quê?
Sim.
E é.
Está bem.
Então, encerramos o assunto.
Downloads.
E aqui está ele agora, ok.
E vamos extraí-lo aqui.
E também isso.
É a extração, eu acho.
A injeção é gratuita?
Não.
Está bem.
Parece estar pendurado.
Por quê?
Hmm.
Estranho.
Então, vamos fazer isso da seguinte maneira.
Está bem.
Você também pode fazer isso por meio da linha de comando.
É claro, mas gosto de mostrar dessa forma para que você possa acompanhar um pouco melhor.
Portanto, você também extrai este aqui.
Está bem.
E agora o que precisamos fazer é colocá-los em nosso sistema Android.
Então, aqui temos nosso smartphone Android, ok.
Vamos também abrir a tela.
Copiar isso.
Você pode ver isso.
É isso aí.
E vamos aumentar um pouco mais.
Está bem.
Então, vamos para o diretório de downloads e pressionamos oh, o que era uh Frida e verificamos.
Sim.
Este em dados temporários locais.
Porque esse é o único diretório capaz de executar esses binários.
Também a versão 110.
Está bem.
E agora também precisamos do nosso script, que queremos injetar no processo do smartphone.
Então, vamos voltar ao aplicativo de dados e observar esses parâmetros.
Vamos executar esse script.
A propósito, também encontrei alguns problemas com o 3D inject relacionados a bibliotecas nativas.
Portanto, se o seu aplicativo estiver usando bibliotecas nativas, talvez seja necessário reiniciá-lo várias vezes até
que funcione.
Não sei por que e talvez isso seja corrigido no futuro, mas, no momento, é assim que funciona.
Portanto, ele funciona melhor em binários que não têm bibliotecas nativas, mas também funciona em bibliotecas nativas.
Você só precisa reiniciá-lo algumas vezes.
Tudo bem.
Então, vamos voltar ao nosso aplicativo de dados amigável à privacidade.
Este aqui.
Vamos instalar também se não tivermos algum tipo de versão corrigida nele.
Está bem.
E então não quero estragar nossa solução.
Canais estrangeiros, desafios estrangeiros.
Por isso, usamos ganchos de parâmetros.
Vamos dar uma olhada rápida nesse caso.
Hum, sim.
Então, observamos esses parâmetros, os imprimimos e podemos ver que estamos retornando dois e seis.
Está bem.
Não tenho mais certeza sobre esses parâmetros.
Preciso dar uma olhada na função de lançamento de dados, mas acho que um é o número de olhos no dado e
um é o número referente ao dado.
Mas vamos ver.
Portanto, estamos substituindo o método original pelo nosso próprio.
Portanto, também precisamos desse gancho paramétrico nos dados locais temporários.
Está bem.
E agora podemos finalmente executá-lo.
Portanto, como já mencionado, é muito fácil.
E este vídeo é um pouco longo para uma tarefa tão fácil.
Mas, sim, pelo menos aprendemos alguma coisa, espero.
Então, tornamos ambos executáveis e agora começamos com a versão que não funciona.
Portanto.
Ah, não.
Vamos começar com a versão que funciona.
E então podemos ver como o erro se parece, ok.
Então, temos a Frida e verificamos que eu limpei a tela.
Assim, fica um pouco mais fácil para você acompanhar.
Está bem.
Então, Frida e verifiquei que essa versão funciona bem.
Então, vamos abrir o método de ajuda porque este tem um método de ajuda, o que é fantástico.
E tudo o que precisamos fazer é fornecer o parâmetro dash f.
Um, que gerou um arquivo ou, neste caso, nosso APK ou nosso processo.
Portanto, esse é o nome do pacote que precisamos fornecer se você quiser começar, Frida, com o script
pré-conectado.
Também podemos injetar no processo em execução e, em seguida, injetar nossos scripts relacionados ao método.
Isso depende do fato de nossos objetos já estarem disponíveis ou não.
Portanto, caso não saiba por que temos opções diferentes, recomendo que leia novamente a seção Frida, porque
lá discutimos quando os objetos estão disponíveis na memória e quando usar o pré-conectado
e quando usar, sim, depois que o aplicativo já estiver em execução.
Está bem.
Se ainda estiver confuso, escreva-me uma mensagem.
Com certeza.
Não há problema.
Está bem.
Portanto, precisamos ter o nome do pacote.
E é claro que já me esqueci dessa.
Então, vamos dar uma olhada rápida no script do gancho param porque aqui temos o nome do pacote, ok.
Então, limpo a tela mais uma vez.
Portanto, precisamos usar o Frida e injetar a versão correta se quisermos gerar nosso processo.
E agora é a opção Dash S e não Dash L.
Portanto, o traço S de script.
Não tenho certeza do motivo.
É um pouco incômodo neste caso, mas é um pouco incômodo no Frida inject.
Então, agora selecionamos nosso gancho paramétrico e estamos prontos para começar.
Portanto, isso acontecerá agora.
Isso é Frida ou não?
Interessante.
Portanto, acho que não tenho certeza do que está acontecendo.
Stefon reiniciando.
Está bem.
Interessante.
Temos alguma conexão?
Ok, vamos começar novamente.
Agora está funcionando.
Como você pode ver, foi um pouco estranho, mas parece funcionar.
Pelo menos o script está sendo executado.
E agora, se clicarmos, jogamos os dados.
Perfeito.
Sim, podemos ver que o parâmetro era cinco e seis, e substituímos isso em nosso script por
dois, que é o número de dados, e seis, que é a quantidade de olhos nos dados.
Portanto, independentemente do que fornecermos aqui, teremos apenas dois valores.
Isso também é bom.
Se aumentarmos o número de faces, ele passará de seis e o desenvolvedor optará
por não exibi-lo.
O desenvolvedor optou por exibir números.
Portanto, se você ficar abaixo de seis ou até seis, poderemos ver.
Sim.
Está bem.
Assim, podemos ver que usamos o 3D sem usar um laptop.
Quero dizer, no momento não é bem o caso, mas mostrarei daqui a pouco como podemos usá-lo de
forma autônoma em um smartphone, pois não precisamos nos conectar ao 3D com nosso laptop ou com o servidor 3D.
Podemos executar tudo isso no smartphone.
E há um aplicativo emulador incrível por aí e um emulador de terminal, que podemos executar localmente
depois.
Está bem.
Portanto, é assim que podemos usar o 3D sem ter acesso ao ADB ou ao servidor 3D.
Agora vamos dar uma olhada.
Hum, sim.
Como anexar a um processo em execução.
Talvez este primeiro.
Está bem.
Portanto, precisamos obter o ID do processo.
E há um truque interessante.
Podemos usar o nome do pacote.
E então podemos usar o PID off e esse nome de pacote.
E então obtemos essa ID de processo.
Portanto, estamos ecoando esse comando aqui que será substituído pelo número aqui retornado, que
é o ID do processo.
Portanto, não precisamos procurá-lo o tempo todo.
Podemos usar uh três para injetar a versão correta.
Agora podemos anexar a um processo em execução.
Talvez.
Vamos encerrar isso primeiro.
Ok, vamos repetir.
Está bem.
Podemos ver que agora está funcionando normalmente e agora usamos essa parte sem eco.
Portanto, isso retornará o ID do processo do aplicativo de dados.
E, em seguida, anexamos nosso script, que é um gancho de parâmetro, ok.
E agora, se clicarmos em lançar os dados, esse método será substituído.
Vamos ver 3 para 1.
Sim.
Podemos ver que esse já foi substituído.
Perfeito, ok, é assim que fica.
Se tudo correu bem.
Agora vamos dar uma olhada em como foi ou como parece que foi.
Não é tão bom assim.
Ao escolher a versão 3D mais recente, recebemos o seguinte erro.
O mesmo comando, apenas um binário diferente ou uma versão mais recente de 3 para 1.
Ok, esse funciona, o que é bom, mas o que definitivamente não funciona é iniciar esse processo.
Portanto, vamos voltar e optar por iniciar esse processo.
Está bem.
Sim.
Portanto, 110 binários lançam esse processo e usam esse script 3 para 1.
Sim.
Estamos tendo um acidente.
Deslocamento.
Podemos ver esses registradores, contador de programas e coisas assim.
E o smartphone está sendo reiniciado.
Portanto, se eu o desligar, podemos ver que ele está sendo reiniciado agora.
Portanto, se você encontrar esses travamentos, basta voltar para a versão 1603.
Então, tudo deve funcionar imediatamente.
A anexação ao processo em execução também funciona na versão mais recente, o que é bom, mas,
se você tiver problemas, use a versão mais antiga.
Tudo bem, por último, mas não menos importante, mencionei que podemos fazer tudo isso sem ter um laptop.
Agora, vamos instalar um emulador e um aplicativo de emulador de terminal.
E então vamos fazer isso mais uma vez.
Portanto, estamos usando o F-droid.
F-droid.
E há um aplicativo de terminal aqui.
Emulador de terminal para Android.
Este é de código aberto, portanto, você também pode verificar o código-fonte.
No momento, confio no desenvolvedor e simplesmente o instalo.
Ele também é apenas um dispositivo de teste.
Mas, se estiver executando isso em um dispositivo sensível, o que não deve ser feito, mas,
se for o caso, verifique o código-fonte.
Portanto, o APK pode ser baixado aqui.
Um.
Um momento.
Isso agora é o correto?
Sim, esse deve ser o aplicativo.
Então, preciso reconectar o smartphone.
Está bem.
Instalamos essa cópia de tela do aplicativo.
E agora eu fecho tudo isso e aquilo.
Você pode acompanhar.
Vou usar o smartphone agora mesmo, sem usar o laptop.
Portanto, podemos usar esse acesso ao arquivo do emulador.
Está bem.
Portanto, agora temos que digitar isso.
Você quer conceder isso?
E agora vou avançar um pouco, pois não tenho certeza se posso usar o teclado.
Então está tudo bem.
Portanto, você pode ver que isso agora está sendo executado diretamente no smartphone.
E posso desconectá-lo.
E então você pode carregá-lo e usar a liberdade, sem ter o laptop ao seu lado.
Portanto, a temperatura local dos dados está ok.
Então usamos.
Oof!
Frida.
Injetar 1603 Android arm64.
E depois.
Hum, nós nos conectamos ao processo de execução.
Então, aqui podemos ver.
Agora está funcionando normalmente.
Está bem.
E agora preciso usar uma nova janela e resolver esse processo.
Mas não sei o nome do pacote no momento, portanto.
Um.
Aqui.
É diferente.
Vejamos.
Mm.
É tudo.
Talvez eu precise de privilégios de root.
Sim, preciso de privilégios de root.
É claro que sim.
Dados.
Está bem.
Portanto.
Não consigo copiá-lo.
Org.
Ok, eu trapaceio um pouco.
Preciso obter o nome desse pacote rapidamente.
Design amigável à privacidade do aplicativo.
Está bem.
Poço tóxico no subsolo da zona CQ.
Gancho Dicer Param amigável à privacidade.
Certo, então.
Agora ele deve funcionar.
Vamos abrir esta.
Jogue os dados.
Perfeito.
E podemos ver se eu me desconectar.
Ele ainda funciona.
Incrível, não é?
Portanto, é assim que você pode usar o Frieda e despejar um IMG.
Portanto, acho que esse vídeo mais uma vez saiu um pouco do controle.
Mas, sim, enfrentei esse problema na smart TV e gostaria de compartilhar essa experiência com você, caso tenha
alguma dúvida, entre em contato.
Caso contrário, estou ansioso para vê-lo na próxima parte.