El libre pensamiento para un internet libre

No estas registrado.  

Anuncio

nord_600_250

#1 01-05-2015 18:23:37

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 5,701

Un viejo bug de ubuntu permite aún una escala de privilegios

El bug Ubuntu 1219337 - Usuarios pueden configurar el reloj del sistema permitiendo la obtención de privilegios tipo "sudo" (administrador) - se arreglará del todo en...
.... ubuntu 15.10

  Los de Softpedia no señalan este "extraño" bug en un articulo publicado hoy : Old Ubuntu Bug Lets Malicious Users Gain Sudo Access
  Es "extraño" porque fue desvelado en 2013 por Mark Smith ( Users can change the clock without authenticating, allowing them to locally exploit sudo. ) y se ha quedado todo este tiempo sin ser ni muy bien definido,
Ni estudiado seriosamente ni arreglado.
  El debate entre mark(el usuario quien desveló el bug) y marc (quien parece ser un miembro de canonical y es moderador de launchpad) es muy interesante. No es tanto sobre la brecha sino sobre la evaluación de su "nivel critico".
  Y la cosa no es muy clara ya que aún hoy en día se considera como "gravedad no definida" en la mayoría de los casos.

time.jpg

 
Para hacer esta escala de privilegios (obtener privilegios de administrador); un usuario local lambda usaría el tiempo del sistema.
Y necesitaría que un usuario con privilegios root deje su sesión abierta.
La brecha reside en el hecho de que no hace falta ser root en ubuntu (o mac, la brecha se puede explotar en varias versiones  mac os) para cambiar el tiempo.
¿Como podemos cambiar el tiempo y que esto nos de privilegios de administrador?
Engañando el sistema.
el usuario puede deshabilitar el sincronismo automático  del sistema
Y "volver en le pasado", a un momento preciso.
Un momento en el cual hay un usuario quien usa legítimamente el comando "sudo"

¿Como saber este momento?
Simplemente mirando en /var/log/auth.log.
Hago desde mi cuenta de usuario corriente un

cat /var/log/auth.log

y obtengo un log detallado muy largo

May  1 16:45:01 profezorapplestruff CRON[2333]: pam_unix(cron:session): session closed for user root
May  1 16:55:01 profezorapplestruff CRON[2355]: pam_unix(cron:session): session opened for user root by (uid=0)
May  1 16:55:01 profezorapplestruff CRON[2355]: pam_unix(cron:session): session closed for user root
May  1 17:05:01 profezorapplestruff CRON[2402]: pam_unix(cron:session): session opened for user root by (uid=0)
May  1 17:05:01 profezorapplestruff CRON[2402]: pam_unix(cron:session): session closed for user root
May  1 17:15:01 profezorapplestruff CRON[2433]: pam_unix(cron:session): session opened for user root by (uid=0)
May  1 17:15:01 profezorapplestruff CRON[2433]: pam_unix(cron:session): session closed for user root
May  1 17:17:01 profezorapplestruff CRON[2439]: pam_unix(cron:session): session opened for user root by (uid=0)
May  1 17:17:01 profezorapplestruff CRON[2439]: pam_unix(cron:session): session closed for user root

Lo que tengo que buscar en mu log es un usuario normal que haya usado sudo...
Ejecuto airmon-ng con sudo desde mi cuenta y miro mi log

May  1 17:25:01 profezorapplestruff CRON[2482]: pam_unix(cron:session): session closed for user root
May  1 17:32:42 profezorapplestruff sudo:    kcdtv : TTY=pts/4 ; PWD=/home/kcdtv ; USER=root ; COMMAND=/usr/local/sbin/airmon-ng
May  1 17:32:42 profezorapplestruff sudo: pam_unix(sudo:session): session opened for user root by kcdtv(uid=0)
May  1 17:32:42 profezorapplestruff sudo: pam_unix(sudo:session): session closed for user root
May  1 17:32:55 profezorapplestruff sudo:    kcdtv : TTY=pts/4 ; PWD=/home/kcdtv ; USER=root ; COMMAND=/sbin/iw dev
May  1 17:32:55 profezorapplestruff sudo: pam_unix(sudo:session): session opened for user root by kcdtv(uid=0)
May  1 17:32:55 profezorapplestruff sudo: pam_unix(sudo:session): session closed for user root

Y veo que tengo para kcdtv dos comandos ejecutados como root con un TTY preciso y identificado : pts/4
miremos en consola

tty
/dev/pts/4

solo haría falta ahora modificar el tiempo (la vulnerabilidad no concierne XFCE y tengo Xubuntu así que no podría hacer lo ) y lanzar una instancia "clonando" las características de la sesión root dejada sin cerrar (y como no uso mi cuenta root tampoco tengo sesiones sin cerrar)

time2.jpg

y podríamos teclear en nuestra consola

sudo -s

para tener en consola el password. proporcionado por el usuario quien obtuvo los privilegios de administrador

El debate en la pagina del bug es muy interesante y debemos agradecer a Mark Smith su empeño para que este problema se analiza

Tyler Hicks (tyhicks) wrote on 2015-04-29:     #34 escribió:

Hi Mark - I've taken a look at the details in this bug, the upstream sudo bug, the /r/linux thread, and the upstream sudo fix. I appreciate and respect your thoroughness.

After taking all of the details into account, I consider this issue to be low severity due to the mitigating factors involved. Specifically, I don't see a way for an attacker, without physical access, to use an arbitrary code execution vulnerability in combination with the issue that you've described in this bug to elevate his/her privileges. Considering this, the attack requires an admin user leave his/her desktop session unlocked and for an attacker to come across this unlocked desktop session. Since there are many different ways to attack an unlocked desktop session, best security practices dictate all users lock their screens when not at their computer.

We will fix this issue in the next Ubuntu release (15.10) by including sudo 1.8.10 or newer. Due to the issue’s low severity and considering our practice of prioritizing resources on publishing security updates that fix issues of greater security impact, we may fix this issue in stable releases of Ubuntu in the future if another sudo vulnerability of higher severity is found or if new details emerge regarding this issue.

Se evalua como de "gravedad baja" pero luego marc evoca la posibildad de un ataque brute force ( ¡como no! ).
En fin;  la possible brecha; cual sea su nivel de peligro,  será impossible de explotar en cuanto los de ubuntu pasaran a sudo 1.8.10 ( previsto para Ubuntu 15.10 )
Lo que es un poco extraño es que son los únicos que hacen en 2015 posible  esta brecha en su sistema  permitiendo a que se pueda cambiar el tiempo sin contraseña.
Algo raro ya que el tiempo es un vector muy conocido y usado para fomentar ataques y provocar comportamientos erráticos en sistemas.
La implementación del reloj "monocordio" (solo para privilegios root) parece algo evidente y lo fue para la gran mayoría de las distribuciones GNU-Linux que piden credenciales para que se pueda modificar el reloj del sistema .

Desconectado

Anuncio

nord_600_250

Temas similares

Tema Respuestas Vistas Ultimo mensaje
26 7779 15-03-2023 16:57:32 por kcdtv
Pegado:
34 3812 12-03-2023 18:24:22 por Guybrush92
Pegado:
Pegado:: Script multiuso wifi para Kali y otras distros por v1s1t0r  [ 1 2 3 18 ]
436 63610 07-03-2023 12:35:27 por kcdtv
0 423 23-02-2023 17:09:39 por kcdtv
Pegado:
114 258651 19-02-2023 17:36:14 por chuchof

Pie de página

Información del usuario

Ultimo usuario registrado: erpini
Usuarios registrados conectados: 0
Invitados conectados: 8

Estadisticas de los foros

Número total de usuarios registrados: 2,432
Número total de temas: 1,632
Número total de mensajes: 15,528

Máx. usuarios conectados: 373 el 30-09-2019 15:04:36