miércoles, 29 de mayo de 2013

¿Necesitas listas de *?

Seguro que si haces auditorías de seguridad una de las colecciones más preciadas de tu arsenal es la lista de dorks, RFIs, localizaciones del panel de administración, o esos chorizos para hacer escalado de directorios o la de inyecciones SQL. También no faltan listas de combinaciones usuario/password que como dijo Ken Thompson: Cuando dudes, ¡usa la fuerza bruta!

Estas listas son muy útiles para pasarlas a herramientas tipo Burp, Cansina o WFuzz. Incluso un simple (muy simple) script ad-hoc nos puede ayudar para lanzar peticiones y comprobar su resultado:


import sys
import requests

site, payload = (sys.argv[1], sys.argv[2])

slap = ''
try:
    slap = sys.argv[3]
except:
    pass

with open(payload, 'r') as payload:
    for i in payload.readlines():
        req = requests.get(site + i + slap)
        print "%s %s %s" % (req.status_code, len(req.text), req.url)



Una fuente bastante nutrida de este tipo de listas es la base de datos de dorks de exploit-db o las listas del proyecto fuzzdb, aunque este último lleva tiempo sin ser actualizado. Otra fuente de conocimiento son los sitios tipo pastebin. Nunca dejará de sorprender la cantidad de información curiosa (a veces rozando lo bizarro) que la gente deja colgada.


Por ejemplo, sin salirnos de pastebin, una lista para comprobar posibles scripts que pudieran contener una SQLi. Otra por aquí para el mismo cometido. RFIs en formato dorks para Googleo como no, "etc/passwd" que continen nombres de usuario para nuestro diccionario de usernames. Como no, tampoco faltan las lista de passwords procedentes de los ataques, algunos ya históricos.



Es evidente que se trata de información bastante heterogénea y tendríamos que hacerla pasar por un filtro para acoplarla a nuestras listas, el más básico es que las entradas no estén repetidas o que estén ordenadas por porcentaje de éxito encontrado en sucesivos usos. De esta forma no machacamos un objetivo y optimizamos el tiempo de auditoría.

viernes, 24 de mayo de 2013

¿Te estás promocionado en una web porno?


Una de las formas más comunes de conocer de dónde viene el tráfico, es a través de la etiqueta referer en el tráfico HTTP. Este campo muestra cuál fue la página que contenía el enlace hacia la web, y queda registrado en los logs del servidor para poder ser estudiado. 

El estudio de la etiqueta referer puede permitir conocer cuándo se hace "hotlinking" de imágenes o recursos ajenos, o detectar casos de phishing, ataques, etc. Esto es lo que hacemos con uno de nuestros servicios (LSI, Log Security Inspector). Aunque el servicio no se limita al estudio de los referer para detectar casos de phishing, sino que también puede llegar a darnos información de qué clientes de las entidades bancarias están infectados, sin necesidad de instalar nada en ellos, solo estudiando sus logs.

El caso es que durante el estudio rutinario de nuestro servicio, observamos en un referer una (conocida) página de vídeos pornográficos, que llevaba a la raíz de la web del banco. Esto inmediatamente lleva a pensar a que en esa página había un enlace al banco y que alguien llegó a él a través del vídeo de la señorita desnuda.

Habitualmente los bancos se preocupan de dónde aparece su publicidad y qué páginas usan sus servicios, por tanto, podrían pensar que de alguna manera, un enlace a la web principal de su banco se ha alojado en el sitio pornográficos y un usuario ha pinchado en él. Sin embargo, al visitar la página del vídeo, aparecen muchas cosas... pero ninguna referencia en su código por ningún sitio.





La explicación, sin embargo, es sencilla. El referer es falso, y debe haber sido manipulado mientras se ha visitado el frontal del banco. Esta técnica se utiliza para promocionar la web a cualquier precio. Un robot visita páginas con el referer apuntando a la página que se desea promocionar. La esperanza es que los logs acaben indexados por Google de alguna forma, y así aumentar su pagerank. Las páginas que abiertamente publican sus logs, son más apreciadas, pero realmente lo intentan con cualquiera. Es más, la web en concreto, es conocida por explotar vulnerabilides en Java y ejecutar el virus de la policía a través de sus anuncios... por lo que puede ser usado el referer no solo para alzar la web en buscadores, sino para además hacer que algún administrador de logs "pinche" por curiosidad buscando el enlace a su web (que no encontrará). Por tanto, no, la web no necesariamente se está anunciando en páginas porno.