Hoy vamos a ver un análisis sobre Photon, un crawler para OSINT (Inteligencia de fuentes abiertas por sus siglas en inglés).
Un crawler es un rastreador web o araña, muy parecido a lo que utilizaría un motor de búsqueda. Extrae información de las webs y las categoriza. Su uso más común es el de realizar búsquedas en Internet, pero, se le pueden dar otros usos enfocados a la minería de datos. Photon está escrito en Python 3 y disponible en Github en la siguiente url: https://github.com/s0md3v/Photon.
Photon nos permite extraer la siguiente información:

  • URLs
  • URLs con parámetros
  • Intel (correos, cuentas en redes sociales, amazon buckets, etc.)
  • Archivos (PDF, PNG, XML, etc.)
  • Claves secretas (Api Keys & hashes)
  • Archivos JavaScript y Endpoints presentes en ellos.
  • Strings que coinciden con el patrón de expresiones personalizado.
  • Subdominios e información e los DNS.

Todo ello lo extrae de forma organizada y puede ser almacenado en un JSON.

Posee además varios plugins con los que se pueden ampliar las búsquedas.

Ahora vamos a pasar a ver el crawler funcionando. Pero antes, vamos a proceder a su instalación.

Funcionamiento e instalación de Photon

Para instalarlo debemos hacer una serie de sencillos pasos. Si queremos usarlo con Docker podemos encontrar una guía en el propio proyecto de Github.

Lo primero que vamos a hacer es clonar el proyecto en la ruta que queramos:

photon1

Acto seguido vamos a pasar a instalar los requisitos de la instalación del archivo, es decir, algunos módulos de Python que necesitaremos para usar el proyecto. Estos vienen en un archivo dentro del proyecto denominado “requirements.txt”. Podemos instalarlos tanto de forma manual cómo de la forma rápida.

Para usar la forma rápida debemos escribir con su ruta correspondiente hacia el archivo lo siguiente:

photon2

Una vez se ha completado la instalación con éxito podremos usarlo. En este caso no hemos instalado ningún plugin.

Para ver las opciones que permite Photon bastaría con escribir en la shell: python3 photon.py -h. Un ejemplo de una pequeña búsqueda podría ser el siguiente:

Nota: Es preferible no usar nunca un usuario root, nosotros lo hemos usado porque es una máquina para pruebas.

photon3

Cómo puede verse en la imagen Photon nos enseña una serie de apartados con información. Nos indica en este caso que ha encontrado urls con archivos “robots.txt” y “sitemap.xml”. Después nos revela cuanta información a conseguido de cada apartado. Finalmente vuelca todo en el directorio con el nombre del objetivo.

Marcaremos siempre -u objetivo.com cómo parámetro para indicar el objetivo y -e json para la exportación en JSON. También puede exportarse en CSV.

Nuestro archivo con la información recolectada quedaría tal que así:

Nota: se han borrado resultados del archivo para que se pueda ver en una sola imagen la estructura del resultado.

photon4

Otros archivos que están contenidos en la carpeta serían los siguientes:

photon5

El “exported.json” es el archivo que ya hemos visto y el resto son todos los apartados de búsqueda separados en un txt. Es lo que daría como resultado una ejecución de Photon aún más básica sin el parámetro de exportación del JSON.

Otros parámetros que podríamos introducir son, por ejemplo, el user-agent (puede ser aleatorio), el proxy, si queremos que tenga algún tipo de retraso en el tiempo de ejecución, etc. Todo ello hará un poco menos agresivo el crawler e impedirá un posible bloqueo por parte de algunas webs.

Por todo lo que hemos visto y la cantidad de opciones que posee la herramienta, podemos decir que se trata de una herramienta muy útil y fácil de usar que podría convertirse en imprescindible para la recolección de determinados datos.

Nos quedamos dándole caña a Photon y probando más opciones, cualquier consulta o problema sobre el uso de Photon no dudéis en ponerla en los comentarios.

Un saludo y nos vemos en el próximo artículo.

1 Comentario

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.