Ejecución de código de forma arbitraria en mIRC

Diciembre 15, 05 by admin

Jordi Corrales nos ha remitido un bug descubierto en mIRC. La vulnerabilidad se ha testeado en mIRC 6.16,6.12,6.03 y 5.91, todos resultaban ser vulnerables. Posiblemente todas las versiones de mIRC sean vulnerables. El código que se pueda conseguir ejecutar se ejecutaría con los privilegios del usuario que haya en esos momentos, de todos modos podría ser peligroso para universidades, cybercafes, escuelas y cualquier otro sitio donde se tengan restricciones ya que se podria eludir estas protecciones mediante un código especificamente diseñado para ello.

Añadiendo o editando los filtros las carpetas de donde se localizaran los archivos que se reciban por DCC si se escribe una linea mayor o igual de 981 bytes la aplicacion dara un error y muestra un error de memoria 0×0000. Este error de memoria 0×0000 se debe a que está leyendo el campo editable inferior y esta vacío, si se escribe AAAA en ese campo el error cambia y da como error 0×41414141, por lo que sobreescribe la EIP, así que se puede tomar el control del PC y ejecutar código arbitrario. Pero para ejecutar código arbitrario hay un problema, solo se pueden escribir 39 bytes en el segundo campo editable por lo que imposibilita insertar una shellcode con un buen código, lo que se puede hacer para resolver este problema es modificar la pila para que lea el texto que hay en el primer campo que tiene 980bytes y ahi poner una shellcode, para ello se realizaría por ejemplo jmp esp + sub esp 0×74 + jmp esp.

Add your comment

No responses for this post

  1. Fernando Ortega Says:

    Respuesta de Khaled al bug de mIRC 6.16:

    Hi there,

    Thanks for the note, this should be fixed in the next version.

    Khaled

Leave a Reply