3 votos

¿Si habilito adbd LAN tcp 5555, significa que cualquier aplicación o dispositivo LAN puede conectarse al puerto 5555 para obtener permiso de shell?

Tengo un Android 8 TV box. En la configuración de desarrollador, puedo habilitar/deshabilitar la depuración USB. Después de habilitarla, cualquier dispositivo en LAN puede usar adb connect para conectarse a (sin necesidad de contraseña o autenticación) y controlarlo a través de la shell.

Mis preguntas:

  1. ¿Eso significa que cualquier aplicación en los dispositivos Android puede conectarse a 127.0.0.1:5555 y obtener permisos de shell? (El Android box tiene permisos de root. En adb puedo usar su directamente)

    ss -pnltu | grep 5555 muestra:

    tcp    LISTEN     0      4        :::5555                 :::*                   users:(("adbd",pid=5051,fd=15))

    ¿Cómo puedo proteger mi Android de ser hackeado por una aplicación instalada?

  2. No puedo usar setprop ro.adb.secure 1, dice

    setprop: failed to set property 'ro.adb.secure' to '1'

    Siempre es 0. Entonces la ROM no admite la función de seguridad adb RSA para la autenticación.

    ¿Cómo puedo proteger mi Android de ser hackeado por otros dispositivos de la LAN?

(Quiero mantener la depuración USB activada para poder instalar/desinstalar aplicaciones desde la PC)


Actualización: Se me ocurrió un truco simple: cambiar el puerto

setprop service.adb.tcp.port 5550

eso ocultará mi adbd del 80% de los hackers, creo.

Pero, aún así, no es una solución real. Es solo una solución temporal.

0 votos

Aunque exista una vulnerabilidad hipotética, no me preocuparía mucho ya que tienes control total sobre tu LAN, ¿verdad? Puedes modificar boot.img o system.img default.prop y flashearlo de vuelta al dispositivo, o instalar Magisk y usar la función resetprop

2voto

pr0nin Puntos 353

Si no hay autenticación adb, cualquier dispositivo en su red puede conectarse y emitir comandos de shell.

Una solución alternativa podría ser limitar el acceso adb a nivel de IP utilizando iptables. Eso permitiría limitar el acceso a su PC, asumiendo que su PC siempre tiene la misma IP en su red doméstica.

Pero, dado que tiene permisos de root, puede considerar instalar un sshd y mantener adb apagado. El sistema de autenticación de ssh es efectivo y adicionalmente ssh proporciona un canal de comunicación cifrado (que adb no proporciona, es plano como telnet).

0 votos

Gracias por el consejo de sshd. Lo he considerado antes también. Para el propósito de obtener una shell, ssh es suficiente. Pero cuando quiero usar scrcpy o adb install, todavía tengo que activar la depuración de adb en red

1 votos

@BobJohnson adb install es más o menos la combinación de adb push y pm install (comando en el dispositivo). Por lo tanto, debería ser posible instalar aplicaciones a través de ssh. E incluso scrcpy podría funcionar de alguna manera en github.com/Genymobile/scrcpy/issues/1421 se enumeran algunas posibilidades.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X