jueves, 27 de febrero de 2014

Weevely para la post-explotación

Hoy vamos a ver como podemos utilizar weevely para ocultar una shell en una imagen. En security bydefault, Luis Delgado ya nos comentó el potencial que tiene weevely, y en este otro artículo de la gente de hackplayer explican como crear backdoors en imágenes. Weevely posiblemnte sea una de las herramientas más potentes que existen para subir shells, ya que trae un gran número de módulos con los que interactuar y sacarle el mayor rendimiento, además de que se trata de una shell con la que todos los comandos los lanzas desde el propio terminal y no a través de un cpanel como es el caso de las c99, c100, etc.

La forma más sencilla de crear una shell con weevely es a través del comando generate, sin embargo este comando esconde consigo dos modalidades, la de generar una shell en un .htaccess, y la de generar una shell en una imagen. Esta técnica por lo general se suele hacer en el proceso de post-explotación, es decir, una vez que ya hemos obtenido una shell en el server, lo que hacemos en crearnos otra shell oculta para no ser identificados y borrar la que se subió en un principio.

Imagen 1: Tipos de shells que se pueden generar con Weevely
Realmente no hay que hacer grandes filigranas para ocultar la shell en una imagen, nos bastará con utilizar el mismo comando que solemos utilizar para crear una shell normal, pero con el parámetro generate.img.

Imagen 2: Generando una shell oculta en una imagen.

Esto creará una copia de la imagen con una una shell oculta en ella, y por otra parte crea un .htaccess para que el servidor pueda interpretar la extensión .png como código php.

Imagen 3: Código del .htaccess
Ahora podemos subir el .htaccess a la raíz del servidor web y la imagen con la shell a donde queramos. Como ya hemos comentado, esto es una tarea de post-explotación, se da por hecho que ya se ha obtenido acceso al servidor y que podemos subir ambos archivos.
Finalmente ya tenemos todo preparado, si lanzamos una conexión weevely contra la imagen obtendremos una bonita shell con la que interactuar y navegar a nuestras anchas pasando desapercibido.

Imagen 4: Conexión a la shell oculta en una imagen