Tema destacado: [Overclocking] Récords de overclock del foro
Autor
|
Tema: ¿Vulnerabilidad en el comando cat de xterm? (Leído 2,759 veces)
|
lll_swamp_lll
Desconectado
Mensajes: 79
|
No se si es vulnerabilidad o no pero se supone que al ejecutar cat archivo este tiene que mostrar el contenido y no ejecutarse. Quería ver el contenido de un archivo .gif y al terminar el comando se desconfiguró todo y en ves de aparecer xx@xx: me aparecía: xxx@xx:~$ cat mundo.gif
........ muchas lineas ......... H F ÿ ÿ H° Á(ÄÆðC#J␉¶Ù®␋ÜÈ─ã¶└׬(Rä5ÿP°⎽èÅ+^#8␉Ä@ ┐Öü§SçÍ7Ú Y␌B(5· ò·└5è␉6␌þ; µëA©§L9Û³Tÿ5õʶ◆M┼⎻GÀ£ªèW␉C¸6┘[ ⎼;W◆ß ·¬KÓ◆á ␋KÖJP#Q3+⎺ÜöáY7┼íYàEÎ]]°»R¦â¥QπVÖ8␉ÍF¨[×<ìTèW <«þ¥13┌ÔTźª\␌ÌKóFþçÍÜ·,␋ûB¬␌£ÿö◆≤GJTH≠àâå┌M£íÓýºÞ\⎽æÙýÈÐߤ6× Yî Eì ␉▒⎽: 62: ⎺⎼␍␊┼ ┼⎺ ␊┼␌⎺┼├⎼▒␍▒ ␉▒⎽: 9: ⎺⎼␍␊┼ ┼⎺ ␊┼␌⎺┼├⎼▒␍▒ ␉▒⎽: ␌62: ⎺⎼␍␊┼ ┼⎺ ␊┼␌⎺┼├⎼▒␍▒ ␉▒⎽: 9: ⎺⎼␍␊┼ ┼⎺ ␊┼␌⎺┼├⎼▒␍▒ ␉▒⎽: ␌: ⎺⎼␍␊┼ ┼⎺ ␊┼␌⎺┼├⎼▒␍▒
(acá terminó, presioné ctrl+c y escribí help y apareció lo siguiente)
≤▒┼@L⎺┌▒:·/D␊⎽┐├⎺⎻$ ␊┌⎻ GNU ␉▒⎽, ┴␊⎼⎽␋⎺┼ 3.2.13(1)-⎼␊┌␊▒⎽␊ (␋486-⎻␌-┌␋┼┤│-±┼┤) E⎽├▒⎽ ó⎼␍␊┼␊⎽ ␍␊ ⎽␊┌┌ ⎽␊ ␊┼␌┤␊┼├⎼▒┼ ␍␊°␋┼␋␍▒⎽ ␋┼├␊⎼┼▒└␊┼├␊. E┘␊␌┤├␊ '␊┌⎻' ⎻▒⎼▒ ┴␊⎼ ┤┼▒ ┌␋⎽├▒. E⎽␌⎼␋␉▒ '␊┌⎻ ┼⎺└␉⎼␊' ⎻▒⎼▒ ⎽▒␉␊⎼ └á⎽ ▒␌␊⎼␌▒ ␍␊ ┌▒ °┤┼␌␋ó┼ '┼⎺└␉⎼␊' U⎽␊ '␋┼°⎺ ␉▒⎽' ⎻▒⎼▒ ⎽▒␉␊⎼ └á⎽ ▒␌␊⎼␌▒ ␍␊┌ ␋┼├é⎼⎻⎼␊├␊ ␍␊ ó⎼␍␊┼␊⎽ ␊┼ ±␊┼␊⎼▒┌. U⎽␊ '└▒┼ -┐' ⎺ '␋┼°⎺' ⎻▒⎼▒ ⎽▒␉␊⎼ └á⎽ ▒␌␊⎼␌▒ ␍␊ ⎺├⎼▒⎽ ó⎼␍␊┼␊⎽ ┼⎺ ␋┼␌┌┤␋␍▒⎽ ␊┼ ␊⎽├▒ ┌␋⎽├▒. U┼ ▒⎽├␊⎼␋⎽␌⎺ (*) ┘┤┼├⎺ ▒ ┤┼ ┼⎺└␉⎼␊ ␋┼␍␋␌▒ ─┤␊ ␍␋␌▒ ⎺⎼␍␊┼ ␊⎽├á ␍␊⎽▒␉␋┌␋├▒␍▒.
JOB_SPEC [&] (( ␊│⎻⎼␊⎽⎽␋⎺┼ )) . °␋┌␊┼▒└␊ [▒⎼±┤└␊┼├⎽] : [ ▒⎼±... ] [[ ␊│⎻⎼␊⎽⎽␋⎺┼ ]] ▒┌␋▒⎽ [-⎻] [┼▒└␊[=┴▒┌┤␊] ... ] ␉± [┘⎺␉_⎽⎻␊␌ ...] ␉␋┼␍ [-┌⎻┴⎽PVS] [-└ ┐␊≤└▒⎻] [-° °␋ ␉⎼␊▒┐ [┼] ␉┤␋┌├␋┼ [⎽␊┌┌-␉┤␋┌├␋┼ [▒⎼± ...]] ␌▒┌┌␊⎼ [EXPR] ␌▒⎽␊ WORD ␋┼ [PATTERN [≠ PATTERN]. ␌␍ [-L≠-P] [␍␋⎼] ␌⎺└└▒┼␍ [-⎻V┴] ␌⎺└└▒┼␍ [▒⎼± ...] ␌⎺└⎻±␊┼ [-▒␉␌␍␊°±┘┐⎽┤┴] [-⎺ ⎺⎻├␋⎺┼ ␌⎺└⎻┌␊├␊ [-▒␉␌␍␊°±┘┐⎽┤┴] [-⎻⎼] [-⎺ ␌⎺┼├␋┼┤␊ [┼] ␍␊␌┌▒⎼␊ [-▒°F␋⎼├│] [-⎻] [┼▒└␊[=┴▒┌ ␍␋⎼⎽ [-␌┌⎻┴] [+N] [-N] ␍␋⎽⎺┬┼ [-] [-▒⎼] [┘⎺␉⎽⎻␊␌ ...] ␊␌⎺ [-┼␊E] [▒⎼± ...] ␊┼▒␉┌␊ [-⎻┼␍⎽] [-▒] [-° °␋┌␊┼▒└␊] ␊┴▒┌ [▒⎼± ...] ␊│␊␌ [-␌┌] [-▒ ┼▒└␊] °␋┌␊ [⎼␊␍␋⎼␊␌ ␊│␋├ [┼] ␊│⎻⎺⎼├ [-┼°] [┼▒└␊[=┴▒┌┤␊] ...] ⎺⎼ °▒┌⎽␊ °␌ [-␊ ␊┼▒└␊] [-┼┌⎼] [°␋⎼⎽├] [┌▒⎽├ °± [┘⎺␉_⎽⎻␊␌] °⎺⎼ NAME [␋┼ WORDS ... ;] ␍⎺ COMMA °⎺⎼ (( ␊│⎻1; ␊│⎻2; ␊│⎻3 )); ␍⎺ COM °┤┼␌├␋⎺┼ NAME π COMMANDS ; £ ⎺⎼ NA ±␊├⎺⎻├⎽ ⎺⎻├⎽├⎼␋┼± ┼▒└␊ [▒⎼±] ▒⎽ [-┌⎼] [-⎻ ⎻▒├┼▒└␊] [-␍├] [┼▒ ␊┌⎻ [-⎽] [⎻▒├├␊⎼┼ ...] ␋⎽├⎺⎼≤ [-␌] [-␍ ⎺°°⎽␊├] [┼] ⎺⎼ ␋ ␋° COMMANDS; ├␊┼ COMMANDS; [ ␊┌␋° ┘⎺␉⎽ [-┌┼⎻⎼⎽] [┘⎺␉⎽⎻␊␌ ...] ⎺⎼ ┘⎺␉ ┐␋┌┌ [-⎽ ⎽␋±⎽⎻␊␌ ≠ -┼ ⎽␋±┼┤└ ≠ -⎽␋ ┌␊├ ▒⎼± [▒⎼± ...] ┌⎺␌▒┌ ┼▒└␊[=┴▒┌┤␊] ... ┌⎺±⎺┤├ ⎻⎺⎻␍ [+N ≠ -N] [-┼] ⎻⎼␋┼├° [-┴ ┴▒⎼] °⎺⎼└▒├ [▒⎼±┤└␊┼├⎽] ⎻┤⎽␍ [␍␋⎼ ≠ +N ≠ -N] [-┼] ⎻┬␍ [-LP] ⎼␊▒␍ [-␊⎼⎽] [-┤ °␍] [-├ ├␋└␊⎺┤├] [ ⎼␊▒␍⎺┼┌≤ [-▒°] [┼▒└␊[=┴▒┌┤␊] ...] ⎼␊├┤⎼┼ [┼] ⎽␊┌␊␌├ NAME [␋┼ WORDS ... ;] ␍⎺ CO ⎽␊├ [--▒␉␊°┐└┼⎻├┤┴│BCHP] [-⎺ ⎺⎻├␋ ⎽␋°├ [┼] ⎽⎺⎻├ [-⎻─⎽┤] [-⎺ ┌⎺┼±-⎺⎻├␋⎺┼] ⎺⎻├ ⎽⎺┤⎼␌␊ °␋┌␊┼▒└␊ [▒⎼±┤└␊┼├⎽] ⎽┤⎽⎻␊┼␍ [-°] ├␊⎽├ [␊│⎻⎼] ├␋└␊ [-⎻] PIPELINE ├␋└␊⎽ ├⎼▒⎻ [-┌⎻] [▒⎼± ⎽␋±┼▒┌_⎽⎻␊␌ ...] ├⎼┤␊ ├≤⎻␊ [-▒°⎻├P] ┼▒└␊ [┼▒└␊ ...] ├≤⎻␊⎽␊├ [-▒°F␋⎼├│] [-⎻] ┼▒└␊[=┴▒┌┤ ┤┌␋└␋├ [-SH▒␌␍°␋┌└┼⎻─⎽├┤┴│] [┌␋└␋├ ┤└▒⎽┐ [-⎻] [-S] [└⎺␍␊] ┤┼▒┌␋▒⎽ [-▒] ┼▒└␊ [┼▒└␊ ...] ┤┼⎽␊├ [-°] [-┴] [┼▒└␊ ...] ┤┼├␋┌ COMMANDS; ␍⎺ COMMANDS; ␍⎺┼␊ ┴▒⎼␋▒␉┌␊⎽ - S⎺└␊ ┴▒⎼␋▒␉┌␊ ┼▒└␊⎽ ▒┼ ┬▒␋├ [┼] ┬␋┌␊ COMMANDS; ␍⎺ COMMANDS; ␍⎺┼␊ π COMMANDS ; £ ≤▒┼@L⎺┌▒:·/D␊⎽┐├⎺⎻$
|
|
|
|
|
En línea
|
|
|
|
lll_swamp_lll
Desconectado
Mensajes: 79
|
Agrego... Intenté ejecutar wine cmd y despues type mundo.gif y fue exactamente los mismo pero con otros caracteres y escribí exit y volvió igual que como lo puse en el primero post. Además el titulo de la ventana también cambió... podría usarse este tipo de archivos para modificar involuntariamente una consola o ejecutar comandos no deseados con tan solo cargarlo con cat? 
|
|
|
|
« Última modificación: 20 Octubre 2007, 23:22 por lll_swamp_lll »
|
En línea
|
|
|
|
lll_swamp_lll
Desconectado
Mensajes: 79
|
Descompilé con un editor hexagecimal el archivo gif y llegué a la conclusión que hay un solo caracter que no soporta la consola de Linux: 0x00 0E = Sift Out No lo soporta XD.. edité un txt donde el primer caracter es 0E y la consola no lo soportó al procesarlo con el comando cat. Ahora lo hice con un archivo llamado pantallazo.png y al final me decía que la orden en bash no fue encontrada por lo cual cabe la posibilidad de que haya una ejecución de código arbitrario al procesar un archivo cualquiera a traves del comando cat. Cuando lo desarme aviso si funciona o no. PoC1: Bajar = http://www.megaupload.com/?d=FFTICX1GEjecutar = cat prueba.zipEs solo un texto con extensión .zip Modo manual: PoC2:Abrir la consola de comandos y escribir echo, apreta contrl +v y control +n > archivo.xluego cat archivo.x
|
|
|
|
« Última modificación: 21 Octubre 2007, 20:34 por lll_swamp_lll »
|
En línea
|
|
|
|
lll_swamp_lll
Desconectado
Mensajes: 79
|
Acabo de comprobar que puede colgarse la consola probocando una denegación de servicio con tan solo crear los caracteres 1B 50 hexagecimalmente dentro de cualquuier archivo en cualquier parte. La consola de Linux no es capaz de procesarla.
Ya estoy encontrando una parte donde al cargarla a la consola comienza a ejecutar comandos sin llamar a la orden sh ni nada mas que un simple cat.
Al parecer puede hacerse efecto no tan solo con este comando sino de cualquier forma en que tenga que leerse desde la propia consola, talves desde apt-get o sudo sh
|
|
|
|
|
En línea
|
|
|
|
|
|
lll_swamp_lll
Desconectado
Mensajes: 79
|
Sería interesante crear una lista de caracteres no soportados por los diferentes sistemas operativos y que cada persona haga las pruebas con esos archivos voluntariamente para recoger un registro de vulnerabilidades
|
|
|
|
|
En línea
|
|
|
|
yeikos
Desconectado
Mensajes: 1.424
|
Pero eso dependerá de la aplicación que recoja los datos y no de la propia consola... int main() { short i; for (i=0;i<=31;i++) { printf("%c",i); } }
|
|
|
|
|
En línea
|
|
|
|
lll_swamp_lll
Desconectado
Mensajes: 79
|
Lo que pasa es que no puedes imprimir códigos hexa tales como return o control+n+v
Al parecer si es un fallo propio de la consola ya que lo hice en wine y fue lo mismo wine cmd /c type poc1.gif
Al parecer el problema no es el coamndo cat ni la emulación con wine sino al cargar el archivo a traves de cualquier método desde la misma consola.
|
|
|
|
|
En línea
|
|
|
|
lll_swamp_lll
Desconectado
Mensajes: 79
|
También me fijé que el editor de texto no te soporta por defecto si abres un archivo como un gif para editar su contenido como lo hace el block de notas, de todas formas intenté simularlo en wine y solop me carga la cabecera sin el cuertpo igual que la incompativbilidad de cargar en memoria de visual basic.
|
|
|
|
|
En línea
|
|
|
|
|
berz3k
|
Que te dice el GDB ? existe solo corrupcion en chars?
-berz3k.
|
|
|
|
|
En línea
|
|
|
|
^Tifa^
Desconectado
Mensajes: 2.802
|
La consola es solo un interprete de comandos, y cada comando ejerce una funcion, cat en este caso lee archivos de texto, pero archivos he imagenes gif, png, bitmap, exe, etc, etc... obviamente cat no lo ejecutara ya que no son archivos compatibles para cat no son textos, entonces lo que sale es el archivo en lenguaje maquina o binario o como quieran llamarle, caracteres raros.
No es que la consola no soporte estos caracteres, si abrimos un gif, png, bitmap, exe en un notepad de windows pasase lo mismo, no son texto son imagenes si queremos abrirlo en un archivo que no soporta dicha extension que saldra?? caracteres raros...
La razon por la cual a hacer Ctrl-C y al escribir 'help' vuelve y te salen los mismos caracteres raros que cat imagen.gif estaba procesando es completamente normal, recuerda que Ctrl-C no cierra el programa este sigue ejecutandose en el fondo, y no como proceso sino como lectura (esa es la funcion de cat) esto no implica que haya un overflow en la consola....
en años pasados si existio un pequeño problema en cuanto a overflows en las consolas, a la hora de procesar miles de caracteres de texto, pero esto fue resuelto hace mucho tiempo con el comando xargs....
No veo mucha utilidad de overflow en una consola abriendo un gif, sobretodo porke no hay que tener 2 dedos de frente para saber que un gif no se lee con cat.
Y en Linux, al no existir extensiones como en windows, nos resulta un poco mas dificil engañar a un usuario para que abra cierto archivo, ademas el comando 'file' nos detalla muchas sorpresitas que alguien quiera lanzarnos.
|
|
|
|
|
En línea
|
|
|
|
WHK
吴阿卡
Ex-Staff
Desconectado
Mensajes: 4.113
The Hacktivism is not a crime
|
Yo lo he probado y si funciona.. ^TiFa^.. el bug no se basa en el archivo gif ya que se explicó que modificando un archivo hexagecimalmente puede llegarse al mismo resultado aún conteniendo un solo caracter y sin importar la extensión del archivo, de esa forma excluimos la posibilidad de que sea que aún esté cargando la imagen.
También cuando lo hice con un archivo bmp después de cargar todo al final me decía "orden bash no encontrada" muchas veces y es ahí donde cabe la posibilidad de la ejecución de comandos a traves de cargar un archivo desde cualquier comando pero siempre desde la misma consola.
Imagina colocar hexagecimalmente el caracter no soportado mas la ordenes de comando.. al procesarla con cualquier comando desde la consola no podrás ver nada ni podrás escapar ni cerrar la consola mientras se ejecuta la descarga y ejecución de keyloggers, eso sería como un código de ejecución arbitrario oculto al procesar un archivo cualquiera sin importar su extensión ni su contenido extra.
|
|
|
|
|
En línea
|
|
|
|
Xpeed
Desconectado
Mensajes: 480
Res Publica Non Dominetur
|
Imagina colocar hexagecimalmente el caracter no soportado mas la ordenes de comando.. al procesarla con cualquier comando desde la consola no podrás ver nada ni podrás escapar ni cerrar la consola mientras se ejecuta la descarga cuando sucede este viejisimo error, la consola queda completamente funcional, con la excepcion que el log de caracteres para que nosotros los humanos los podamos leer simplemente se vuelve incoherente, pero, NO SUCEDE LO DE NO PODER DETENER NADA y muchisimo menos lo de no poder cerrar, a decir verdad este simple error se soluciona saliendo de la consola y volviendola a iniciar..
un saludo.
|
|
|
|
|
En línea
|
|
|
|
WHK
吴阿卡
Ex-Staff
Desconectado
Mensajes: 4.113
The Hacktivism is not a crime
|
a decir verdad este simple error se soluciona saliendo de la consola y volviendola a iniciar.. No es muy alentador al utilizar un software que para solucionar sus problemas devas salir e ingresar nuevamente. Devería haber una solución oficial reparando eso no? talvés dando soporte por defecto de esos caracteres o algún tipo de reacción como por ejemplo un mensaje que diga "los caracteres ingresados no son soportados".
|
|
|
|
|
En línea
|
|
|
|
Xpeed
Desconectado
Mensajes: 480
Res Publica Non Dominetur
|
Devería haber una solución oficial reparando eso no? hacer un file al archivo si este es desconocido primero antes de mandarlo a cat.. almenos así lo hago yo para evitar eso, porque si, es muy tortuoso tener que reiniciar la consolaalgún tipo de reacción como por ejemplo un mensaje que diga "los caracteres ingresados no son soportados" a decir verdad, eso lo pense tambien en su momento, y me parece la mejor opcion.. pero bue ..
un saludo.
|
|
|
|
|
En línea
|
|
|
|
|
|