miércoles, 19 de septiembre de 2018

Explotando un "crossdomain.xml".

¿Qué tal a todos?

El día de hoy les voy a mostrar como explotar una mala configuración del archivo "crossdomain.xml", pero antes es necesario comentarles que el uso o acciones realizadas referentes a la información que se encuentra en este sitio es tu responsabilidad. El mal uso de la información que este sitio contiene puede resultar en cargos legales, de los cuales el autor de este "Blog" no tiene responsabilidad alguna por las acciones realizadas por los lectores.

Sin más rodeos comencemos!...

¿Qué es el archivo "crossdomain.xml"?
Es un archivo en formato XML, en el cual se define la política "Cross-Domain", lo que permite a clientes Web manejar recursos entre diferentes dominios, en otras palabras tengo dos servidores Web (los llamaremos "servidor A" y "servidor B"), en el "servidor A" tenemos un archivo flash que solicitará información del "servidor B" para mostrar dentro de la aplicación Web del "Servidor A", de no existir la política "Cross-Domain" en el "Servidor B", nuestro archivo flash no podrá obtener la información solicitada, por lo tanto, no se podrá mostrar ningún dato del "Servidor B" en el "Servidor A".

¿Cómo identifico un archivo de "crossdomain.xml" mal configurado?
Muy sencillo, antes que nada debes localizar el archivo "crossdomain.xml" en el servidor victima (por lo regular lo encuentras en el "path" raíz ej: "https://www.misitiovulnerable.com/crossdomain.xml") y éste debe estar configurado de tal manera que permita el acceso de cualquier dominio, esto se especifica con el simbolo "*", así como en la siguiente imagen:


Requerimientos:
Ahora requieres de un ambiente de pruebas, en donde yo te recomiendo descargar lo siguiente:

1) VMWare Player (ahora Workstation Player), de no ser así, puedes utilizar VirtualBox para hostear tus maquinas virtuales.

2) La maquina victima, en este caso, utilizaremos bWAPP (cuenta con más vulnerabilidades que te serán de utilidad par aprender y jugar un poco).

3) La maquina atacante, en este caso, debe ser un sistema Linux, por lo que yo les recomiendo utilizar "MagueyATF", un agradable Sistema Operativo con herramientas necesarias para hacer pruebas de seguridad a todo tipo de aplicativos (pueden descargar Kali, Backbox, ParrotOS).

4) Un Servidor Web, en donde recomiendo un Ubuntu Server, sólo es necesario que tu sistema operativo cuente con las instalaciones del servidor Web "Apache" y de "PHP" para llevar a cabo está PoC.

5) El Framework que nos hará el día y que contiene todo lo necesario para explotar al vulnerabilidad de "Cross-Domain", desarrollado por  Seth Art aka "SethSec".

Instalación:
Asumiendo que ya tienes tu ambiente virtual corriendo de maravilla y configurado (no olvides poner en modo puente las tarjetas de red de tus maquinas virtuales, te quitará unos cuantos dolores de cabeza), comencemos con la instalación del Framework en nuestro equipo atacante, lo cual se realizará de la siguiente manera.

1) En una terminal ejecute las siguientes instrucciones:
  • git clone https://github.com/sethsec/crossdomain-exploitation-framework.git
  • cd  crossdomain-exploitation-framework
  • ./SWF-server 
Esto debe ser suficiente para realizar la instalación del Framework en nuestro equipo.

Explotación:


1) Continuamos con la modificación de nuestro "ActionScript" para generar nuestro archivo "SWF", el cual se encargara de explotar la política del "Cross-Domain", para ello, necesitamos realizar las siguientes acciones.

  • Ingrese a la carpeta "actionscript-templates" y con un editor de texto abra el archivo "StealData.as".
  • Introduzca las direcciones URL del servidor vulnerable y del servidor que utilizara para almacenar nuestro archivo "SWF",  tal como en la imagen que adjunto:



3) En una terminal, introduzca la siguiente instrucción (tienes que estar en el path "crossdomain-exploitation-framework"):
  • /opt/flex/bin/mxmlc ./actionscript-templates/StealData.as --output ./webroot/exploit.swf
4) Copie el archivo "exploit.swf" (que se encuentra en la carpeta "crossdomain-exploitation-framework/webroot") al servidor  Web que se utilizará para recolectar información (recomiendo pegarlo en la raíz, ejemplo: /var/www/html/).


5) Cree los siguientes dos archivos, "test.html" y "collector.php" en el servidor Web.

test.html




collector.php




6) Inicia sesión en la aplicación "bWAPP" desde el equipo atacante, en otra pestaña del navegador ingresa la dirección URL del servidor Web que ordenara la ejecución del archivo "SWF", en este caso será el archivo "test.html".

7) Finalmente, observe el contenido del archivo "thanks_for_sharing.txt" dentro del servidor Web, el cual muestra la información obtenida del sitio victima.


Cabe mencionar, que con este fallo de seguridad, puedes traerte toda la vista presentada del usuario en sesión sobre el servidor vulnerable...

Saludos.
Autor: 1nf4mousmx. 

Referencias
https://www.adobe.com/devnet/adobe-media-server/articles/cross-domain-xml-for-streaming.html
https://github.com/sethsec/crossdomain-exploitation-framework
https://sethsec.blogspot.com/p/about.html (Para hacer honor a quien honor merece, les dejo un poco de información del desarrollador de tan magnifico Framework, ya que sin su trabajo no hubiera sido posible realizar esta PoC).

miércoles, 12 de septiembre de 2018

Entendiendo un poco de Google Dorks


Hola visitantes de este blog tan magnifico!

El día de hoy tengo el gusto de presentar mi primer post tras años de ausencia y para ello he decido hablar sobre GOOGLE DORKS, también conocido como GOOGLE HACKING

Es bien sabido que GOOGLE es un buscador muy potente y que podemos encontrar cualquier cosa gracias a que sus mecanismos de búsqueda ofrecen un sin fin de información, pero en este momento lo último de lo que queremos hablar es de cómo encontrar el nombre de aquella serie que veíamos, o el nombre de aquel villano con el que soñábamos ser en la infancia.

Así que comencemos…
¿Qué es Google Dorks?
Básicamente, son operadores cuya función es el filtrar información en el buscador de Google, esto para acotar los resultados encontrados en una búsqueda a solo aquellos resultados que nos son de mayor utilidad, por ejemplo filtrar el tipo de archivos o que los resultados contengan explicitamente una palabra.

¿Y eso significa qué? Veamos un ejemplo!

Tratando de encontrar un buen libro de Hacking en formato PDF se me ocurre lo siguiente:
Buscar la palabra "Hacking".


Y en efecto! Millones de resultados, pero… ¿y mi libro de Hacking?
Es ahí donde entran los operadores de nuestro amigo GOOGLE, en este caso “filetype”.


Bastó con la siguiente búsqueda: Hacking filetype: pdf para encontrar algunos libros en formato PDF, te adjunto una tablita con los operadores mas comunes:

OPERADOR
DESCRIPCIÓN
INURL
Busca una palabra en la URL de la pagina.
SITE
Limita la busqueda a un dominio determinado.
INTEXT
Busca una palabra en el texto de una pagina.
FILETYPE
Busca archivos con una extensión determinada.

Bueno y ahora te preguntaras que tiene de Hacking esto… y yo te responderé que la respuesta esta en tu imaginación, contamos con operadores para encontrar: texto especifico en una pagina web, texto especifico en las direcciones URL y formatos específicos como ya lo vimos, para dejar mas claro lo que pretendemos explicar y se tenga esa sensación de que hoy aprendimos algo de Hacking les dejo el siguiente ejemplo para encontrar formularios de "login" de un famoso CMS llamado “WordPress” con el operador inurl… So let's get started it!

Un poco de paciencia y mucha imaginación nos ayudará a encontrar lo que buscamos, sin embargo te recomiendo no abusar de los "Dorks" de Google, ya que no creo que quieras recibir una demanda y ser catalogado como un ciberdelincuente.

En los próximos post estaré explicando más a detalle los operadores y daré unos ejemplos interesantes.

Autor: 1nf4mousmx. 

¿Cómo identificar un SQL Injection? ¿Es vulnerable el parámetro?

¡Hola a todos! nuevamente tras mucho tiempo desaparecido dadas algunas aventuras en el lado obscuro de la seguridad informática (así es... e...