Olá e sejam todos bem-vindos a um novo formato de série, que é desafiador neste curso.
E isso é algo que também me deixa muito animado. O que faremos nesta série de vídeos é resolver juntos
alguns desafios de reflexão do Captcha e, então, descobriremos se o que aprendemos até
agora é realmente prático ou se precisamos adaptar alguns novos métodos para resolver esses
desafios.
Caso descubramos alguns tópicos que ainda não foram abordados neste curso, também atualizarei este curso
com relação a eles, é claro, se estiverem relacionados ao Android.
Muito bem.
Tudo bem.
Portanto, eu sugeriria que déssemos uma olhada em alguns deles.
Por isso, identifiquei este site interessante que faz parte do OWASp mobile Application Security.
E aqui temos muitos desafios para refletir o Captcha.
Alguns deles já são familiares para nós.
Por exemplo, os aplicativos bancários inseguros ou aqueles que não podem ser violados pelo menos nos níveis um e dois.
Acho que não tenho certeza sobre coisas de nível três, como o banco digital.
Não tenho a menor ideia sobre essas coisas.
E também o que está dentro.
Portanto, isso também será bonito.
Sim, muito empolgante para mim.
Vamos dar uma olhada no primeiro código, que também é algo que não tenho certeza do que
se trata.
Ele é de código aberto e usa Kotlin, certo?
E sim, ele tem muitas vulnerabilidades.
Então, vamos dar uma olhada.
Está bem.
São vulnerabilidades perfeitas.
Vulnerabilidades abordadas neste aplicativo.
Tudo bem.
Então, vamos ver como esse aplicativo lida com isso.
E já vamos começar a desafiar o que sabemos e o que talvez esteja faltando.
Vejamos.
A detecção de roteamento não deve ser um problema.
Esse é um assunto que já abordamos várias vezes.
Além disso, a emulação ou a detecção do emulador torna o armazenamento de dados inseguro em relação às preferências de compartilhamento.
Também não é nada demais.
Hum, este também não tenho certeza de qual é a diferença.
Talvez criptografia?
Não sei.
Armazenamento inseguro de dados?
SQLite?
Hum, acho que também.
Não há problema.
Pode ser apenas o banco de dados SQLite armazenado em algum lugar, mas vamos ver.
Arquivos temporários de armazenamento de dados inseguros.
Ok, isso talvez esteja relacionado a dados.
Cartão SD de temperatura local.
Isso é limpar o cache do teclado.
Sim.
Esse é um assunto que ainda não abordamos.
Acho que há uma regra bem fácil com relação a isso.
Se o aplicativo permitir a área de transferência.
Portanto, se você puder inserir texto da área de transferência no aplicativo, por exemplo, em campos
de texto, isso também poderá ser feito vice-versa.
Isso significa que, se você inserir algum texto em seu aplicativo, esse texto poderá acabar na área de transferência, e algum
outro aplicativo poderá acessar esses dados da área de transferência.
Portanto, isso é algo que eu coloquei definitivamente na agenda porque é algo que ainda não abordamos,
ok.
O login inseguro do cache do teclado não deve ser um problema.
Hum, sim.
XSS de validação de entrada.
Portanto, temos a injeção de SQL de validação de entrada e a webview de validação de entrada.
Acho que todos eles estão relacionados ao XSS do WebView.
Tenho certeza de que isso está relacionado ao uso da Web.
A injeção de SQL também pode estar relacionada ao Contentprovider, mas não vamos nos precipitar.
Portanto, o uso da Web é algo que ainda não abordamos, mas que já está em minha agenda e que será
abordado em breve.
Falaremos sobre aplicativos multiplataforma.
Assim, você escreve seu aplicativo em JavaScript e, em seguida, ele é transferido para algum aplicativo nativo.
Por exemplo, um aplicativo Android também pode ser um aplicativo iOS, o que significa que o WebView é simplesmente uma página
da Web em seu aplicativo móvel que mostra o conteúdo.
Portanto, é como uma página da Web executada em seu aplicativo móvel e, por isso, você não precisa codificar nativamente.
As webviews podem conter alguns riscos.
Quero dizer, aplicativos da Web típicos, vulnerabilidades como cross-site scripting.
Também falaremos sobre scripts entre sites quando tratarmos desse tópico.
Também recuperaremos ou, sim, atualizaremos as injeções de SQL.
Portanto, isso é algo sobre o qual ainda não conversamos.
E acho que esse é um tópico importante que colocarei em pauta.
Sim.
Está bem.
Portanto, abordaremos as visualizações da Web muito em breve.
Vamos seguir em frente.
Em breve, componentes Android desprotegidos, serviços de atividades, receptores de transmissão e provedores
de conteúdo.
Tudo bem.
Quero dizer, essas são coisas com as quais definitivamente lidamos.
Além dos provedores de conteúdo, temos muitos exercícios, mas acho que há outros desafios
que abordam esse tópico.
Portanto, podemos sim, podemos praticar isso.
Todos eles não devem ser um problema.
Problemas de codificação rígida.
Acho que esse é um valor codificado no código-fonte do aplicativo.
Portanto, temos que descompilá-lo e encontrá-lo, hum, algo que já tratamos.
Portanto, não há problema.
Interceptação de rede http e https.
Não há problema.
Além disso, a fixação de certificados deve ser passível de correção por nós.
Muito bem, temos a configuração incorreta da segurança de rede.
Isso também é algo que já abordamos.
O Android Debuggable também é algo que já abordamos.
Permitir backup.
Hum, acho que sim.
Sim, tenho quase certeza de que tivemos essa criação de backup na seção Bluetooth, porque lá temos esse
HCI, um, logout dele para que saibamos como criar esse backup e o que temos de verificar se as informações confidenciais
estão sendo incluídas nesse backup.
Mas, para ser honesto, mesmo que sejam informações confidenciais nesse backup, é difícil considerá-las sempre
como um risco.
Portanto, as pessoas estão discutindo esse tópico.
Se o token da autenticação de dois fatores deve ser incluído em um backup.
Se ele não estiver incluído, você poderá perder o acesso a esse aplicativo quando o dispositivo for perdido,
quebrar ou algo assim.
Então, sim, agora você pode copiar essa parte.
Mas sim, veja bem, vamos falar sobre isso e identificar o que é mencionado ou qual é o objetivo
desse aplicativo.
Mas é difícil fornecer uma regra geral, hum, se esse é um problema real ou não.
Portanto, vamos manter as coisas assim.
Tudo bem.
Esquema de URL personalizado.
Não tenho 100% de certeza do que está por trás disso, mas o que me vem à mente são os deep links.
Os links diretos também são algo que não foi abordado de forma explícita, mas implícita, se é que você me
entende, acho que não.
Então, deixe-me explicar.
Os links diretos são, por exemplo, coisas como mail to e dois pontos, o que significa que, se você tiver um
link com esse prefixo, seu aplicativo de e-mail será aberto automaticamente.
Portanto, há um filtro de intenção que está ouvindo esses eventos de link.
E se esse evento de link for acionado, o aplicativo será aberto.
Há alguns problemas com os links diretos.
E isso também é algo relacionado, eu diria, à recompensa por bugs, porque você pode obter alguns relatórios
fáceis com isso.
Portanto, devemos conversar sobre isso separadamente.
Tratamos disso na seção de intenções, mas não de forma tão explícita que possa ser familiar a esta.
Portanto, também colocarei isso em minha agenda.
Links profundos são aceitáveis.
Criptografia quebrada.
Temos que descobrir o que há nesse aplicativo em relação a este.
Mas acho que isso é algo com o qual devemos ser capazes de lidar.
Leitura de código QR e autenticação de impressão digital.
Não tenho ideia do que está por trás disso, mas, quero dizer, está chegando.
Portanto, não tenho certeza se isso já está incluído e se a autenticação por impressão digital está correta.
Você pode desbloquear o smartphone com a impressão digital.
Hum, mas isso também não está incluído ainda.
Tudo bem.
Portanto, o restante já está sendo tratado por esse curso.
Acho que isso é incrível, certo?
Portanto, já poderíamos começar com esse.
Mas vou pesquisar os aplicativos e tentar encontrar um que esteja mais relacionado ao Ghidra,
porque recebo muitos comentários de pessoas que querem analisar algum código nativo relacionado ao
Ghidra e, portanto, vou tentar encontrar um.
Hum, sim.
Que abrange esse tópico.
Portanto, esse é o ponto de partida de nossa série.
Não precisarei examinar o desafio antes.
Portanto, faremos isso juntos.
Isso.
Sim, para que você possa ver minha abordagem de como configurar tudo e como eu abordaria essa análise
de um aplicativo.
Muito bem.
Está bem.
Portanto, isso é tudo para a introdução.
E no próximo vídeo, vamos ver se conseguimos encontrar alguns.
Sim, algum aplicativo relacionado a trapaças.
Estou vendo você lá.