lunes, septiembre 13, 2010

Como meter un exploit en una web con ingenio

No, no es una lección de defacements, ni como crear un fichero en una ruta del servidor utilizando técnicas de SQL Injection o un Shell colada por LFI o RFI. Este artículo sólo es para contaros una historia de un asistente en la Black Hat USA 2010 Arsenal y cómo él utilizaba la FOCA.

Allí, mientras estaba enseñando la FOCA a los visitantes que se acercaban a ver como funcionaba, uno de ellos me dijo que la usaba y que le gustaba mucho, que era un "FOCA Lover".

Mientras yo explicaba las funciones y lo que se podía hacer con FOCA, él escuchaba atento, hasta que un momento se arrancó y nos comentó una forma más sencilla de utilizarla. Su idea era bastante imaginativa.

"Si conoces quién edita un documento, es decir, el autor del mismo, y conoces quien lo publica en la web, es decir, el webmaster, entonces sólo tienes que modificar el documento publicado, supongamos un PDF, y meter un exploit. Después, enviar un e-mail al webmaster suplantando al autor y solicitando que actualice el documento, que había una errata en la versión anterior. Con FOCA puedes averigura fácilmente quiénes son los autores de los documentos y luego buscar en la própia página web al webmaster."

Esta idea es curiosa, y nos comentó que lo usaban para colarse en los equipos en las intranets por medio de reverse shells en procesos de pentesting para descubrir si el proceso de publicación de documentos en la web estaba fortificado. Hay que reconocerles el ingenio.

Yo he ido a ver por ahí esos sitios que tienen publicados en sus webs ficheros tomados de otras y ver si costaría mucho construir un ataque así. Por ejemplo, en esta web se puede ver que están publicando un manual de Guadalinex que puede ser descargado desde la URL de publicación original o del propio repositorio que tiene esta web.


Figura 1: Web publicando ficheros copiados

Éste es un sitio perfecto para hacer el ataque ya que hay una desconexión entre el documento original, el autor, el documento que ellos publican y el webmaster.

Si miramos los metadatos del documento, se puede ver quién es el autor del mismo.


Figura 2: Metadatos en el manual de Linux

Con estos datos habría que crear una historia y montar un correo diciendo algo como lo que siguiente:

"Hola, soy XXXX, el autor del documento que estáis publicando en esta URL... Hemos actualizado el documento porque el que estáis publicando contiene un par de erratas gordas. Os paso el documento para que por favor actualicéis el fichero en vuestro servidor.

Un saludo cordial...."


¿Funcionará el engaño? Quién sabe... no vamos a ser tan malos de probarlo si no es en un pentesting contratado, pero os aseguro que lo probaremos allí. Imaginación al poder.

Saludos Malignos!

5 comentarios:

  1. La idea me parece muy divertida y original. Pero, a día de hoy, los documentos los sube el propio autor/editor, para eso están los CMS. Como mucho, con un cms conocido (parece que Plone en el caso de guadalinex), podrías escribir un correo a soporte diciendo que no puedes subir el documento, lo normal (si la política de soporte no es esperar las peticiones en un bugtracking o similar) será que prueben ellos :)

    Creo que la figura del webmaster que actualiza la web está tan obsoleta como ie6 :) y al igual que en este, no merece la pena pararse a pensar en él.

    De todas formas la idea es cojonuda.

    ResponderEliminar
  2. Si os sirve de idea, cuando publiqué el manual en PDF de Anubis 1.0, a los pocos días ya estaba linkado en varias web de estas de alojamiento de libros y manuales. Por ejemplo:

    http://www.pdfgratis.org/Maquinas-herramientas-de-casillas/5

    http://www.librospdf.net/manual-del-hacker-perfecto/1/


    Y si le meto un bicho a ese PDF...zas en toda la boca(tranquis que no lo haré =))

    Muy buena idea ese uso de metadatos.

    saludos

    ResponderEliminar
  3. Chemaaa a ver cuando te animas a usar metasploit de forma avanzada e imaginativa, eso de meter una shell no se hacerlo jeje voy a ver como va.

    Larga vida a FOCA

    ResponderEliminar
  4. Saludos, muy interesante
    pero tengo una duda normalmente cuando infectamos un PDF la "victima" tiene que ABRIR el pdf para que se ejecute el el payload

    mi consulta es como el caso que expone chema, es una pagina de DOWNLOAD donde buscamos un pdf y lo descargamos en este caso como funcionaria

    me refiero a que nosotros estariamos invocando al pdf infectado haciendo click sobre el , o esperando lo x segundos hasta que empieze la descarga

    pero NO comprendo como se completaria el ataque se abrira una reverse shell ??
    saludo...

    ResponderEliminar
  5. ni tu ni nadie, a menos que no haya un comando que se llame por arte de virle y virloque...

    ResponderEliminar