Cibersecurity - Tegnology Header

1-removebg-preview-1

Ghost y Shodan: Herramienta para acceder a dispositivos Android


Hola amigos como se encuentran, hoy veremos algo interesante, veremos un tutorial de como acceder a dispositivos android desprotegidos mediante Android Debug Bridge (adb)
Cabe aclarar que vamos a realizar esta accion de forma aleatoria y sin escoger a nuestra victima, estaremos accediendo a dispositivos de forma totalmente aleatoria, utilizando el buscador y rastreador de Shodan.

¿como funciona el ataque?

el ataque funciona mediante Android Debug bridge(adb) que es lo que usaremos para conectarnos a dispositivos android que tengan abierto esta via de comunicacion, utilizando solo su direccion IP y un puerto, por default el puerto adb es el 5555.
Android Debug Bridge (ADB) es una herramienta de línea de comandos versátil que te permite comunicarte con un dispositivo. El comando adb permite realizar una variedad de acciones en el dispositivo, como instalar y depurar apps, y proporciona acceso a un shell de Unix que puedes usar para ejecutar distintos comandos en un dispositivo. Es un programa cliente-servidor que incluye tres componentes:
  • Un cliente, que envía comandos. El cliente se ejecuta en tu máquina de desarrollo. Puedes invocar un cliente desde un terminal de línea de comandos emitiendo un comando adb.
  • Un daemon (adbd), que ejecuta comandos en un dispositivo. El daemon se ejecuta como un proceso en segundo plano en cada dispositivo.
  • Un servidor, que administra la comunicación entre el cliente y el daemon. El servidor se ejecuta como un proceso en segundo plano en tu máquina de desarrollo.

¿como funciona ADB?

Cuando inicias un cliente ADB, el cliente primero comprueba si hay un proceso del servidor de ADB en ejecución. Si no lo hay, inicia el proceso del servidor. Cuando se inicia el servidor, este se vincula con el puerto TCP local 5037 y busca comandos enviados por los clientes de ADB; todos los clientes de ADB usan el puerto 5037 para comunicarse con el servidor de ADB.
Luego, el servidor establece conexiones con todos los dispositivos en ejecución. Localiza los emuladores escaneando puertos con números impares en el rango de 5555 a 5585, que es el que usan los primeros 16 emuladores. Cuando el servidor encuentra un daemon de ADB, establece una conexión con ese puerto. Ten en cuenta que cada emulador usa un par de puertos secuenciales (un puerto con número par para las conexiones de la consola y uno con número impar para las conexiones de ADB). Por ejemplo:
Emulador 1, consola: 5554
Emulador 1, adb: 5555
Emulador 2, consola: 5556
Emulador 2, adb: 5557
y así sucesivamente.
Como se muestra, el emulador conectado al ADB en el puerto 5555 es el mismo que el emulador cuya consola se encarga de la recepción en el puerto 5554.
Una vez que el servidor establece conexiones con todos los dispositivos, puedes usar comandos ADB para acceder a esos dispositivos. Dado que el servidor administra las conexiones con los dispositivos y maneja comandos de diferentes clientes de ADB, puedes controlar cualquier dispositivo desde cualquier cliente.

Cómo habilitar la depuración de ADB en tu dispositivo

Para usar ADB con un dispositivo conectado a través de USB, debes habilitar Depuración por USB en la configuración del sistema del dispositivo, que se encuentra en Opciones para desarrolladores.
En Android 4.2 y versiones posteriores, la pantalla “Opciones para desarrolladores” se encuentra oculta de forma predeterminada. Para poder visualizarla, dirígete a Configuración > Acerca del teléfono y presiona Número de compilación siete veces. Cuando regreses a la pantalla anterior, verás Opciones para desarrolladores en la parte inferior.
En algunos dispositivos, la pantalla “Opciones para desarrolladores” puede encontrarse en otro lugar o tener un nombre diferente.
Ahora puedes conectar tu dispositivo con USB. Para ello, ejecuta adb devices desde el directorio android_sdk/platform-tools/. Si está conectado, verás que el nombre del dispositivo se enumera como “device” (dispositivo).

Cómo conectarse a un dispositivo mediante Wi-Fi

En general, adb se comunica con el dispositivo mediante USB, pero también puedes usar adb mediante una red Wi-Fi después de realizar la configuración inicial mediante USB, como se describe a continuación. Sin embargo, si estás desarrollando una app para Wear OS, deberías consultar la guía para depurar una app para Wear OS, que incluye instrucciones especiales para usar ADB con Wi-Fi y Bluetooth.
  1. Conecta tu dispositivo Android y la computadora host ADB a una red Wi-Fi común a la que ambos puedan acceder. Ten en cuenta que no todos los puntos de acceso son adecuados; quizá necesites usar un punto de acceso cuyo firewall esté configurado correctamente para admitir ADB.
  2. Si te conectas a un dispositivo Wear OS, desactiva Bluetooth en el teléfono que esté sincronizado con el dispositivo.
  3. Conecta el dispositivo a la computadora host con un cable USB.
  4. Configura el dispositivo de destino para que busque una conexión TCP/IP en el puerto 5555
    adb tcpip 5555
  1. Desconecta el cable USB del dispositivo de destino.
  2. Busca la dirección IP del dispositivo Android. Por ejemplo, en un dispositivo Nexus, puedes encontrar la dirección IP en Configuración > Acerca de la tablet (o Acerca del teléfono ) > Estado > Dirección IP. O bien, en un dispositivo Wear OS, puedes buscar la dirección IP en Settings > Wi-Fi Settings > Advanced > IP address (Configuración > Configuración de Wi-Fi > Configuración avanzada > Dirección IP).
  3. Para conectarte al dispositivo, busca su dirección IP. adb connect device_ip_address
  4. Confirma que tu computadora host esté conectada al dispositivo de destino: $ dispositivos adb Lista de dispositivos conectados dirección_ip_dispositivo : dispositivo 5555
¡Ya estás listo para empezar!

¿Como puedo acceder a dispositivos android utilizando shodan?

primeramente creamos una cuenta en shodan.io o si ya tenemos logueamos en una

2. Descargamos la herramienta ghost desde Github

la herramienta ghost nos permitira conectarnos a servidores adb remotos para acceder a los dispositivos android que podamos encontrar en el buscador Shodan para descargar la herramienta colocamos en la terminal

3. instalamos Ghost

los pasos para instalar esta herramiena son muy sencillas son los siguientes:
cd ghost
chmod +x install.sh
./install.sh
al ejecutar ese comando empezaran a instalarse las dependencias de forma automatica y les tirara una salida similar a la siguiente
al finalizar la instalacion les saldra algo como esto

4. Ejecutar Ghost


Debemos ejecutar ghost introduciendo
ghost
al ejecutar la herramienta nos saldra la siguiente interfaz
podemos listar los comandos disponible introdiendo help, y nos saldra la siguiente salida
ahora debemos ir al buscador shodan y loguearnos en una cuenta, en el buscador colocaremos
android debug bridge
Podemos buscar diferentes paises, generalmente los paises donde suelen funcionar las conexiones son en paises de europa, cabe aclarar que estas ips podemos intentar conectarnos a travez de ghost pero que no todas las ips mostradas en shodan podran conectarse, en algunos casos si en otros casos no, es cuestion de ir probando ip por ip y introducirlo en ghost.

5. Conectarnos a travez de ghost

Solamente queda conectarnos, despues de buscar los servidores adb en shodan ahora podremos intentar conectarnos a una ip en ghost utilizando
connect IP
dejare un ejemplo en la siguiente imagen:
en mi caso pude conectarme a esta ip sin prolemas, pero les repito en algunos casos no podran conectarse y le tirara un mensaje de error, en mi caso como pude conectarme este es la salida que les arrojara cuando se conecten:
Aqui ya hemos accedido al dispositivo android, si quisieramos ver los comandos que tenemos disponibles podemos utilizar help
Entre las cosas que podemos hacer son
  • Reniciar el dispositivo
  • Navegar por sus directorios
  • Lanzar procesos/aplicaciones
  • Mostrar nivel Bateria
  • Mostrar informacion del dispositivo
  • Descargar cosas de su celular
  • Tomar Screenshot de la pantalla
  • Subir cosas a su celular
  • Lanzar una Shell
Las cosas son similares a las que podemos hacer mediante una seccion de Meterpreter, tenemos acceso a gran parte del dispositivo les dare un ejemplo
Bueno amigos esto es todo, espero este tutorial te haya servido y nos vemos en una proxima, sigueme en mis redes sociales:
Correo (para consultas): info@facundosalgado.com