Mostrando las entradas con la etiqueta Vulnerabilidad. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Vulnerabilidad. Mostrar todas las entradas

miércoles, 20 de enero de 2016

Solucionan una vulnerabilidad grave en el Kernel Linux que permite ejecutar código como root



Aunque por lo general el kernel Linux se desarrolla, comprueba y analiza por un gran número de personas (la comunidad), siempre existen pequeñas vulnerabilidades que es posible que hayan sido pasadas por alto por todos los que han revisado el código. Este es el caso de la nueva vulnerabilidad CVE-2016-0728, un fallo presente en dos de las funciones del llavero de Linux que podían dar lugar a ejecución de código en una máquina con permisos de kernel, el mayor nivel disponible. 

Esta vulnerabilidad, descubierta por los investigadores de Percepción Point, lleva presente desde la versión 3.8 del kernel, es decir, desde el año 2012. Este fallo de seguridad puede permitir a un usuario no autorizado, con acceso físico a la máquina y con los permisos mínimos por defecto, obtener acceso root y poner en peligro toda la máquina ejecutando código con el máximo nivel de permisos. La vulnerabilidad también afecta a más de un tercio de todos los dispositivos Android (KitKat y superiores) al utilizar, en común, esta versión del kernel.

Este fallo de seguridad se encuentra concretamente en el llavero que se instala en los sistemas Linux y que permite almacenar y cifrar todo tipo de contraseñas en el sistema para evitar que estas puedan caer en malas manos a la vez que facilita el acceso a otras aplicaciones (siempre que le demos permiso) a dichas contraseñas. El fallo se encuentra en dos funciones concretas de los llaveros, Add_key y request_key keyctl, diseñadas para permitir la ejecución de código con permisos de kernel en el espacio del usuario para que el usuario pueda añadir y recuperar las claves y utilizarlas junto a otras aplicaciones.

Aunque este error puede generar problemas de pérdida de información de la memoria, es posible que las consecuencias sean bastante más graves, llegando hasta la ejecución de código remoto con permisos de kernel. En resumen, los pasos a seguir para poder explotar esta vulnerabilidad son:

  • Se debe mantener una referencia legítima a un objeto clave para posteriormente desbordarlo
  •  Una vez desbordado, obtenemos acceso liberado al llavero y le asignamos un nuevo objeto diferente dentro del espacio del usuario, pero sobre la misma memoria de antes.
  •  Haciendo uso de la referencia antigua del objeto podemos ejecutar código con permisos máximos en el sistema.

Algunas de las distribuciones afectadas por el fallo de seguridad son:
  • Red Hat Enterprise Linux 7
  • CentOS 7
  • Scientific Linux 7
  • Debian stable 8.x (jessie) / testing 9.x (stretch)
  • SUSE Enterprise Desktop 12 & 12 SP1 / Server 12 & 12 SP1 / Workstation Extension 12 & 12 SP1
  • Ubuntu 14.04 LTS (Trusty Tahr) / 15.04 (Vivid Vervet) / 15.10 (Wily Werewolf)
  • Opensuse LEAP and version 13.2
Podemos ver un sencillo concepto de explotación desde GitHub.






Cómo solucionar y protegerse de la vulnerabilidad CVE-2016-0728 del Kernel Linux

Tal como afirman muchos de los desarrolladores, solucionar el fallo de seguridad era algo sencillo, el problema está en que no todos los usuarios son capaces de recibir actualizaciones automáticas (o simplemente de actualizarse, como es el caso de los smartphones antiguos Android), por lo que la brecha de seguridad puede quedar abierta en un considerable número de dispositivos.

Los usuarios que reciban parches de seguridad automáticos no deben preocuparse (aunque es recomendable reiniciar el sistema para asegurar que el parche se aplica correctamente), sin embargo, aquellos que no tengan actualizaciones automáticas deberán actualizar manualmente su sistema. Para ello bastará con teclear en un terminal los siguientes comandos:

Ubuntu / Debian:

sudo apt update
sudo apt upgrade
sudo reboot
CentOs / RHEL:

sudo yum update
reboot

También debemos asegurarnos de tener habilitados los módulos de seguridad SMEP y SMAP (y SELinux en Android) que hacen mucho más difícil el hecho de ejecutar código del kernel en entornos de usuario.


Bueno sin más que decir, espero les agrade y sea de utilidad el artículo
Saludos!

jueves, 17 de diciembre de 2015

Vulnerabilidad en Linux es posible Saltar la auténticación de Grub2 presionando 28 veces backspace


Investigadores españoles han descubierto una grave vulnerabilidad que permite hackear Linux usando sólo una tecla.

GNU/Linux y todas las distribuciones basadas en él son algunos de los sistemas operativos más seguros que podemos instalar en nuestro ordenador, pero no son perfectos (nada lo es).

De hecho, en este caso concreto el bug no afecta al núcleo del sistema sino a Grub, el gestor de arranque que nos permite seleccionar el sistema operativo que queremos iniciar. Si han visto o instalado alguna vez Linux, es la pantalla que aparece cuando arrancamos el ordenador y podemos elegir entre entrar en Linux, en Windows o en otros sistemas que tengamos instalados.


Un bug que permite hackear Linux usando sólo una tecla

 

El bug, descubierto por investigadores de la Universidad Politécnica de Valencia, afecta a Grub2 en las versiones 1.98 a la 2.02 (lanzada este Diciembre); por lo tanto, la mayoría de distribuciones Linux se han visto afectadas como Ubuntu, Fedora o Debian.



Explotar el bug es muy fácil, y sólo es necesario tener acceso al dispositivo u ordenador. Sólo tenemos que pulsar la tecla retroceso 28 veces seguidas en la pantalla de Grub2; entonces se abrirá una terminal de rescate de Grub, desde la que es posible acceder a todo el sistema sin necesidad de introducir el usuario y la contraseña, modificando la variable que indica que el usuario ha iniciado sesión.


Por supuesto, tener control completo del sistema implica que podemos iniciar los diversos programas que componen Linux, incluso una interfaz gráfica, además de instalar malware sin que el usuario se de cuenta; por ejemplo, podemos instalar un programa que capture el tráfico web, lo descifre con la clave del propio navegador y nos lo envíe.

El bug es tan simple como la manera de explotarlo, se trata de una variable de tipo entero que se desborda cuando pulsamos la tecla retroceso el suficiente número de veces. Por lo tanto la solución es sencilla y los principales desarrolladores de distros Linux ya tienen constancia del bug, así que las actualizaciones no deberían tardar mucho. Mientras tanto, y como regla general, evita que cualquiera pueda tocar tu ordenador aunque tengas una buena contraseña.


Puedes encontrar la información técnica en detalle en el siguiente enlace (ingles):

http://hmarco.org/bugs/CVE-2015-8370-Grub2-authentication-bypass.html?utm_content=bufferaff8a&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

He de esperar que prontamente se le pueda poner solución a esta problemática, que aparentemente se ve sencillo de solucionar según explicar algunos expertos.

Saludos!