Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Sandroid_Dexray-Intercept — Una herramienta de análisis de malware para Android que crea perfiles de ejecución completos mediante la interceptación del comportamiento de las aplicaciones en criptografía, sistemas de archivos, bases de datos, comunicaciones de red y operaciones de procesos. | Kitploit
Herramientas/GitHubGitHub/fkie-cad/sandroid_dexray-intercept
Seguridad AndroidAnálisis Dinámico (Sandboxing)Análisis Dinámico de Código (DAST)Ingeniería InversaAnálisis ForenseRecopilación de InformaciónForensia MóvilAnálisis de Malware

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Criptografía
Seguridad Móvil
Utilidades y Frameworks
GitHubfkie-cad/sandroid_dexray-intercept

Sandroid_Dexray-Intercept

Una herramienta de análisis de malware para Android que crea perfiles de ejecución completos mediante la interceptación del comportamiento de las aplicaciones en criptografía, sistemas de archivos, bases de datos, comunicaciones de red y operaciones de procesos.

Ver RepositorioSitio web
9316hace 18 díasAún no revisado
Dexray Intercept Logo

Rastreador de API de Binarios de Android

Sandroid - Dexray Intercept

version PyPI version CI Ruff Publish status Documentation

Dexray Intercept forma parte del Sandbox dinámico Sandroid. Su propósito es crear perfiles en tiempo de ejecución para rastrear el comportamiento de una aplicación Android. Esto se realiza utilizando frida.

Instalación

Simplemente instálalo con pip:

root@kitploit:~
python3 -m pip install dexray-intercept

Esto instalará Dexray Intercept como herramienta de línea de comandos ammm o dexray-intercept. Además, proporcionará un paquete dexray_intercept. Más información sobre cómo usar el paquete a continuación.

Ejecución

Asegúrate de que tu dispositivo Android esté rooteado. El frida-server se instalará automáticamente en la última versión. Luego puedes usar Dexray Intercept simplemente invocando el siguiente comando:

root@kitploit:~
dexray-intercept <target app>
# o usando su nombre antiguo:
ammm <target app>

Selección de Hooks (Nueva Funcionalidad)

Todos los hooks están deshabilitados por defecto para un rendimiento óptimo. Habilita los hooks según tus necesidades de análisis:

root@kitploit:~
# Habilitar hooks específicos
dexray-intercept --enable-aes <app_name>                    # Habilitar hooks de criptografía AES
dexray-intercept --enable-web <app_name>                    # Habilitar hooks web/HTTP
dexray-intercept --enable-aes --enable-web <app_name>       # Habilitar múltiples hooks

# Habilitar grupos de hooks
dexray-intercept --hooks-crypto <app_name>                  # Habilitar todos los hooks de criptografía
dexray-intercept --hooks-network <app_name>                 # Habilitar todos los hooks de red  
dexray-intercept --hooks-filesystem <app_name>              # Habilitar todos los hooks de sistema de archivos

# Habilitar todos los hooks (impacto en el rendimiento)
dexray-intercept --hooks-all <app_name>                     # Habilitar todos los hooks disponibles

# Usar el identificador del paquete en lugar del nombre de la app
dexray-intercept -s com.example.package --hooks-crypto

Categorías de Hooks Disponibles

  • Criptografía: --hooks-crypto (AES, codificaciones, keystore, certificados)
  • Red: --hooks-network (HTTP, sockets, SSL/TLS)
  • Sistema de Archivos: --hooks-filesystem (operaciones de archivos, bases de datos, preferencias compartidas)
  • IPC: --hooks-ipc (intents, broadcasts, binder, preferencias compartidas)
  • Proceso: --hooks-process (desempaquetado de DEX, bibliotecas nativas, runtime)
  • Servicios: --hooks-services (cámara, ubicación, telefonía, bluetooth)

Aquí un ejemplo de monitoreo de la app chrome en nuestro AVD:

root@kitploit:~
dexray-intercept Chrome
        Dexray Intercept
⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠙⢷⣤⣤⣴⣶⣶⣦⣤⣤⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠾⠛⢉⣉⣉⣉⡉⠛⠷⣦⣄⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠋⣠⣴⣿⣿⣿⣿⣿⡿⣿⣶⣌⠹⣷⡀⠀⠀
⠀⠀⠀⠀⣼⣿⣿⣉⣹⣿⣿⣿⣿⣏⣉⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠁⣴⣿⣿⣿⣿⣿⣿⣿⣿⣆⠉⠻⣧⠘⣷⠀⠀
⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡇⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠈⠀⢹⡇⠀
⣠⣄⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣠⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⢸⣿⠛⣿⣿⣿⣿⣿⣿⡿⠃⠀⠀⠀⠀⢸⡇⠀
⣿⣿⡇⢸⣿⣿⣿Sandroid⣿⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣷⠀⢿⡆⠈⠛⠻⠟⠛⠉⠀⠀⠀⠀⠀⠀⣾⠃⠀
⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣧⡀⠻⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⠃⠀⠀
⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢼⠿⣦⣄⠀⠀⠀⠀⠀⠀⠀⣀⣴⠟⠁⠀⠀⠀
⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣦⠀⠀⠈⠉⠛⠓⠲⠶⠖⠚⠋⠉⠀⠀⠀⠀⠀⠀
⠻⠟⠁⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠈⠻⠟⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠉⠉⣿⣿⣿⡏⠉⠉⢹⣿⣿⣿⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⢀⣄⠈⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[*] starting app profiling
[*] press Ctrl+C to stop the profiling ...

[*] Filesystem profiling informations:
[*] [Libc::read] Read FD (anon_inode:[eventfd],0x7ac6b67540,8)

[*] Filesystem profiling informations:
[*] [Libc::read] Read FD (anon_inode:[eventfd],0x7fcb41c990,8

Ejecutar como paquete

Nueva API (Recomendada)

Instala Dexray Intercept como un paquete y usa la nueva arquitectura modular:

root@kitploit:~
from dexray_intercept import AppProfiler, setup_frida_device
from dexray_intercept.services.hook_manager import HookManager

# Connect to device and get process
device = setup_frida_device()
process = device.attach("com.example.app")

# Configure hooks (all disabled by default for performance)
hook_config = {
    'aes_hooks': True,
    'web_hooks': True, 
    'file_system_hooks': True,
    'keystore_hooks': True
}

# Create profiler with new architecture
profiler = AppProfiler(
    process, 
    verbose_mode=True,
    output_format="JSON",
    hook_config=hook_config,
    enable_stacktrace=True
)

# Start profiling
script = profiler.start_profiling()

# ... let app run and collect data ...

# Get results
profile_data = profiler.get_profile_data()
json_output = profiler.get_profiling_log_as_json()

# Runtime hook management
profiler.enable_hook('socket_hooks', True)  # Enable more hooks at runtime
enabled_hooks = profiler.get_enabled_hooks()  # Check what's enabled

# Stop profiling
profiler.stop_profiling()

Categorías de Hooks

Habilita grupos de hooks específicos según tus necesidades de análisis:

root@kitploit:~
# Crypto hooks
hook_config = {
    'aes_hooks': True,
    'encodings_hooks': True, 
    'keystore_hooks': True
}

# Network hooks  
hook_config = {
    'web_hooks': True,
    'socket_hooks': True
}

# File system hooks
hook_config = {
    'file_system_hooks': True,
    'database_hooks': True
}

# Enable all hooks (performance impact)
profiler.enable_all_hooks()

# Enable hook groups
profiler.enable_hook_group('crypto')  # Enable all crypto-related hooks

API Legacy (Compatibilidad hacia atrás)

La API antigua sigue disponible para compatibilidad hacia atrás:

root@kitploit:~
from dexray_intercept import AppProfilerLegacy
# OR use environment variable: DEXRAY_FORCE_OLD_ARCH=true

profiler = AppProfilerLegacy(process_session, verbose=True, output_format="CMD", 
                           base_path=None, deactivate_unlink=False)
profiler.instrument()  # Old method name
# ... 
profiler.finish_app_profiling()  # Old method name

Uso con Sandroid

Para ejecutarlo como un paquete en Sandroid, asegúrate de haber instalado también el JobManager de AndroidFridaManager. Esto permite ejecutar múltiples sesiones de frida en diferentes hilos. Todo lo que tienes que hacer es ejecutar el siguiente código:

root@kitploit:~
from AndroidFridaManager import JobManager
from dexray_intercept import AppProfiler 

job_manager = JobManager()
app_package = "net.classwindexampleyear.bookseapiececountry"
profiler = AppProfiler(job_manager.process_session, True, output_format="JSON", base_path=None, deactivate_unlink=False)
frida_script_path = profiler.get_frida_script()

job_manager.setup_frida_session(app_package, profiler.on_appProfiling_message)
job = job_manager.start_job(frida_script_path, custom_hooking_handler_name=profiler.on_appProfiling_message)

# close only the job and the frida session keeps active to run other frida scripts
# job_manager.stop_job_with_id(job.job_id) 
job_manager.stop_app_with_closing_frida(app_package) # stops the frida session and the app and all frida jobs

profiler.write_profiling_log() # write the log data to profile.json
# instead of writing it to a file the JSON output will just be returned
# profiler.get_profiling_log_as_JSON() 

Asegúrate de que ninguna otra parte de tu código esté intentando conectarse al servidor frida (ninguna otra sesión de frida). Para probar esto puedes intentar con el siguiente ejemplo: catelites_2018_01_19.apk. El nombre del paquete es net.classwindexampleyear.bookseapiececountry. Asegúrate de que tu AVD esté ejecutándose en Android 9, para que el ejemplo pueda ejecutar todo su código malicioso. Puedes instalar este ejemplo simplemente con adb install samples/unpacking/catelites_2018_01_19.apk.

Compilación y Desarrollo

Para compilar este proyecto, asegúrate de que npm y frida-compile estén ejecutándose en tu sistema e instalados en tu path. Desde la versión 17.0 de frida, frida-compile se instala mediante pip install frida-tools. Luego simplemente invoca el siguiente comando para obtener el último agente frida compilado:

root@kitploit:~
$ cd <AppProfiling-Project>
> Dexray [email protected] build
> frida-compile agent/hooking_profile_loader.ts -o src/dexray_intercept/profiling.js

$ npm install frida-java-bridge@latest --save
$ npm install --save-dev @types/frida-gum@latest
> Dexray [email protected] prepare
> npm run build
up to date, audited 75 packages in 6s

19 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Esto asegura que los últimos scripts/hooks de frida se utilicen en dexray-intercept.

Para realizar ajustes en el código Python, se recomienda instalar dexray-intercept con pip utilizando el modo editable:

root@kitploit:~
python3 -m pip install -e . 

De esta manera, los cambios locales en el código Python se reflejan sin crear una nueva versión del paquete.

📚 Documentación

Hay documentación completa disponible que cubre instalación, uso, referencia de API y desarrollo:

  • 📖 Documentación Completa - Sitio de documentación completo
  • 🚀 Guía de Inicio Rápido - Comienza en minutos
  • 🐍 Referencia de la API de Python - Uso programático
  • 🔧 Referencia de la API de TypeScript - Desarrollo de hooks personalizados
  • 💻 Guía de Uso de la CLI - Interfaz de línea de comandos
  • ⚙️ Configuración de Hooks - Categorías y opciones de hooks

Requisitos

Simplemente invocando el siguiente comando en este directorio, el setup.py debería usarse para instalar dexray-intercept como un paquete Python local en tu sistema:

root@kitploit:~
python3 -m pip install .

Desarrollo

Para compilar los hooks de frida en TypeScript necesitamos el proyecto frida-compile (enlace). El cual se incluirá con frida-tools.

root@kitploit:~
python3 -m pip install frida-tools

Además, también necesitamos soporte para frida-java-bridge y los tipos internos de frida:

root@kitploit:~
npm install frida-java-bridge@latest --save
npm install --save-dev @types/frida-gum@latest

Desempaquetado Profundo

Al desempaquetar, las aplicaciones pueden cargar DexCode—previamente apuntado a bloques de memoria distintos—en un DexFile, que representa el código que se está ejecutando. Por ejemplo, algunas aplicaciones pueden restaurar instrucciones inmediatamente antes de la ejecución. En tales casos, Sandroid no puede revertir las instrucciones de vuelta al DexFile. Se necesita más investigación para resolver este problema.

Agradecimientos

Dexray Intercept se basa en el excelente trabajo de varios proyectos de código abierto e investigadores en la comunidad de seguridad de Android y análisis dinámico. Nos gustaría reconocer los siguientes proyectos que han inspirado o contribuido a nuestra implementación:

Framework Principal de Frida

  • Frida - El kit de herramientas de instrumentación dinámica que impulsa nuestras capacidades de análisis en tiempo de ejecución
  • frida-java-bridge - Esencial para la instrumentación del runtime de Java/Android

Implementaciones y Técnicas de Hooks

  • AppMon por @dpnishant - Proporcionó hooks fundamentales para análisis en tiempo de ejecución, monitoreo de IPC, acceso al portapapeles y operaciones de bases de datos
  • Android-Malware-Sandbox por @Areizen - Hooks de codificación Base64 y técnicas de monitoreo de sockets
  • RMS-Runtime-Mobile-Security por @m0bilesecurity - Análisis de keystore y detección de certificate pinning
  • Medusa por @Ch0pin - Patrones de análisis en tiempo de ejecución y técnicas de desempaquetado de DEX
  • frida-android-libbinder por @Hamz-a - Análisis de IPC de Android Binder
  • frida-snippets por @iddoeldor - Suplantación de ubicación y funciones de utilidad

Investigación en Seguridad de Android

  • BlackDex por @CodingGay - Técnicas de desempaquetado de DEX y evasión de anti-análisis
  • Frida-Python-Binding por @Mind0xP - Patrones de integración de Python para Frida

Análisis de SQLite y Bases de Datos

  • SQLite Database Hook por @ninjadiary - Técnicas de monitoreo de bases de datos

Extendemos nuestra gratitud a estos proyectos y sus mantenedores por avanzar el estado del análisis de seguridad de Android y hacer su trabajo disponible a la comunidad.

Hoja de Ruta

  • [ x ] Crear plantillas para los diferentes hookings que queremos instalar para obtener un perfil en tiempo de ejecución
  • Crear una aplicación de prueba que use todas las diferentes características que queremos hookear (necesitamos algún tipo de ground truth para probar nuestros hooks)
  • Implementar los hooks reales
  • [ x ] El formato para imprimir la información monitoreada
  • https://attack.mitre.org/matrices/mobile/ agregar esto como resultado final para que podamos decir qué tipo de Ataques está usando la Aplicación
  • También queremos rastrear cosas como "esto son problemas de privacidad", "esto podría llevar a bugs" ...
Descargar herramienta