Random IRC quote :      <carapinia> io to lo ke digo es verdad menos lo ke es mentira

Bugs in Norman Virus Control driver

super-bug.jpgBuenas noches a todos y todas…

Hace ya algun tiempo que haciendo el tonto descubri dos pequeños errores en el codigo que gestionaba las IOCTL’s de uno de los drivers del Norman. Uno de ellos es un simple despiste a la hora de reservar un buffer para almacenar una cadena de texto. Y el otro un error a la hora de chequear adecuadamente los parametros que que un usuario puede mandar al dispositivo, y que en ultima instancia lleva a tener el control absoluto sobre un parametro en una llamada a una funcion del Kernel.

Dos pequeños despistes que sobre todo nos demuestran lo importante que es ir con pies de plomo en elementos tan sensibles como drivers, servicios, etc. donde un pequeño error puede suponer dejar el sistema en manos de cualquiera.
Y bueno, despues de mucho tiempo, al fin he conseguido sacar un poco de tiempo libre, poner por escrito algo parecido a un advisory, y añadir unos comentarios al exploit que hice a modo de prueba de concepto, todo lo cual os podeis bajar pinchando AQUI

Espero que disfruteis con la lectura, y en cuando al codigo que añado a modo de prueba de concepto, a pesar de estar muy lejos de ser una maravilla, creo que es un ejemplo original.

Sin mas, un saludo
Y por aqui estare esperando vuestro feedback ;o)

2 Comentarios para “Bugs in Norman Virus Control driver”

  1. Comment por Ruben | 08/31/07 at 12:16 pm

    Muy buena inocraM. El exploit es elegante si señor, lo bueno es que el método de explotar el InsertTailList de los WaitBlocks es extensible a cualquier API que finalmente recaiga en KeWaitFor*Object.
    Un 10.

  2. Comment por Mario Ballano | 08/31/07 at 1:36 pm

    Enhorabuena inocraM, muy bueno el exploit!!, te lo has currado, y por ello te has ganado una caña del tio Mario xD

    Un saludo,

Se han cerrado los comentarios