Estrategias de búsqueda para el analista (con buscadores personalizados)

lunes, 18 de septiembre de 2017

Una gran parte de las tareas de obtención de información en el marco de una investigación empiezan por los diferentes buscadores. Desde Google o Bing para búsquedas generalistas incluyendo la búsqueda en imágenes hasta Yandex o Baidu si preferimos localizar las búsquedas en entornos concretos como Rusia o China. En el caso específico de que estemos trabajando con activos tecnológicos podemos utilizar Shodan o Zoomeye y si queremos realizar búsquedas en dominios .onion de la red Tor siempre podemos optar por Ahmia o Grams.

Los buscadores personalizados de Google: una forma de rápida de encontrar lo que buscas

Habitualmente, cuando estamos realizando algún tipo de investigación nos encontramos con actores e indicadores sobre los que queremos encontrar más información y para ello el punto de partido suele ser Google. El problema es que una vez que el caso ya ha salido a la luz, el ruido que se genera con la información expuesta en medios de comunicación es demasiado elevado y nos cuesta demasiado separar el grano de la paja. ¿Cómo minimizamos este problema?



La aproximación más inmediata pasa por apoyarnos en los dorks de Google como site:elevenpaths.com para encontrar resultados que pertenezcan únicamente a un dominio concreto. Si estuviéramos hablando de una búsqueda oficial sobre vulnerabilidades documentadas o informes realizados por empresas especializadas, también podríamos realizar la búsqueda con una cadena de site: que incluyan a los fabricantes más reconocidos. El problema es que esto no es operativo si cada vez que queremos consultar sobre un tema específico tenemos que tener en mente la lista de dominios temáticos en los que queremos buscar. Para facilitarnos el trabajo, Google nos ofrece la posibilidad de crear buscadores personalizados con su servicio Custom Search Engine. En ellos, desde nuestra propia cuenta de Google Apps podremos crear un buscador adecuado a nuestras necesidades.

Custom Search Engine de Google

Por ejemplo, si queremos buscar información sobre "MacronLeaks", la fuga de información de Dropbox o sobre el grupo APT28 y que la información que nos aparezca sea directamente de medios previamente identificados, podríamos configurar una búsqueda personalizada que nos limitará los resultados a páginas como elevenpaths.com, securelist.com, krebsonsecurity.com, securityaffairs.co, etc.

Uso de un buscador personalizado de Google sobre el término "MacronLeaks" centrado en  una lista de dominios preconfigurada
Basta con repasar nuestras necesidades anteriores e ir adecuando las búsquedas a través de una interfaz muy sencilla de configurar y que está accesible una vez presentado con tu cuenta de Google en cse.google.com. Una vez ahí, podemos guardar la URL pública que se nos ha generado (como esta) para compartirlo con compañeros del equipo. De esta manera, vamos a evitar resultados que Google pueda considerar más relevantes por el hecho de aparecer en prensa generalista y que tienen un mejor posicionamiento, pero que para el analista técnico contienen información genérica menos importante.

Las otras alternativas libres

Una función interesante puede consistir en apoyarnos en Searx, un proyecto hospedado en Github con licencia AGPL y que funciona como un metabuscador en docenas de plataformas. Aunque existen varias instancias públicas, el proyecto se puede instalar en local usando Docker y apenas un par de comandos:

docker pull wonderfall/searx
docker run -d --name searx -p $PORT:8888 wonderfall/searx

Vista principal de la página de bienvenida de una de las instancias públicas del metabuscador Searx
Para probar sus capacidades, podemos usar una de las instancias públicas como Searx.me. La potencia de los resultados recae en que combina los resultados de Google, Bing, Duckduckgo,WolframAlpha, Flickr, Youtube entre otros muchos. Los resultados vienen categorizados en función de su naturaleza además de ofrecernos algunas sugerencias en base a términos conocidos o relacionados.



Otro de los aspectos interesantes es que ha sido concebido para ser programado. En la propia documentación de la API del proyecto nos permitirá interactuar con nuestra instancia especificando el formato a utilizar y la página de resultados que queremos recuperar a cada momento modificando la ventana con el parámetro pageno. De esta manera, la programación de soluciones que se apoyen en los principales buscadores se puede encargar de gestionar directamente los resultados devueltos y no de interactuar con cada una de las aplicaciones de forma separada. Por ejemplo, si quisiéramos los resultados anteriores en formato Json bastaría con que especificáramos en la URL que se nos genera la opción format=json, de modo que nos quedaría una petición como esta.

https://searx.me/?q=elevenpaths&categories=general&format=json

El resultado es menos humano pero mucho más machine-friendly.

Más allá de Searx, existen otros proyectos también interesantes como Yacy que nos permiten beneficiarnos de otras funcionalidades como el crawling distribuido. El proyecto es de software libre y se puede instalar con relativa facilidad. Permite la creación de entornos de búsqueda a medida que cada uno puede personalizar a su gusto: desde colaborar por defecto con una red descentralizada en la identificación de nuevos contenidos hasta utilizarlo de forma privada para escanear el contenido de una intranet por ejemplo y permitir a los usuarios tener acceso a los contenidos a través de un buscador a medida.

Más herramientas al servicio del analista

Al margen de dominar las técnicas de obtención de información convencionales, conviene estar pendientes de otras herramientas que nos puedan facilitar el trabajo para contener (en la medida de lo posible) el esfuerzo dedicado a muchas de las tareas de obtención y poder aprovechar mejor el tiempo disponible. Al fin y al cabo, conocerlas es la mejor manera de acortar estos tiempos para podernos centrar precisamente en esas otras tareas más complejas de automatizar.

Innovación y laboratorio

Yaiza Rubio
yaiza.rubio@11paths.com

Félix Brezo
felix.brezo@11paths.com

No hay comentarios:

Publicar un comentario