Mostrando entradas con la etiqueta Web. Mostrar todas las entradas
Mostrando entradas con la etiqueta Web. Mostrar todas las entradas

GOOGLE HACKING: PARTE II


Venimos de Google Hacking I, donde habíamos introducido los operadores que nos permiten exprimir al máximo este famoso buscador. Hoy veremos ejemplos sencillos de como podemos utilizar estos operadores.

Listado de directorios

Una de las acciones habituales a la hora de mejorar la seguridad de un sitio web, es desactivar el listado de directorios, es decir, evitar que el servidor muestre la lista de contenidos de los directorios públicos. Aunque es habitual que esta opción este deshabilitada, existen muchos servidores que la traen activa por defecto, por lo que si no es desactivada nos ofrecería una oportunidad única para recopilar información de valor.

Localizar listados de directorios mediante búsquedas de Google es sencillo. Aprovecharemos la circunstancia de que la gran mayoría de listados de directorios comienzan con la frase “Index of”, frase que también se mostrará en el titulo de la pagina. Una forma rápida para encontrar este tipo de paginas vendrá dada por la búsqueda; intitle:index.of, que buscara aquella paginas cuyo titulo sea “Index of”. Desafortunadamente, esta búsqueda devolverá multitud de falsos positivos, por lo que necesitaremos afinar un poco mas la búsqueda. Existen varias palabras claves que a menudo podemos encontrar en los listados de directorios, como son “parent directory”, “name” y “size”. Combinando estas palabras claves con la búsqueda anterior reduciremos drásticamente el numero de falsos positivos.

[ intitle:index.of “parent directory” ]
[ intitle:index.of name size ]

Buscando directorios y archivos

Ya hemos visto como localizar un listado de directorios, pero aun podemos afinar mas la búsqueda. Una opción interesante seria buscar un directorio donde pudiéramos encontrar información útil. Por ejemplo, para localizar un directorio de nombre “admin” sin tener que navegar por el listado, añadiríamos a la búsqueda el nombre del directorio de la siguiente forma:

[ intitle:index.of.admin ]
[ intitle:index.of inurl:admin ]

Pero el listado de directorios ademas de listar el nombre de los directorios, como su propio nombre indicia, también lista ficheros. Por tanto, es posible buscar mediante Google ficheros específicos sin necesidad de navegar por cada uno de los directorios. Por ejemplo, si pretendemos buscar ficheros de registro usaríamos la búsqueda:

[ intitle:index.of acces.log ]

Versión del servidor

Una pieza de información valiosa que nos ofrecen algunos listados de directorios es el nombre y numero de la versión software del servidor. Suele aparecer en la parte baja del listado del directorio, tal como se muestra en la siguiente imagen.
Para localizar este tipo de información usaremos la palabra clave “server at”, que aparece junto a la versión y nombre del software del servidor web. Podremos también, buscar un tipo de servidor en concreto, como por ejemplo Apache o IIS, e incluso una versión determinada, para lo que cambiaríamos el asterisco por la versión concreta.

[ intitle:index.of “server at” ]
[ intitle:index.of “Apache/* server at” ]
[ intitle:index.of “Microsoft-IIS/* server at” ]

Páginas de acceso

Cuando hablamos de páginas de acceso, hacemos referencia a aquellas paginas web que permiten el acceso a una zona restringida mediante unos determinados credenciales (habitualmente usuario y contraseña). Encontrar este tipo de página puede sernos útil, ya que podremos obtener información del software instalado, información que podremos usar posteriormente para buscar vulnerabilidades y exploits. Así mismo, podremos realizar el proceso inverso, es decir, a partir de un exploit, usar el buscador de Google para obtener posibles objetivos. Una ultima opción, seria realizar ataques de diccionario o fuerza bruta para intentar obtener acceso al área restringida.

Existen varias búsquedas que nos permiten encontrar paginas de acceso de forma general, es decir, buscaremos paginas de acceso sin tener en cuenta al servicio que podamos acceder si finalmente comprometemos el sistema. Por ejemplo, podemos buscar, mediante la URL, formularios web basados en ASP.NET que nos permitirán acceder a un área restringida (login.aspx) o formularios :

[ inurl:”/secure/login.aspx” ]

Otra opción, es buscar texto en la web que anuncie que nos encontramos ante un portal de acceso, por ejemplo, texto que nos pida que introduzcamos los credenciales necesarios:

[ intitle:Please Login "You have requested access” ]

Hemos visto como buscar páginas de acceso de forma general, pero podemos centrarnos en páginas de un software o hardware en concreto. Por ejemplo, seria interesante encontrar una pagina de acceso a una VPN SSL Clientless de Cisco ASA, software al que le fue descubierta una vulnerabilidad y que podríamos intentar explotar(CVE-2014-3393):

[ inurl:logon.html "CSCOE" ]

Tan solo tendríamos que encontrar una característica diferenciadora en alguno de los elementos (titulo, URL, texto...) para buscar un página de acceso de un software en concreto en el que tengamos interés. Otros ejemplos podrían ser, la búsqueda de paginas de acceso del gestor de aplicaciones virtuales de Citrix XenApp o a la plataforma anti-DDoS Peakflow SP de Arbor Networks:

[ inurl:"Citrix/XenApp/auth/login.aspx" -Xmarks ]
[ intext:"Please Authenticate" intitle:Peakflow ]

robots.txt

Otra cosa interesante con la que podemos trastear” es con el fichero robots.txt. Este fichero de texto dicta unas “recomendaciones” para los crawlers de buscadores como Google o Bing sobre las páginas que no deben indexar.

Lo curioso e increíble es que estos buscadores suelen indexar este fichero, por lo que podemos obtener aquella información que los administradores quieren mantener oculta...¿muy lógico no?.

Haciendo búsquedas simples, podremos identificar instalaciones de phpMyAdmin, Wordpress, Drupal, Joomla...

[ inurl:.com/robots.txt- + "Disallow: /phpmyadmin/" ]
[ inurl:".com/robots.txt" + "Disallow: /wp-admin/ ]
[ inurl:".com/robots.txt" + "Disallow: ?q=admin" ]
[ inurl:"/robots.txt" + "Disallow: joomla" ]

E incluso ir mas allá y buscar determinados directorios o ficheros, que pretendan ser ocultados. Cuestión de imaginación.

En esta segunda parte hemos ejemplificado de forma eficaz como podemos hacer uso de los operadores de Google para buscar información útil de forma rápida y sencilla. Pero existen muchas mas posibilidades, como búsqueda de vulnerabilidades especificas, RFI, XSS, SQLi... Pero eso lo veremos en la tercera parte :)


#ST2Labs
@seguridadxato2
@jm_aparicio


Ya son las IV (4) Navidades juntos !!!!!

¡Cómo pasa el tiempo¡ , sigo y seguiré compartiendo los buenos momentos con todos vosotros a través del Blog y Twitter @seguridadxato2 @st2labs

Finalizo el año ilusionado con el nuevo proyecto de vigilancia de páginas WEB (webguardshield.com) y con la vista puesta en el lanzamiento de secnapsis.com | Si olvidarme de mis alumnos del Máster de Seguridad TIC que en su 2 edición habrá más Hacking, más Metasploit y algo de Python para Hackers, siempre con la ilusión de cada año, en cada edición intentamos superar sus expectativas y eso, genera la necesidad de renovarse en un ciclo constante!!!

Y por supuesto de cara a un nuevo año, ST2Blog renueva imagen más acorde con las actividades y contenido que nos espera! #HappyHacking2015

Esperemos que este nuevo año que va a dar comienzo, nos traiga a todos #ciberseguridad y buenas practicas!!

Nos vemos en 2015 !!! ah!! y por supuesto os deseo un Feliz Año Nuevo!

PD: Espero poder escribir algunos #post sobre los nuevos proyectos muy pronto!

Julian J. Gonzalez (@rhodius)

En el Análisis de Vulnerabilidades es muy frecuente que se realicen varios test / scanner con diferentes herramientas para llevar a cabo una eliminación de falsos positivos (especialmente durante Auditorias de Seguridad a aplicación WEB). Una vez tienes el resultado, se verifican manualmente los resultados con objeto de ofrecer un informe con el mínimo número de falsos positivos posibles.

En un CSIRT (Computer Security Incident Response Team), una de sus funciones es el descubrimiento y análisis de vulnerabilidades; Fue durante un análisis rutinario donde ocurrio algo curioso que paso a comentar a continuación.

Durante la revisión manual de un análisis de vulnerabilidades a una página WEB encontré discrepancia entre varias herramientas, en particular entre el resultado obtenido con w3af y Vega, donde una herramienta (VEGA) informaba de una posible vulnerabilidad XSS, mientras que otra ni si quiera lo mencionaba. 

En la verificación manual, el típico <script>alert(1);</script>, tampoco mostraba ninguna constancia de la existencia de dicha vulnerabilidad XSS, probando algunas de las variantes, encontré al final una sentencia que confirmaría la existencia de la vulnerabilidad:

POC - XSS Vulnerable
Comando (XSS):

http://www.example.com/index.php?var='<script>alert('XSS Vulnerable');</script>

Fue entonces, cuando decidí buscar información sobre la precisión que tenia la herramienta w3af en el análisis de vulnerabilidades y encontré un proyecto Open Source (WAVSEP) que se encarga precisamente de evaluar herramientas de seguridad, aplicando varias pruebas sobre entornos vulnerables.

El ultimo informe WAVSEP 2013/2014, se analizan múltiples herramientas de seguridad tanto comerciales como open source; y si accedéis a la página web con el brenchmark (score board), encontrareis un completo análisis de cada herramienta con la precisión, falsos positivos, etc ordenado por tipo de ataque (XSS, SQLi, ..).

W3af - WAVSEP Score

Curiosamente, w3af no sale muy bien parado en éste análisis, y si además, puedo confirmar que no detecto una vulnerabilidad del tipo XSS, lo que me lleva a descartar la herramienta y buscar otra que sea open source.

Vega - WAVSEP Score

En la puntuación (score) del brenchmark, VEGA (la herramienta que había utilizado y que ha detectado dicha vulnerabilidad XSS), obtiene muy buen resultado (0% falsos positivos en XSS reflected), si a esto le unimos que w3af obtenía también algunos otros falsos positivos. 

Fue el momento de examinar con algo de más detenimiento el brenchmark y encontré wapiti, una herramienta de línea de comando escrita en python, múltiples formatos de salida y que además obtiene mejor puntuación en el brechmark que w3af.



Realice un test de la herramienta en la misma página web, ejecutando solamente el motor de XSS, y lo detecto a la primera. Además la herramienta tiene un modulo de detección de XSS persistentes, lo que lo hace aún más interesante.

Será en mi próximo artículo cuando hablaré de la herramienta wapiti, que esta incluida en KaliLinux, pero que también se encuentra disponible para windows (Pyexe) y en su versión de desarrollo, SVN incluye un modulo de detección de shellshock (ultima actualización SEP/14).

#ST2Labs
#ACS iSecurity
#CSIRT Team Leader

@ACSHackLabs
@ST2Labs


KahuSecurity acaba de lanzar una nueva herramienta que puede ser de gran utilidad a la hora de realizar una Análisis de Seguridad a una página WEB infectada, en busca de posible código dañino.

DESCRIPCIÓN

Scout surge como una nueva herramienta que aprovecha las características de otras dos anteriores, se trata de utilizar el motor de análisis de Pinpoint (analiza una web identificando todos los posibles componentes (files) infectados) con el poder de Revelo (capaz de extraer el código fuente del componente Javascript malicioso), para descargar y analizar los componente de la WEB identificados como posible Malware.

Scout incluye dos funcionalidades totalmente nuevas:

- Capacidad de simular peticiones HTTP (HTTP Request Simulator), capaz de ejecutar el código javascipt detectado como si fuera un navegador WEB, de ahí el nombre de simulador HTTP Request.
- Tomar "screenshot" de la página WEB.

Scout es una herramienta que puede comprometer el equipo donde se ejecuta, si se utiliza para analizar una página WEB infectada. Por lo que es muy recomendable utilizar SCOUT en un entorno virtual controlado.

INSTALACIÓN

Simplemente se requiere descargar el programa (scout_v0.1.zip [111Kb]) y descomprimir el archivo en una carpeta del sistema virtual (VM) para evitar que si analizar una web infectada tu equipo quede comprometido.


Requisito: Se requiere de PhantomJS (el ejecutable exe), que se deberá copiar en la misma carpeta (raíz) donde se encuentre el ejecutable scout.exe, para poder utilizar la funcionalidad de "screenshot" durante el análisis de la web.

PRIMEROS PASOS



He decidido probar SCOUT contra una web segura (http://www.seguridadparatodos.es) y es tan simple como introducir la URL y analizar.

Este programa incluye la capacidad de realizar un spoofing en el user-agent string and Refer de una petición HTTP-Request. Puede resultar de utilidad durante una Auditoria o test de penetración.

Al realizar el análisis de la URL el programa genera automáticamente los siguientes archivos, para su posterior revisión y estudio.


Hasta aquí el artículo de hoy, recordar utilizar esta herramienta en un entorno seguro (VM) para evitar sustos! mientras analizáis sitios WEB potencialmente peligrosos.

Ejemplo de USO

Visitar la web del autor, donde expone un ejemplo de análisis de una WEB infectada. Link.

#ST2Labs
www.st2labs.com

Hoy os traigo la primera parte de una serie de artículos sobre Google Hacking, que ha escrito y trabajado su autor: José Manuel Aparicio González (@jm_aparicio) y que ha querido compartir con todos nosotros.

GOOGLE HACKING: PARTE I




¿Qué es Google Hacking?

Antes de adentrarnos en el término “Google Hacking”, deberíamos introducir brevemente las características y funciones del buscador de Google, aunque siendo objetivos, no necesita de introducción, ya que es el motor de búsqueda más reconocido y utilizado en la actualidad, además de ser posiblemente, el buscador web más potente del mundo. Con datos tan significativos como los anteriores, deberíamos pensar en el buscador de Google como algo positivo libre de aspectos que pudieran ser adversos, sin embargo, el archi-conocido buscador se ha convertido en motivo de preocupación para muchos, y ahora veremos el por qué.

El concepto “Google Hacking” nace en el momento en el que el buscador de Google puede ser utilizado para encontrar mucho más de lo que deberíamos encontrar. Podemos definir “Google Hacking” como la técnica que explota la capacidad de almacenar información de Google mediante el uso de unos determinados operadores o palabras claves con el objetivo de encontrar información sensible. Google puede encontrar cosas como: archivos confidenciales, vulnerabilidades web, contraseñas...Para llegar a ese punto, previamente debemos conocer y entender los operadores que nos ofrece Google para afinar las búsquedas. 

A continuación intentaremos detallar los más importantes, dividiéndolos entre operadores básicos y avanzados.


Operadores Básicos

> Operador [ | ] - Operador lógico OR

uso: termino | termino

El operador OR, representado por el símbolo | o simplemente por la palabra OR en mayúsculas, hace que Google localice cualquiera de los términos incluidos en la consulta. Dicho de otro modo, buscaremos páginas que contengan un término u otro o ambos.

Ejemplo: [ cracker | hacker ]

> Operador [+] - Operador lógico AND

uso: +termino

El operador + se utiliza para incluir más de una palabra clave en una sola consulta. Realiza la misma función que un espacio en blanco simple, por lo que su mayor valía reside en incluir signos de puntuación y palabras que Google por defecto no tiene en cuenta al ser muy comunes (como por ejemplo “de”, “el”, “la” en Español o “we”, “the”, “to”, “of” en Ingles). 

Ejemplo: [ hacker +en España ]


> Operador [-] - Operador lógico NOT
uso: -termino

El operador – elimina de los resultados todas las páginas que incluyan el termino indicado, actuando como un filtro de resultados. Este signo se colocara delante de la palabra que queremos omitir, sin espacio entre el guion y el termino.

Ejemplo: [ hacker -golf ]

> Operador [*] - Operador comodín

uso: termino * termino

El operador *, también conocido como comodín, es de gran ayuda cuando se quiere buscar algo, pero hemos olvidado alguna palabra de la búsqueda. De este modo, si añadimos un asterisco entre dos términos, devolverá páginas que contengan dichos términos y además un, y solo uno, termino cualquiera entre ambos.

Ejemplo: [ internal * error ]

> Operador [“ ”] - Búsqueda exacta

uso: “termino(s)”

Realizar una búsqueda entre comillas permite encontrar frases o expresiones exactas. Si la búsqueda se realizara sin comillas, Google obtendrá resultados combinando cada termino o de cada uno de los términos.

Ejemplo: [ “default password” ]


Operadores Avanzados



> Intitle y Allintitle – Búsqueda en el título de una página

uso: intitle:temino(s), allintitle:terminos


Este operador nos permite restringir la búsqueda especificando el termino o frase que queramos que aparezca en el título de la página.

También podemos usar el operador allintitle, que restringirá más la búsqueda, ya que el titulo de página deberá contener todos los términos introducidos tras el operador. La gran desventaja de este operador frente a intitle, es que no se podrá combinar con otros operadores.

Ejemplo: Google Hacking (Parte I) - Operadores avanzados


> Inurl y Allinurl – Búsqueda de texto en la URL

uso: inurl:termino(s), allinurl:terminos

El operador inurl se utiliza para encontrar páginas que contienen en su dirección web o URL el término o términos buscado.

Al igual que allintitle, allinurl hará la búsqueda más restrictiva, obligando que la URL contenga todos los términos introducidos tras el operador. Otra característica que comparte con allintitle, es que no se puede combinar con otros operadores.


> Intext y Allintext – Búsqueda en el texto de una página

uso: intext:termino(s), allintext:terminos



El operador Intext es tal vez el operador más sencillo de comprender, ya que realiza la función básica de un motor de búsqueda: localizar un término en el texto de una página. Entonces, ¿tiene alguna utilidad un operador tan genérico? La gran utilidad de este operador reside en que encontrará el termino deseado en cualquier lugar de la página excepto en el título, en la URL y en los enlaces.

Al igual que en los dos operadores predecesores, existe un operador más restrictivo: allintext, que mantendrá las mismas características que los anteriores, esto es, mayor restricción en la búsqueda y la incapacidad de combinarse con otros operadores.


> Site – Búsqueda en un sitio especifico

uso: site:sitio/dominio

El uso del operador site restringirá los resultados a una página web determinada. De este modo, combinándolo con otros operadores podemos limitar los resultados de la búsqueda a un solo sitio web.

Aunque técnicamente forma parte de la dirección URL y hemos visto anteriormente el operador inurl, la búsqueda del dominio o dirección de un servidor será más eficiente con el uso del operador site, siempre y cuando tengamos certeza de la dirección que queremos usar.


> Cache – Búsqueda de la versión de la página guardada en cace

uso: cache:url

Una vez que un sitio es indexado por Google, hay muchas posibilidades de que se guarde en su cache, por lo que haciendo uso del operador cache, podemos obtener información antigua, incluso después de que un sitio sea actualizado y en algunos casos incluso cuando el sitio ya no está disponible.


> Link – Búsqueda de páginas que enlazan a un sitio

uso: link:url

El operador link permite buscar páginas que enlazan a la página web indicada. En lugar de términos, el operador link requiere de direcciones webs como argumento.


> Filetype o ext – Búsqueda de ficheros de un tipo especifico

uso: ext:extensión

Google es capaz de buscar más cosas que páginas webs, de hecho usando el operador ext o filetype podemos buscar archivos con una determinada extensión. Este operador deberá estar acompañado de términos adicionales, pues por sí solo no devolverá resultados.

Es importante entender el concepto de extensión como la parte de la URL que sucede al nombre del archivo, pero que aparece antes del signo de interrogación que inicia la lista de parámetros. Así por ejemplo, si queremos buscar archivos con extensión pdf, de forma intuitiva buscaremos [hacking ext:pdf], aunque pueden existir otros ficheros pdf enlazados mediante la extensión .do, por lo que también podríamos usar, por ejemplo, la siguiente búsqueda [pdf ext:do]


> Numrange – Búsqueda de un número

uso: numrange:numero-numero

El operador numrange nos permite encontrar números incluidos en el rango deseado. Para ello debemos acompañar al operador de dos números separados por un guión.

-----

Estos son los operadores útiles a la hora de buscar información sensible a través de Google. En las próximas entradas pondremos en práctica todos los operadores que hemos visto, hasta entonces dejar volar la imaginación buscando en Google desde otro punto de vista algo más “maligno”.

Artículo ofrecido por: José Manuel Aparicio González (@jm_aparicio)
















En este artículo, os voy a hablar de OWASP Mantra - Security Framework, cuyo proyecto consiste en desarrollar una navegador WEB especialmente diseñado para el Analisis de Seguridad WEB.

¿Qué es MANTRA?

Mantra es un navegador especialmente diseñador para el análisis de seguridad WEB. Este navegador WEB esta desarrollado sobre la base de los principales navegadores, existiendo una versión en fase BETA sobre el motor de Firefox, y una versión en desarrollo (ALFA) sobre Google Chrome.

FireCAT 1.2 - Firefox Catalog of Auditing Toolbox

Mantra es un proyecto que tiene surge de la necesidad de dar continuidad a FireCAT. Si recordáis, fue un proyecto que pretendía reunir en un único catalogo todas aquellas extensiones (add-ons) desarrolladas para el navegador de Mozilla Firefox orientadas a la seguridad, en especial las dedicadas al análisis / auditoria de aplicaciones WEB.

Cuando se instalaba el catalogo en el Mozilla Firefox, éste se convertía en FireCAT proporcionando al navegador WEB capacidades y funcionalidades para la realización de auditorias de seguridad a aplicaciones WEB.

Ahora OWASP ha desarrollado un navegador WEB Open Source especialmente diseñado para realizar el análisis de seguridad de la aplicaciones WEB, es decir, que este navegador esta especialmente indicado a desarrolladores de aplicaciones WEB y/o Ethical Hacker / WEB Pentester.

No obstante, también puede ser utilizado por cualquier usuario, pues es un navegador WEB simple y cómodo, incluye una elegante forma de organizar la pestañas de navegación que puede resulta muy útil cuando se necesita consultar varias pestañas al mismo tiempo. Además, proporciona un navegador con unas capacidades extras, como las que describo en el siguiente párrafo.

OWASP Mantra - Live HTTP Headers


¿Qué puede hacer Mantra?

Mantra integra en el navegador múltiples herramientas de seguridad con las que se puede:

  • Manipular las cabeceras HTTP
  • Capacidad de fingerprinting WEB (HTTP)
  • Interceptar las peticiones GET/POST
  • Manipular los campos de entrada de texto (strings)
  • Editar las cookies del navegador
  • Capacidad para trabajar con diferentes Proxy
  • Modificar el campo User-Agent del navegador
  • Obtener información de las aplicaciones WEB
  • Capacidad de realizar comprobaciones de Seguridad básicas (XSS, SQL) 
  • Interesante capacidad para organizar las pestañas de navegación 
Toda la información sobre las herramientas (Security Tool) que se encuentra integradas en Mantra, puede ser consultada en el siguiente enlace.

Estas son algunas de las funciones que se puede realizar con Mantra, a continuación os dejo información sobre su descarga e instalación.

Download



Instalación

Una vez se ha descargado el archivo (OWASP Mantra Janus.exe) se ejecuta, se le asigna un directorio (folder) para ser instalado y listo. Se tiene que tener en cuenta, que es un navegador portable, por lo que no necesita instalar nada en el sistema, se descomprime los archivos y se guardan en la carpeta seleccionada, una vez finalizado el proceso, se puede ejecutar encontrando el ejecutable en la ruta donde se ha instalado.

Instalación de OWASP Mantra

Vídeo

Se puede utilizar Mantra para realizar practicas de XSS / SQL en el framework especialmente configurado para ello, mutilidae. O para realizar un XSS en el user-agent del navegador, ver el siguiente vídeo.



Referencias
[1] Get Mantra Browser
[2] OWASP Mantra - Security Framework
Una de las muchas cosas que nos ha dejado la #rootedcon2013 ha sido este genial complemento para el navegador web Mozilla Firefox desarrollado por iniqua.

¿Para que sirve?

Este complemento nos ayudará a mostrar el botón de "logout" en aquellas aplicaciones WEB que lo tienen escondido, permitiendo al usuario cerrar adecuadamente su sesión y así evitar posible problemas con el "robo" de sesiones y/o de credenciales.

Show Logout Boton in about.me website.

Las páginas web soportadas hasta el momento son:
Y para la próxima versión de este complemento se esta trabajando en: