miércoles, 5 de diciembre de 2018

Google Dorks: Identificando inyecciones SQL en PHP/MySQL

Buen día, vuelvo a publicar después de mucho tiempo de no pasar por acá; he decidido volver y hablar de la identificación de sitios vulnerables a inyecciones SQL con ayuda de Google, ¿alguna vez se han preguntado cómo encontrar sitios con posibles inyecciones SQL? Es fácil y para esto nos apoyaremos de los Dorks de Google.

Para el ejemplo de hoy, buscaremos sitios desarrollados en PHP que utilicen un manejador de base de datos MySQL, una combinación realmente común. 

El Dork a utilizar sera el siguiente:

inurl:php? intext:"You have an error in your SQL syntax;"


Para nuestra búsqueda se obtienen un poco más de un millón de resultados, dando oportunidad de identificar muchos sitios posiblemente vulnerables a inyecciones SQL.


 En siguientes publicaciones revisaremos a detalle algunas técnicas para explotar esta vulnerabilidad.


Autor: 1nf4mousmx. 

jueves, 11 de octubre de 2018

Google Dorks: Identificando sitios Hackeados

Buen día a todos aquellos que se toman un momento para leer el contenido de este Blog.

El día de hoy he decido hablar nuevamente de Google Dorks, sólo que ahora será con la finalidad de identificar sitios Hackeados. 

¿A que se debe esto?
En general, al realizar una prueba de seguridad a un aplicativo viene a mi mente la posibilidad de que el sitio a revisar se encuentre comprometido, por lo que una serie de combinaciones de Dorks comienzan a dar vueltas dentro de mi cabeza; de las cuales hablo en este Post.

Ya que tenemos definido el alcance de nuestra prueba de seguridad y contamos con la dirección URL a revisar, imaginemos palabras o frases que sean utilizadas constantemente por Cibercriminales para dejar en claro que ellos fueron capaces de comprometer un sitio:
  • Hacked
  • Hacked by
  • Pwnd
  • Pwnd by
Considero son las más utilizadas, para esta publicación, trabajaremos con las ya mencionadas y tal como publiqué anteriormente AQUÍ, usaremos los siguientes Dorks para identificar si la aplicación a revisar ha sido comprometida (puedes jugar un poco con ellos para tener mayor exactitud en tu búsqueda):

site:www.misitiodeprueba.com intitle:"hacked by"
site:www.misitiodeprueba.com intext:"hacked by"
site:www.misitiodeprueba.com intitle:"Pwnd by"
site:www.misitiodeprueba.com intext:"Pwnd by"



Con los Dorks utilizados podemos descartar o no la posibilidad de que el sitio que estamos revisando haya sido comprometido por un Cibercriminal en busca de fama, que por lo regular ha dejado el mensaje "Hacked by" o "Pwnd by" en el título o dentro del contenido de las página Web, OJO! el hecho de que Google no haya arrojado resultados no quiere decir que el sitio sea seguro o que no haya sido vulnerado anteriormente.

Extra!
Les dejo unos cuantos Dorks más para identificar sitios publicados en Internet comprometidos:

inurl:php?id= intitle:"hacked by"
inurl:php?id= intitle:"pwnd by"
inurl:aspx?id= intitle:"hacked by"
inurl:jsp?id= intitle:"hacked by"
...

Espero puedan jugar un poco con ellos y sacar el máximo provecho de lo visto hoy.

Autor: 1nf4mousmx. 


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...