- 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:
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:
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.
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.
Otros archivos que están contenidos en la carpeta serían los siguientes:
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.
CTI Product Owner Telefónica Tech | De la comunidad para la comunidad, hagamos de la ciberseguridad española un referente | Ciberseguridad, inteligencia, defensa…
[…] otras palabras, podríamos decir que aplicamos OSINT para conseguir toda la información disponible en cualquier fuente pública sobre una empresa, […]