
Análisis estático de APKs con expresiones regulares
( ) ( )
( )\ ) ( /( )\ ) ( /(
)\ (()/( )\())( ( ( (()/( )\())
((((_)( /(_))((_)\ )\ )\ )\ /(_)|(_)\
)\ _ )\(_)) |_ ((_|(_)((_) ((_|_)) _((_)
(_)_\(_) _ \| |/ /\ \ / / | | | | | \| |
/ _ \ | _/ ' < \ V /| |_| | |__| .` |
/_/ \_\|_| _|\_\ \_/ \___/|____|_|\_|
Con ApkVuln obtendrás los archivos .java de un APK y serán analizados en busca de posibles vulnerabilidades en el código, para ello hará uso de expresiones regulares.
Nota: La precisión de los resultados dependerá de las expresiones regulares. Son personalizables.
Para ejecutar esta aplicación necesitas instalar Python 3.6+ y apkx.
Para el funcionamiento completo, verificar la versión de firma y AndroidManifest necesitas instalar: apksigner y aapt
Agregar un módulo con nuestras propias expresiones regulares es muy fácil, solo crea un archivo .py en regex, crea nuestra clase que hereda de Template, por ejemplo:
from regex._template import Template
class Regex(Template):
def __init__(self):
pattern_list = [r"exprexion1", r"expresion1000"]
file_type = ["xml", "html", "js", "java", "json"] # specifies the type of files to be applied
desc = "This is the vulnerability description"
super(Regex, self).__init__(pattern_list, "Vulnerability Test", file_type, desc)
Aquí hay un ejemplo de la herramienta analizando la apk vulnerable Diva

El software ha sido desarrollado para verificar un apk con el fin de mejorar su seguridad. El autor no se hace responsable de ningún uso ilegítimo.