Hacking de una Raspberry Pi

Hacking de una Raspberry Pi

¡Atención! Este artículo se ha publicado con fines educativos e informativos. Geeky Theory no se hace responsable del uso que se le de.

¡Hola a todos!

Soy Jorge R.Castro y en este  tutorial vamos a ver un poco de Hacking. Nuestro objetivo será una Raspberry Pi, muy extendida en nuestro mundo geek y que muchos tienen conectada a jugosos discos duros, televisiones, sistemas de vigilancia y una larga lista de cosas que no fueron creadas para estar  24/7 (24h los 7 días de la semana) con acceso a la red, y que por tanto no suelen tener ninguna medida extra de seguridad.

Como ya hemos explicado, lo único que nos separa de esos "objetivos" es una Raspberry Pi y una conexión a Internet. Por tanto toda la seguridad dependerá de las buenas prácticas en la instalación.

Hoy nos centraremos en conexiones mediante SSH  y tenemos dos formas de proceder:

  1. Si se conoce la IP de la Raspberry Pi (suelen tener IP´s fijas asignadas para facilitar su conexión).
  2. Si se desconoce la IP (para descubrirla usaremos Shodan).

Todo aquel que no sepa qué es Shodan, en pocas palabras, es un buscador gratuito que nos permite encontrar todo aquello que esta conectado a Internet, ya sean routers, cámaras, impresoras.... , además en opciones avanzadas podremos elegir entre país o puerto, entre otros.

[caption id="attachment_9033" align="aligncenter" width="866"]oops! Se han indexado hasta las carpetas personales, una intruso sabría dónde buscar antes de entrar.[/caption]

Como podéis ver en la imagen solo con poner "raspberry" encontramos muchísimas máquinas conectadas, ¡e incluso se han indexado sus directorios y subcarpetas!

Una vez hemos elegido la Raspberry Pi, podemos ver información más detallada, y si usamos el comando ping desde el Terminal/Shell sabremos si se encuentra "despierta".

[caption id="attachment_9034" align="aligncenter" width="678"]Podemos ver que tiene un disco duro de 1Tb conectado y una impresora. Podemos ver que tiene un disco duro de 1Tb conectado y una impresora.[/caption]
$ ping "ip_elegida"

Ahora que tenemos certeza de que esa IP está conectada, intentaremos conseguir una shell remota, usando como usuario el que viene por defecto (depende de la distribución instalada, pero es fácil conocerlo googleando un poco).

En este caso se trata de "pi", así que nos queda sólo la mitad de trabajo: la password, que es vulnerable con ataques de fuerza bruta o diccionario si su longitud no es excesivamente grande. En este punto usaremos Hydra (herramienta de Linux) , pero que puede ser sustituida por vuestro programa de fuerza bruta preferido, y  un diccionario ("personalizado" o con todas las combinaciones ).

Tranquilo, si te has perdido, esta aclaración es para ti. Como ya sabes, para conectarnos mediante SSH necesitamos una IP (dirección a la que intentamos acceder), un usuario valido (por defecto es "pi") y además la contraseña asociada a ese usuario ( la desconocemos).  Aquí es donde usaremos el programa de BruteForce y un diccionario (este será el encargado de intentar acceder usando todas las combinaciones posibles existentes).

Finalmente es sólo cuestión de tiempo y continuidad de la conexión. Además podemos utilizar una configuración avanzada que nos permita separar las peticiones, usar proxys, o randomizar la IP desde la que "llamamos", por lo que pasaríamos más desapercibidos .

Una vez obtenida la contraseña sólo queda conectarnos.
$ ssh -l pi "ip_seleccionada"
Y  voilà!!!

Anotación

Con todo esto debemos empezar a pensar mejor cómo conectamos los equipos y las medidas de seguridad que necesitarán. Además, gracias a este pequeño artículo y a otros futuros, podremos auditar nuestras instalaciones y así implementar medidas y prácticas más eficaces.

Algunas de estas medidas podrían ser (citar todas sería imposible):

  • No permitir conexiones que origen distinto al de nuestra vivienda, además de filtrar por tarjeta MAC si queremos acceder desde fuera o incluso crear un túnel VPN.
  • Deshabilitar el usuario por defecto, cambiar la contraseña a una de extensión superior a 8 caracteres y usar caracteres alfanuméricos.
  • No usar el mismo disco duro que utilizamos para ver películas en nuestra tele, que el encargado del backup o donde tenemos nuestras nóminas.
  • ...

Espero que os haya sido de utilidad  y que hayáis podido mejorar la seguridad de vuestras Raspberry Pi.

 .R.Castro

     

7 comentarios


Hacking Raspberry PiMi Arduino | Mi Arduino · Hace 3 años

[…] Finalmente es sólo cuestión de tiempo y continuidad de la conexión. Además podemos utilizar una configuración avanzada que nos permita separar Seguir leyendo […]

vidpi · Hace 3 años

Teniendo encuenta que por defecto todas las raspberry tienen la misma contraseña y el usuario PI, y que una de las primeras cosas que se hace es enchufarla a la red, el articulo nos recuerda lo importante que es no dejar esa puerta de acceso abierta. Mas facil imposible.

jose Castro Garcia · Hace 3 años

Muy buena aportación esperemos otros rabajos

ferrervicent · Hace 3 años

Comentas "filtrar por tarjeta MAC" - > desde el exterior como? No hay arp no sabes nada de la mac Sobre VPN > entonces que sentido tiene el ssh? de hecho los cifrados habitualmente usados en la mayoría de vpn suelen ser peores y cifrar 2 veces (VPN+SSH, no suma seguridad y si resta mucho rendimiento) Sobre el problema de tener un ssh expuesto, hay muchas formas de protegerlo como fail2ban para este tipo de ataques o usar certificados digitales para acabar por completo. La mejor opción sin duda alguna quitar el ssh de internet si no se usa, un iptables bien configurado y certificado digital en vez de contraseña. Bien por divulgar más artículos de seguridad, aunque como opinión, justamente no me parece adecuado fomentar nada este tipo de práctica de fuerza bruta o probar dispositivos de terceros, sea con shodan o de otra forma. Un saludo

Mario Pérez Esteso · Hace 3 años

¡Cómo mola el artículo! Estoy deseando ver los siguientes :D

Hacking Raspberry Pi - Raspberry Pi | Raspberry Pi · Hace 3 años

[…] Leer el artículo completo | GeekyTheory […]

Samuel · Hace 3 años

Buenísima aportación Jorge, ahora los usuarios de Raspberry Pi tendremos en cuenta tus consejos para tener un poco mas de seguridad! Gracias

Deja un comentario