La herramienta, que es sólo para educación, genera una GUI web de comando y control para controlar dispositivos Android, que está construida alrededor de Metasploit y ADB.
La herramienta:
- Utiliza contenedores Docker para simular un entorno Kali Linux con el framework metasploit
- Utiliza llamadas RPC para comunicarse con la API del framework Metasploit
- Utiliza ADB para instalar el payload en el dispositivo de destino e implementar funcionalidades adicionales (el dispositivo debe estar en la misma LAN)
Características
Acciones disponibles con el framework Metasploit
- Volcar información del sistema
- Volcado de la ubicación
- Transmisión de la cámara web en vivo
- Volcado de mensajes
- Cambiar el modo de audio
- Volcar registros de llamadas
- Volcar la hora local
- Grabación del micrófono – Sólo funciona para Android < 9.0
- Desinstalar la aplicación
- Listar aplicaciones instaladas
- Enviar mensaje
- Volcar contactos
- Bloquear/desbloquear pantalla
- Ejecutar comando de Shell
- Instantánea de la cámara web
- Abrir aplicación
- Instalar aplicación
- Información del dispositivo
- Ocultar/Mostrar el icono de la aplicación de payload
Acciones adicionales a través de ADB
Volcar las conversaciones de Whatsapp desde la base de datos de la copia de seguridad (desactivado por razones de seguridad)- Volcar la información del Wi-Fi
- Instantánea de la pantalla
- Subir archivo
- Pantalla de grabación
- Extraer archivo
- Iniciar el minero de criptomonedas Monero en segundo plano
Instalación
Para la instalación necesitarás Docker y Chocolatey. Dado que la aplicación depende de muchas herramientas de terceros, Docker ayuda a entregar la solución sin la carga de descargar y configurar todos los paquetes necesarios.
Requisitos previos
Instale ADB a través de Chocolatey. Desde un prompt de powershell elevado (Ejecutar como administrador):
choco install adb --version=1.0.39
Crea un directorio de proyecto, y descarga el archivo docker-compose. Puedes usar curl:
curl https://raw.githubusercontent.com/CanciuCostin/android-spyware/master/docker/docker-compose.yml -o docker-compose.yml
Descarga las imágenes necesarias:
docker-compose pull
Despliegue
- Inicia el servidor ADB desde una línea de comandos:
adb server
- Opcional, establece tu API Key de Google MAPS en el archivo
docker-compose
para el widget del dashboard - Inicia el contenedor (dentro del directorio del proyecto):
docker-compose up
- Espera a que los contenedores se inicialicen, y accede a la aplicación en el navegador a través de http://localhost/admin. Se creará el directorio de archivos. Contendrá las payloads y las salidas de las acciones.
Uso
- Asegúrate de que la depuración USB está activada en tu dispositivo Android
- Opcional: Conecta tu dispositivo Android al portátil mediante USB – De lo contrario no podrás utilizar las funciones ADB y tendrás que instalar el malware manualmente
- Abre la aplicación de rails en el navegador: http://localhost/admin e inicia sesión. Credenciales por defecto:
Usuario: admin@example.com
Contraseña: password
- Generar APK: Comprueba la dirección IP de tu máquina en la LAN. Para Windows puedes utilizar:
ipconfig
- Ve a Payloads (http://localhost/admin/apk_payloads) y Create New
- Selecciona el puerto 4444, introduce la dirección IP de la máquina y da un nombre al APK
- El payload del APK se generará en
/files/payloads
- Instalar el APK
- Ve a APK Installations (http://localhost/admin/apk_installations) y Create New
- Selecciona tu apk generado previamente de la lista y deja el destino como USB
- Es posible que tengas que aprobar un aviso en el dispositivo
- Ejecutar acciones
- Ve a Remote (http://localhost/admin/remote)
- Abre la aplicación instalada en tu dispositivo. Deberías ver la luz verde de tu conectividad MSF justo después. El ADB también debería ponerse en verde si tu dispositivo está conectado vía USB
- Ejecuta las acciones haciendo clic en los iconos con aspecto de aplicación en el widget del dispositivo. La salida se mostrará en el widget de terminal, y la salida se almacenará en
/files/dumps
Una vez que haya instalado e iniciado la aplicación, podrás iniciar diferentes acciones como:
- tomar fotos con la cámara
- volcado de contactos, llamadas telefónicas y mensajes
- acceder al sistema de archivos
Problemas de Depuración
Problemas de conexión con MSF/ADB (la luz verde no aparece en la página remota)
- Asegúrate de que has generado el apk con la IP correcta de la máquina
- Asegúrate de que la conexión desde el smartphone a tu máquina no está bloqueada por el firewall local. De lo contrario, deberías permitir la conexión en los puertos 2222, 3333, 4444. Para comprobarlo, puedes intentar acceder a
http://:2222
. Deberías poder acceder al sistema de archivos del contenedor MSF a través del servidor http - Asegúrate de que la conectividad contenedor Docker – HOST está funcionando. La máquina host se accede a través de gateway.docker.internal, que se establece en el archivo
docker-compose
. Si no te funciona, también puedes intentar sustituirlo por docker.host.internal - Para la conexión ADB, puedes intentar reiniciar el servidor local:
adb kill-server
adb server
- Para la conexión ADB, asegúrate de que la depuración USB está activada
Construir
Requisitos de software
Pasos de construcción del servidor Rails:
git clone https://github.com/CanciuCostin/android-spyware.git
cd android-spyware
gem install bundler:2.1.4
bundle
npm install yarn -g
yarn install --check-files
Asegúrate de que las siguientes variables de entorno están configuradas:
ANDROIDSPYWARE_DATABASE_HOST=localhost
ADB_HOST=localhost
RAILS_HOST=127.0.0.1
Ejecuta el servidor:
rails server
Nota: la base de datos postgresql local también se puede utilizar como alternativa, pero tendrás que ejecutar los scripts rake para la inicialización:
rake db:create //alternatively run createdb android_spyware_[developmen|test|production]
rake db:schema:load
rake db:seed /too add mock data required for start-up
https://github.com/CanciuCostin/android-spyware