Android-virusEn la entrada anterior vimos como crear un panel de control en un servidor web para administrar los dispositivos que infectaremos posteriormente, en esta entrada, os mostraré como crear una APK Maliciosa para infectar dispositivos que ejecuten el sistema operativo Android (Smartphone, Tablets, etc).

Para este tutorial, necesitaremos tener instalado Eclipse + SDK de Android y tener instalado en el sistema el JDK, si tenéis cualquier tipo de problema en instalarlo, podéis buscar en Google, existen miles de tutoriales de como preparar Eclipse para el desarrollo de aplicaciones Android.

Una vez tenemos todo instalado en el sistema, abrimos nuestro Eclipse y deberemos importar el proyecto, nos vamos a File –> Import.

den1

El proyecto que tenemos que importar, está dentro de la carpeta Dendroid APK, recordemos que ya hemos utilizado la carpeta Dendroid Panel y nos faltaría por utilizar una última carpeta llamada APKBinder, que es la necesaria para “camuflar” nuestra APK Maliciosa.

dendroid2

Una vez hacemos Click en Import, debemos de indicarle a Eclipse que es un proyecto ya existente, en la categoría Android.

den2

En Root Directory buscamos la ruta de la carpeta Dendroid APK.

den3

Debemos de asegurarnos que la casilla Copy projects into workspace está marcada, de lo contrario la carpeta Dendroid APK desaparecerá y no la podremos volver a utilizar.

den4

Click en Finish y nos aparecerá en la parte izquierda de nuestro Eclipse el proyecto de Dendroid APK, listo para modificar y compilar.

den5

Es de buena práctica, renombrar los proyectos, yo lo llamaré DendroidAPK.

den6 den7

Vamos a modificar del proyecto solamente el valor de 3 variables, estas variables se encuentran en la clase DroidianService.java, dentro del paquete com.connect y en la carpeta src.

Se llaman encodedURL, backupURL y encodedPassword, si nos fijamos bien, veremos que su valor está codificado en Base64.

den8

El valor de estas variables deberemos de borrarlo, y los dejamos vacíos, como en la siguiente imagen.

den9

¿Y que debemos de poner si los hemos dejado vacíos? Lo primero será visitar la siguiente pagina web, CRYPO es una herramienta online para cifrar y descifrar en multitud de sistemas de numeración, nosotros la que utilizaremos será BASE64, y deberemos de poner la dirección en la cual quedo instalado nuestro panel de control, recordad que la mía era http://dendroid.hackpuntes.com/

den10

Una vez lo tenemos puesto, hacemos Click en el boton encrypt y nos aparecerá algo parecido a esto:

den11

Ese String, es que tendremos que poner como valor a las variables encodedURL y backupURL.

Para la variable encodedPassword repetiremos el mismo paso, pero esta vez deberemos de cifrar la contraseña que pusimos a la hora de crear nuestro panel de control (aquella que cambiamos el valor de keylimepie).

Nos quedaría así (evidentemente con la contraseña agregada)

den12

Ya tenemos el proyecto modificado, ahora deberemos de compilarlo y generar el APK, nos vamos a la pestaña File –> Export.

den13

Y le indicamos que queremos una Aplicación Android (APK).

den14

Hacemos Click en Next y en la siguiente ventana buscamos nuestro proyecto.

den15

La primera vez, nos pedirá una clave, si ya la tenemos marcamos la opción de Use existing keystore, en caso contrario la crearemos, debemos de indicar la ubicación en la cual se guardara la llave y ponemos un contraseña (otra distinta de las utilizadas hasta ahora).

den16

Rellenamos los campos.

den17

Y por ultimo nos pedirá que marquemos la ruta en la cual se generará el APK.

den18

Click en Finish y ya tenemos nuestra APK maliciosa, lista para infectar a dispositivos.

den19

Está claro que esta APK la hace falta el “último retoque”, en el siguiente capítulo, os mostraré como utilizar la última carpeta del proyecto Dendroid, llamada APKBinder, la cual nos permite fusionar nuestra APK Maliciosa con cualquier otra APK legítima del Google Play, y esta se instalará en el dispositivo de manera silenciosa a la vez que se instale la APK legítima.

Un Saludo y nos vemos en la próxima entrada.

Categorías: Android

Javier Olmedo

Consultor de Ciberseguridad, Técnico en Sistemas Informáticos y Técnico Superior en Desarrollo de Software, apasionado de la [In]Seguridad Informática.

17 commentarios

elliot49 · jueves, 10 marzo, 2016 a las 21:38

Saludos , tengo el siguiente problema; cuando importo la apk en eclipse (con el sdk de android) me aparecen 50 errores en el proyecto, hago los cambios de encriptación que tu enseñas, pero al exportar no me deja, me dice que tengo que corregir los errores, porque me aparecen esas x rojas?? he visto tutos no les apararece ese problema pliss ayuda que solo me falta eso

Sërgio · lunes, 9 noviembre, 2015 a las 00:40

Hola, no me deja exportar la aplicación. Da errores en el eclipse y por eso no me deja exportar.

    elliot49 · viernes, 11 marzo, 2016 a las 07:58

    encontré la respuesta tienes que instalar todos los pack de sdk pero no todos los APIS pero si lo tools etc (es ese cuadro que aparece despues de instalar sdk de andriod, dice asi install 19 pack tiens que palomear las los tools que faltan )

Rafa · lunes, 12 octubre, 2015 a las 23:30

Hola javier, te escribi por twitter y ahora por aqui, he comprobado todo y mi unica diferencia contigo es que mi panel se guarda en el dominio tal pero: midominio.algo/dendroid/ es decir a ti es en midominio.algo.
en crypo que debo meter la direccion completa o solo midominio

    Javier Olmedo · martes, 13 octubre, 2015 a las 20:16

    Hola Rafa,

    En Crypto tienes que poner el dominio o el subdominio, en tu caso parece ser midominio.algo.
    Cuidado con las “/” y asegúrate de hacerlo como en el tutorial.

    Saludos.

Charly Meyson · martes, 22 septiembre, 2015 a las 12:50

Mi correo es charlymeyson2.0@gmail. com para combersarlo en privado muchas gracias…

Charly Meyson · martes, 22 septiembre, 2015 a las 12:47

Hola estoy buscando comprar un troyano para Android q me de acceso remoto a todo el celular y es necesario q pueda usar el troyano desde una pagina web… alguien me puede ayudar? Desde ya muchas gracias…

xd · miércoles, 12 agosto, 2015 a las 03:46

Podrias compartir el codigo funte? ya probe con 2 y no lo logro analizo si se estan conectando a alguna parte y muestra una ip empiezo a creer que estan backdoorizadas

Niko · lunes, 3 agosto, 2015 a las 15:40

Hola, me gustaria saber cuando escribiras la siguiente entrada de este tutorial, ya que no encuentro como utilizar el apkbinder de Dendroid por ningun lado.

Gracias de antemano.
Un saludo.

pablo · miércoles, 29 julio, 2015 a las 18:33

Hola como estas, gracias por el tutorial, quiero experimentar con el en mi celular, pero no puedo hacerlo funcionar. Configuro todo, pero cuando llego al login, ingreso clave y usuario y al cargar, se queda en blanco, supuesta mente vuelve a cargar el “index.php”. Nunca mas lejos de eso, ya que el al cargar la pagina después me queda en blanco.

    adrian · lunes, 12 octubre, 2015 a las 20:30

    hola. bueno cuando deceo exportar me sale error proyect compilations y no deja compilar… para aquellos que les queda la pagina en blanco.. yo tube ke activar en el servidor apache. que me muestre los errores. y de esa fforma pude solucionar que se vea la pagina web…

      Javier Olmedo · martes, 13 octubre, 2015 a las 20:11

      Hola Adrián,

      Muchas gracias por aportar tu solución a tu problema, de esta manera ayudaremos a otros usuarios con problemas similares a los tuyos.
      Para esos tipos de problemas, siempre es mejor contactar con tu hosting y explicarlos el problema.

      Saludos.

Potator3 · sábado, 18 julio, 2015 a las 11:59

Genial tuto, hice todo tal y como pusiste y mis dispositivos aparecen en el panel de control, pero estan todo el rato en Offline, no se donde esta el error, lo he probado en un mobil y en una VM y los dos aparecen igual, Gracias.

    Javier Olmedo · martes, 21 julio, 2015 a las 00:58

    Hola Potator,

    Si has seguido el tutorial al pie de la letra no debería darte ningún problema, lo que puedo decir es que revises paso por paso, a veces una “/” en el valor de alguna variable puede ser el error.
    Por otra parte te diría que el hosting donde lo tengas almacenado puede causarte problemas, prueba con otro como ultima opción.

    Saludos.

Deja tu comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.