7.2 KiB
Aplicações Cordova
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
- Se você quer ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o material oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção de NFTs exclusivos
- Junte-se ao grupo 💬 Discord ou ao grupo telegram ou siga-me no Twitter 🐦 @carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para os repositórios github HackTricks e HackTricks Cloud.
Informações retiradas do post https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58
Informações Básicas
Apache Cordova é um framework popular que permite criar aplicações híbridas (Android & iOS) usando JavaScript, HTML e CSS.
Um dos principais problemas com o Cordova é que ele não possui um método padrão para proteger a fonte da aplicação, ao contrário do react-native. A fonte da aplicação Cordova não tem um método padrão para compilá-la, o que facilita a manipulação do código. A aplicação Cordova usa WebView para renderizar a aplicação usando HTML e JS, o que revela o código-fonte mesmo após compilá-lo para APK ou IPA, enquanto o react native usa JavaScript VM para executar o código JavaScript.
Clonando Aplicação Cordova
Para criar uma aplicação Cordova, precisamos instalar o NodeJS. Além do NodeJS, precisamos de algumas outras coisas instaladas para completar o processo de construção, como Android SDK, Java JDK e Gradle. Você pode seguir a documentação oficial para a lista de requisitos.
Para este exemplo, podemos assumir que o nome da aplicação original é Bank.apk
e o nome do pacote com.android.bank
Descompacte o bank.apk
e abra a pasta bank/assets/www
. Podemos visualizar a fonte completa da aplicação Cordova. Todo o código HTML e JS pode ser usado para criar um clone da aplicação. Também podemos encontrar o arquivo de configuração da aplicação em bank/res/xml/config.xml
.
Agora podemos criar um novo projeto de aplicação Cordova:
npm install -g cordova@latest
cordova create bank-new com.android.bank Bank
cd bank-new
Agora precisamos copiar todos os arquivos e pastas de bank/assets/www
para bank-new/www.
Ao copiar o código-fonte, precisamos excluir alguns arquivos e pastas como cordova_plugins.js, cordova.js, cordova-js-src/, plugins/
. Podemos copiar todos os arquivos e pastas excluindo os mencionados acima.
Quando criamos um novo projeto Cordova, precisamos mencionar se o aplicativo é para Android ou iOS. Como estamos clonando o aplicativo Android, precisamos adicionar uma plataforma Android a ele. No Cordova, temos as versões da plataforma, cada versão possui diferentes recursos e suporte para APIs do Android ou versões do Android.
A API do Android e as versões da plataforma Cordova Android são diferentes. Você pode verificar a lista de versões da plataforma e seu suporte para APIs do Android.
Para adicionar a plataforma Cordova Android, precisamos descobrir qual versão foi originalmente usada pelo aplicativo. Se você usar uma versão diferente, pode enfrentar problemas, pois estamos usando o mesmo código-fonte para clonar o aplicativo. Você pode abrir o arquivo cordova.js
e procurar PLATFORM_VERSION_BUILD_LABEL
para encontrar a versão usada pelo aplicativo.
\
Agora que adicionamos suporte à plataforma Android, podemos adicionar todos os plugins necessários usados pelo aplicativo. No aplicativo original bank/assets/www/cordova_plugins.js
, podemos encontrar uma lista de todos os plugins usados pelo aplicativo. Precisamos instalar esses plugins um por um. Procure por module.exports.metadata
no arquivo cordova_plugins.js
. Também podemos ver todos os plugins com suas versões.
Precisamos instalar todos os plugins um por um com a ajuda do comando abaixo
cd bank-new
cordova plugin add cordova-plugin-dialogs@2.0.1
{% hint style="warning" %} Se um plugin não estiver disponível na pesquisa npm, procure-o no Github:
cd bank-new
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
{% endhint %}
Para compilar a aplicação, precisamos garantir que todos os requisitos já estejam instalados.
cd bank-new
cordova requirements
Uma vez que tenhamos toda a configuração pronta, podemos construir o apk.
cd bank-new
cordova build android — packageType=apk
O comando de build acima criará um apk com o método de debug ativado, o que nos permite depurar a aplicação usando o Google Chrome. Antes de instalar o apk, certifique-se de assiná-lo. Se a aplicação tiver detecção de adulteração de código, ela será contornada, a menos que não haja uma configuração específica definida.
Ferramenta Automática
MobSecco: Uma ferramenta que automatiza o processo completo de clonagem da aplicação Android.
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
- Se você quer ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o material oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção de NFTs exclusivos
- Junte-se ao grupo 💬 Discord ou ao grupo telegram ou siga-me no Twitter 🐦 @carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do HackTricks e HackTricks Cloud.