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

viernes, 14 de febrero de 2014

Buscando Shells con Dirbuster

Hace poco tiempo descubrí Dirbuster, una herramienta que se utiliza bastante para descubrir directorios web basandose en fuerza bruta. Su principal cometido es ese, el de buscar directorios, o bien mediante diccionarios, los cuales ya trae alguno por defecto, o bien mediante fuerza bruta de caracteres. Por lo que hace que la herramienta sea sencilla, y no muy compleja.
Imagen 1: DirBuster buscando directorios
Mediante los tipos de respuesta que genera el servidor podemos saber si el direcotrio o archivo existe o no.
Al tratarse de búsquedas mediante fuerza bruta se puede cargar todo tipo de diccionarios, para buscar no sólo directorios, sino también usuarios o archvios en concreto.

@felmoltor se ha encargado de generar un dicionario bastante completito de todas las webshell que existen. Con el fin de encontrar shells que ya se hayan subido al servidor.
Imagen 2: Diccionario de shell http://pastebin.com/dLVsUV9T
La idea es bastante buena. Partiendo de la base de que no seremos los únicos en descubrir una vulnerabilidad en algun sitio, buscaremos directamente donde está la shell que haya subió alguien anterioromente.
Imagen 3: Búsqueda de Shell con Dirbuster.