Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon ffmpeg puede grabar X de cualquier usuario


El otro día estaba platicando con Kamsky, hablando de proyectos pendientes y cosas similares. Después de un rato le digo "Una pizza si me dices que canción estoy escuchando" ya previamente le había hecho un usuario para que se conecte mediante ssh a mi equipo, y pues resulta él entró a ver algunas cosas testeó algunos archivos y demás lo que haría cualquier persona tratando de obtener privilegios que no le corresponden, bueno resulta que no logró nada en ese momento ya que el estaba ocupado en otras cosas.




En ese momento yo tenia un poquito des-actualizado FreeBSD en el sistema de ports había unos 65 bugs y en kernel tenia unos 15 de los cuales creo que ya había por ahí un que otro exploit.

Lo más normal hubiese sido convertirse en mi usuario y leer el archivo del xmms con el plugin de InfoPipe

Código
Anon@localhost % cat /tmp/xmms-info_Anon.0
XMMS protocol version: 2467
InfoPipe Plugin version: 1.3
Status: Playing
Tunes in playlist: 2483
Currently playing: 2414
uSecPosition: 3715
Position: 0:03
uSecTime: 275069
Time: 4:35
Current bitrate: 128000
Samping Frequency: 44100
Channels: 2
Title: Interpol - Obstacle 1

El quería convertirse en root y hacerle un:

Código
hexdump -C /dev/mem | grep xmms

o algo similar, sin embargo es un proceso algo lento y con pocas probabilidades de éxito, yo lo intente y no di con nada

Pues me puse a pensar en como era posible ver lo que yo estaba escuchando, y después de pensar en las cosas mas raras y extravagantes sobre ingeniería social, hacking y demás, recordé un dicho que dice "la solución siempre es mas sencilla de lo que parece". Me dije a mi mismo, "algo entre tanto sistema operativo, no debe de estar implementando bien la seguridad" y recordé que cuando implementé el torneo shell misteriosamente aparecían xterm de otros usuarios en mi X, en ese entonces lo asocié eso a que estaban siguiendo alguna sección del texto smashing the stack for fun and profit ellos pensaban que todavía tener un xterm vulnerable como el que se describió en el texto, ellos realizaban algo como:

setenv DISPLAY ":0.0" o export DISPLAY=":0.0"

dependiendo del shell que estén usando en ese momento, en lo que visualice el :0.0 se disparo una idea en mi mente, con la utilidad ffmpeg la cual tengo instalada y es con la cual grabo los vídeos que he subido a youtube, la herramienta en cuestión utiliza una sintaxis así para grabar:

Código
ffmpeg -f x11grab -r 30 -sameq -s 854×480 -i :0.0 /path/to/file.avi

Entré inmediatamente con un usuario sin privilegios previamente creado en el torneo shell, y puse el comando, en lo que vi que si estaba grabando, reajuste el tamaño a capturar y si, ahí estaba la sección perteneciente al xmms mostrando la canción que estoy escuchando.

En conclusión kamsky se perdió de una pizza
Aprendí que se puede espiar el X de cualquier usuario, incluso el de root

Trate de reportar eso al bugtrack de FreeBSD, pero al parecer no piensan que sea un bug. Esto fue lo que me respondieron:

Dear Anon,

We have received your message. However I do not feel this is a security issue
within FreeBSD. X, where the display is being set, is reponsible for sharing the
desktop etc. ffmpeg is an additional third party port that has access to this.

It might be best to ask around on the ports@ mailinglist or even x11@ (might
be better now that I think of it) on how to tune down display access from local users.

Cheers and thanks for trying to help and make FreeBSD better, it's appreciated!


Y con su consejo lo he mando al maillist de X11 en FreeBSD y resulta que hasta ahora sigo sin respuesta.

http://lists.freebsd.org/pipermail/freebsd-x11/2010-February/009359.html


Saludos

-
Anon