viernes, 2 de junio de 2017

LINUX Nueva vulnerabilidad en SUDO 2-jun-17


Buenos días vietnammmmm


Hoy empezamos el día con una noticia muy importante, OTRO BUG DE LINUX y esta catalogado como critico y en que consiste este BUG bueno pues tiene que ver con SUDO, si SUDO amigos oyeron bien y que es SUDO muchos se preguntarán.

QUE ES SUDO

El programa sudo (del inglés super user do) es una utilidad de los sistemas operativos tipo Unix, como Linux, BSD, o Mac OS X, que permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (normalmente el usuario root) de manera segura, convirtiéndose así temporalmente en superusuario. Se instala por defecto en /usr/bin y por defecto, el usuario debe autenticarse con su contraseña al ejecutar sudo. Una vez se ha autenticado el usuario, y si el archivo de configuración /etc/sudoers permite dar al usuario acceso al comando requerido, el sistema lo ejecuta.

Osea con este puede ejecutar comandos a nivel root, upś.



EN QUE CONSISTE ESTA VULNERABILIDAD?

Sistemas afectados:   LINUX

Clave de la vulnerabilidad:  CVE-2007-1000367

Versión de SUDO afectado:   1.8.6p7  - 1.8.20


 CARACTERÍSTICAS DE LA VULNERABILIDAD


En sistemas Linux, sudo analiza el archivo / proc / [pid] / stat para determinar el número de dispositivo del tty del proceso (campo 7). Los campos del archivo están delimitados por espacios, pero es posible que el nombre del comando (campo 2) incluya un espacio en blanco en el cual podemos incluir una nueva linea de comando que sudo no tiene en cuenta.  

Un usuario con privilegios puede hacer que sudo utilice un número de dispositivo de la elección del usuario creando un enlace simbólico desde el binario sudo a un nombre que contiene un espacio seguido de un número.

Si SELinux está habilitado en el sistema y sudo fue construido con soporte de SELinux, un usuario con privilegios de sudo puede ser capaz de sobrescribir un archivo arbitrario. Esto se puede escalar a acceso root completo reescribiendo un archivo de confianza como / etc / shadow o incluso / etc / sudoers.



EJEMPLO DE LA VULNERABILIDAD


Tomado del CVE original **
http://www.openwall.com/lists/oss-security/2017/05/30/16

=========================================
Exploitation
=========================================

To exploit this vulnerability, we:

- create a directory "/dev/shm/_tmp" (to work around
  /proc/sys/fs/protected_symlinks), and a symlink "/dev/shm/_tmp/_tty"
  to a non-existent pty "/dev/pts/57", whose device number is 34873;

- run Sudo through a symlink "/dev/shm/_tmp/     34873 " that spoofs the
  device number of this non-existent pty;

- set the flag CD_RBAC_ENABLED through the command-line option "-r role"
  (where "role" can be our current role, for example "unconfined_r");

- monitor our directory "/dev/shm/_tmp" (for an IN_OPEN inotify event)
  and wait until Sudo opendir()s it (because sudo_ttyname_dev() cannot
  find our non-existent pty in "/dev/pts/");

- SIGSTOP Sudo, call openpty() until it creates our non-existent pty,
  and SIGCONT Sudo;

- monitor our directory "/dev/shm/_tmp" (for an IN_CLOSE_NOWRITE inotify
  event) and wait until Sudo closedir()s it;

- SIGSTOP Sudo, replace the symlink "/dev/shm/_tmp/_tty" to our
  now-existent pty with a symlink to the file that we want to overwrite
  (for example "/etc/passwd"), and SIGCONT Sudo;

- control the output of the command executed by Sudo (the output that
  overwrites "/etc/passwd"):

  . either through a command-specific method;

  . or through a general method such as "--\nHELLO\nWORLD\n" (by
    default, getopt() prints an error message to stderr if it does not
    recognize an option character).

To reliably win the two SIGSTOP races, we preempt the Sudo process: we
setpriority() it to the lowest priority, sched_setscheduler() it to
SCHED_IDLE, and sched_setaffinity() it to the same CPU as our exploit.


=====================================
Example
=====================================

We will publish our Sudoer-to-root exploit
(Linux_sudo_CVE-2017-1000367.c) in the near future:

[john@...alhost ~]$ head -n 8 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

[john@...alhost ~]$ sudo -l
[sudo] password for john:
...
User john may run the following commands on localhost:
    (ALL) /usr/bin/sum

[john@...alhost ~]$ ./Linux_sudo_CVE-2017-1000367 /usr/bin/sum $'--\nHELLO\nWORLD\n'
[sudo] password for john:

[john@...alhost ~]$ head -n 8 /etc/passwd
/usr/bin/sum: unrecognized option '--
HELLO
WORLD
'
Try '/usr/bin/sum --help' for more information.
ogin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin


 Lo bueno que ya fue compuesto este bug, actualicen amigos, no les vaya a pasar igual que en windows con el wannacry que no actualizaron y se los trabo el ransomware:



 
Saludos amigos y seguimos con las vulnerabilidades de LINUX

LI. Rodolfo H. Baz
www.rodolfohbaz.net



No hay comentarios:

Publicar un comentario

Crowdstrike -> Solución de errores de actualización de CrowdStrike con BitLocker habilitado

En este pequeño articulo ver como componer el problema de CROWDSTRIKE cuando esta habilitado el BITLOCKER, cabe resaltar que puede ser una e...