Imprimir Contenido

TECH
Tiene de todo en Tecnologia.....

DESBLOQUEAR NETBOOKS DEL GOBIERNO TODA LA INFO EN ESTA SECCIÒN

Conectar Igualdad y su [in]seguridad

El plan Conectar Igualdad tiene como fin la entrega de netbooks a las escuelas secundarias públicas en Argentina, y ya cuenta con dos millones de equipos entregados. Yo fui uno de los alumnos que la recibieron, y ya hablé de ésta anteriormente en mi blog, primero con una crítica y luego con un post informativo para quitarle la publicidad.
En el día de hoy vengo a hablar acerca de las medidas de seguridad que se implementan tanto en las computadoras de los alumnos como en las de los profesores, o en los mismos servidores de la escuela que también se entregan junto a las netbooks.
Antes de empezar, me gustaría aclarar que el material publicado a continuación tiene fines educativos, y si alguien quiere darle un uso menos ético se puede sentir libre de hacerlo, pero bajo su propia responsabilidad.

Servidores

Dentro del colegio hay Access-Points en cada aula. Estos se encuentran conectados a un sistema central, para poder conectar a los alumnos y profesores a los servidores de la escuela. Estos servidores son máquinas virtuales que corren en un servidor bastante potente. La primera es más sencilla y corre un servidor Web que nos provee algunas aplicaciones y actividades, y la otra funciona como servidor de Theft Deterrent, el programa que gestiona los certificados de arranque que evitan el bloqueo de las computadoras.

Encontrando servidores de Theft Deterrent por Google

Un servidor de Theft Deterrent debería estar disponible solamente en la red local, ya que la gracia del sistema de bloqueo es que el dueño del equipo se conecte regularmente a un AP de su escuela para que se le renueven los arranques. Sin embargo, si buscamos en Google con un dork personalizado podemos encontrar servidores abiertos al público. Si una computadora de esa escuela es robada, el atacante podría renovar sus arranques conectándose a Internet y no necesariamente teniendo que ir regularmente a la escuela.
El dork a continuación es bastante sencillo y podría ser mejorado para obtener mayor cantidad de resultados o menos falsos positivos, aunque para mí fue más que suficiente: title:”Learning Series” inurl:tdserver

 

 

Vulnerabilidad XSS en los servidores de Theft Deterrent

La interfaz de administración web del servidor es vulnerable a un ataque de Cross Site Scripting en la página de login de alumno, ubicada en el path /tdserver/student/student_login.php, donde en el argumento GET hwid podemos inyectar código HTML o Javascript, y con esto podríamos robar una sesión legítima de un administrador con un poco de ingeniería social.
 

 

Routers con configuraciones por defecto

El enrutador usado no está debidamente configurado: el usuario y contraseña para acceder al panel de administración son los mismos que vienen por defecto (admin/1234). Algo bastante curioso es que ni siquiera es necesario buscar las contraseñas por internet en alguna página tipo Routerpasswords, sino que el mismo router la dice cuando intentamos acceder:
 
Una vez que accedemos al router con estas passwords por defecto, podemos administrarlo remotamente, pudiendo realizar una algunos cambios no deseados por los administradores:
 
 

Software

La netbook es entregada con una distribución bastante floja de Linux basada en Ubuntu y con una partición de Windows 7. Ambas tienen una gran cantidad de programas instalados por defecto relacionados con el estudio.
 

Linux: SSH activado por defecto

 
Como dije anteriormente, la distibución de Linux que viene integrada es sinceramente desastrosa, y no estoy hablando solamente de la baja calidad del diseño, sino también de las pésimas configuraciones incluidas.
 
Un ejemplo de esto es que vienen con el servidor de SSH activado por defecto, algo que no vi que pase en ninguna otra distribución de Linux. Estando en la misma red que una netbook corriendo ese Linux podríamos controlar el equipo remotamente. El usuario que viene por defecto es alumno, y la contraseña que tiene es la misma que el usuario. Este usuario tiene privilegios de sudo, con lo cual también se pueden ejecutar comandos como root, el usuario más privilegiado del sistema:

Identificación remota del propietario de la netbook

 
Para que la red funcione correctamente, cada equipo tiene que tener un nombre (hostname) diferente. En la guía oficial de Topschool nos recomiendan que sean del estilo Exomate001, Exomate002, etc. El problema es que en algunos colegios el patrón para los hostnames no es un número cualquiera, sino información más sensible.
 
Uno de estos casos se da en la Escuela Técnica Raggio, en la cual el nombre del equipo es el DNI de la persona seguido del año en el que ingresó, como se indica en su web. Haciendo un escaneo sobre la red de la escuela podemos saber todos los DNIs de alumnos y profesores del colegio, y hacerles un ataque dirigido o APT de una manera sencilla.


E-Learning Class

Siempre que se usan las netbooks en clase, los profesores obligan a los alumnos a usar el E-Learning Class. Este programa privativo y solamente disponible para Windows le permite al profesor gestionar la clase mediante el control de los equipos de los alumnos.
 
 
El protocolo que usa el programa, como muchos de los protocolos privativos, tiene bastantes brechas de seguridad de las cuales voy a hablar a continuación.
 
Cuando el programa del alumno nos da la opción de “conectarnos” al profesor, lo que realmente hace es informarle que se quiere conectar, y escuchar en el puerto UDP/4805 para recibir los paquetes supuestamente provenientes del maestro. Digo supuestamente porque no se hace una verificación de la IP o de algún access token del paquete, por lo que cualquier atacante puede generar un paquete malintencionado para el alumno. A continuación muestro la manera de hacer esto.
 

Cambiando el proxy remoto de la víctima

El programa le da al profesor la opción de cambiar remotamente la configuración de la computadora del alumno. Viendo un poco lo que nos permitía, me resultó bastante interesante la idea de cambiar el proxy por defecto de Windows, lo que nos permitiría capturar una gran parte del tráfico en Internet de la víctima, aun estando ésta desconectada de la escuela, debido a que la cofiguración persiste.
 
Para simplificar el ataque, hice un script que envíe un paquete personalizado a nuestra víctima, indicándole que cambie la configuración de su proxy. Su uso es bastante sencillo: cuando el alumno se encuentra conectado a un profesor, corremos el script pasándole como primer argumento su IP, seguido de la IP y el puerto de nuestro proxy. Veamos un ejemplo:
 
 
El ícono que remarqué en la bandeja del sistema indica que estamos conectados al profesor. Como se ve en la configuración, no se está usando ningún servidor proxy. Ejecutemos el script a ver qué pasa:
 
 
Siendo 192.168.2.6 la IP de la víctima y 123.123.123.123 la del servidor con el proxy. Una vez que se envía el paquete, veamos la configuración remota del alumno:
Como vemos, la configuración se cambió efectivamente. La mayoría de las aplicaciones usarán esta dirección como intermediario para internet, lo que nos podría permitir el monitoreo del tráfico de la víctima.
Código fuente del script que envía paquetes que cambian el proxy: http://pastebin.com/PuNbRBQc

Ejecución remota de comandos en la víctima

Si lo anterior no fue suficiente, también podemos ejecutar comandos y aplicaciones remotamente, ya que el programa de profesor puede hacer esto y no hay una autenticación, como dije anteriormente.
Este proceso es un poco más difícil que el anterior, ya que el programa usa un sistema de checksum (verificación de la integridad) del paquete cuyo funcionamiento no pude entender todavía. Por lo tanto, debemos generar el paquete con una computadora con el E-Learning del profesor y enviarlo a nuestro propio equipo que use Windows y esté conectado al profesor. Mientras tanto, con otro script que hice sniffamos los paquetes buscando el indicado que ejecuta comandos en el alumno. Más tarde, enviaremos el mismo paquete a nuestra víctima.
Veamos más detallado el proceso para ejecutar el símbolo del sistema en la víctima:
Como primer paso corremos el script sniff_cmd.py para que capture el paquete cuando nos lo envíen. Antes que todo se debe instalar scapy para Windows.
El sniffer está corriendo, procedemos a ejecutar el comando desde el profesor:
 
Hecho esto el sniffer debería haber capturado el paquete:
 
El paquete es guardado en un archivo de nombre packet, y puede ser fácilmente reenviado a nuestra víctima con netcat. Usemos el siguiente comando: nc -u -w 1 xxx.xxx.xxx.xxx 4805 < packet

Con esto le indicamos que se comunique vía UDP, con un timeout de 1 segundo (enviamos el paquete y cierra la conexión, no nos importa recibir datos) a la IP de la víctima en el puerto 4805 que es en el que la aplicación escucha. Con un “<” le indicamos que le envíe el contenido del archivo packet, el paquete capturado. Hecho esto ya se debería estar ejecutando el cmd en nuestra víctima:

 

 
Código fuente del sniffer: http://pastebin.com/gvLV3WLv
Descarga del E-Learning para el docente: http://dl.dropbox.com/u/13495925/aplicaciones/elearningteacher-win7.zip

Descarga del E-Learning para el alumno: http://dl.dropbox.com/u/45126758/student_2.0.38.154.exe

Sistema de bloqueo

Las netbooks tienen integradas un sistema anti-robos bastante avanzado. Para evitar el bloqueo el alumno se debe conectar regularmente a los servidores del colegio, donde automáticamente se le entrega un certificado para cuando arranque, el cual tiene una cantidad máxima de arranques y una fecha límite. Si se supera la fecha o la cantidad de arranques, la próxima vez que se encienda el ordenador este se bloquerá, y teóricamente la única manera de desbloquearlo será introduciendo un código de 10 digitos u obteniendo un certificado desde un pendrive generado por el administrador.
El bloqueo se realiza por hardware, un TPM no dejará encender correctamente cuando el certificado o los arranques hayan expirado.
 

Postergando el bloqueo cambiando la fecha

Un método bastante sencillo para evitar el bloqueo de la computadora es mediante el cambio de la fecha en el BIOS. Aunque ésta tarde o temprano se vaya a bloquear porque no le queden encendidos, en algunos casos podremos usarla un largo tiempo (en mi escuela me llegaron a dar 2000 arranques en un solo certificado)
 

Desbloqueo permanente por hardware

Si lo que queremos es anular el sistema de bloqueo para siempre, tengo amigos que lo que hicieron fue desarmar la computadora para hacer falso contacto con el chip TPM, provocando que el BIOS no lo tome en cuenta. Esto se puede ver más en detalle en este post o en el siguiente video:

  Me gustaría aclarar que esto anula la garantía y hacerlo podría hacer que nos quiten el equipo los de Conectar Igualdad si este se encuentra en comodato.

Conclusión

Por más que el plan Conectar Igualdad en sí y los fines de este me parezcan una excelente idea, me parece que deben plantearse un poco mejor el tema de la seguridad. Hay más de una vulnerabilidad bastante grave expuesta en este artículo, por lo que espero que puedan ser resueltas.
Una medida que están tomando los aministadores es instalar Huayra, otra distribución mucho mejor de Linux que la que incluyen ahora. Quieren que sea el sistema operativo que bootee por defecto, por lo que los usuarios lo probarían y quizás se quedarían con este, en vez de usar solamente Windows y dejar a GNU/Linux de adorno en la computadora.
Saludos!

Quitando los logos de Conectar Igualdad en nuestra netbook

Hace un tiempo ya hice un post criticando al plan Conectar Igualdad bastante interesante. Creo que me falto aclarar que las netbooks tienen una publicidad excesiva del gobierno (en imágenes), desde el booteo de la netbook hasta en el fondo de escritorio.

En algunos casos modificar o quitar estas puede ser una tarea difícil debido a la baja documentación sobre el tema, por lo que en el post de hoy muestro como eliminar algunas de estas imágenes.

Advertencia: Recomiendo que se haga una copia de seguridad de los archivos editados a continuación por si algo sale mal. No me hago responsable por los daños que este post pueda ocasionar

Logo al bootear

Antes de que se cargue el GRUB, donde nos dice que presionemos DEL para acceder al BIOS, ya empizan los logos de publicidad:

No logré encontrar la manera de modificar el logo, pero si de eliminarlo. Estos son los pasos a seguir:

  1. Apenas prende la netbook, apretar repetidas veces la tecla SUPR para que se cargue el BIOS
  2. Ir a la pestaña Inicio, y activar desactivar el Quiet Boot
  3. Presionar F10 y confirmar los cambios para salir y reiniciar

Una vez que hicimos esto, vemos que en vez de bootear con el logo, lo hace dándonos información de hardware:

Grub

GRUB (GNU GRand Unified Bootloader) es un programa que nos permite elegir el sistema operativo a cargar. En la netbook del gobierno viene instalado por defecto, y nos da la opción de bootear Windows, Linux y Restaurar Sistemas (una opción no muy segura a la que recomiendo desactivar cuando no necesitemos):

Este gestor de arranque tiene incorporada una imagen que dice Conectar Igualdad, ubicada el el archivo /usr/share/images/grub/05_debian_theme.tga de la partición Linux. A continuación doy la lista de pasos a seguir para que podamos editar la imagen con GIMP, y configurar los colores del texto:

  1. Bootear con Linux, loguearse con el usuario Alumno (la contraseña por defecto es alumno)
  2. Presionar Alt+F2 y en la pantalla escribir el siguiente comando: sudo gimp /usr/share/images/grub/05_debian_theme.tga
  3. Presionar Enter y esperar a que cargue el GIMP. Editar la imagen y guardar (elegir la opción Exportar si nos lo pide)

Para modificar los colores del texto:

  1. Presionar Alt+F2 y ejecutar el comando sudo gedit /boot/grub/grub.cfg
  2. Modificar las líneas 64 y 65 con el color de fondo y el color para la opción resaltada, respectivamente. Para elegir los colores escribimos donde sea necesario color_de_texto/color_de_fondo con los colores que queramos:
  3. Le damos a Ctrl-S para guardar y ya tenemos listo todo. Reiniciamos y vemos cómo quedó:

Fondo en el inicio de sesión de Windows

Dentro de este sistema operativo, cuando queremos iniciar sesión hay una imagen de fondo de Conectar Igualdad (la netbook quedó amarilla, no se qué pasó con la cámara ):

Este fondo es modificable usando el programa Windows 7 Logon Background Changer

  1. Descargar el programa en http://www.mediafire.com/?him1u5y3avrptd8
  2. Descomprimirlo y ejecutar Win7LogonBackgroundChanger.exe
  3. Darle a Choose a folder y elegir la carpeta donde se encuentra nuestra imagen de fondo. Luego, en la parte inferior elegir la imagen que queremos que nos sirva de fondo
  4. Darle a Apply, y darle permisos a la aplicación cuando se solicite
  5. Presionar Ctrl+Alt+Supr para probar como quedó:

Para finalizar, vamos a reemplazar físicamente el logo de Positivo BGH que se encuentra en la tapa de la netbook. En este caso le puse una calcomanía de Licencia Para Hackear que espero estar regalando en la Ekoparty y en la Pycon este año:

 

Saludos!
  Completá el siguiente formulario para poder recibir el código de desbloqueo de 10 dígitos que te permitirá desbloquear tu compu....Haciendo clic en Logoba
Es para las net de Buenos Aires...


Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis