BlogCyber Weapons Lab

Cómo: utilizar Photon Scanner para extraer datos web OSINT

Recopilar información sobre un objetivo en línea puede ser una actividad que requiere mucho tiempo, especialmente si solo necesita información específica sobre un objetivo con muchos subdominios. Podemos utilizar un rastreador web diseñado para OSINT llamado Photon para hacer el trabajo pesado, examinando las URL en nuestro nombre para recuperar información de valor para un pirata informático.

Todo esto se usa para aprender tanto como sea posible sobre el objetivo sin advertirles que están siendo observados. Esto descarta algunos de los métodos más obvios de escaneo y enumeración, que requieren algo de creatividad en la búsqueda de pistas.

Saber qué buscar

El escáner Photon OSINT llena este nicho al proporcionar una interfaz de línea de comandos flexible y fácil de usar para rastrear las páginas web de destino. En lugar de solo buscar vulnerabilidades, Photon analiza rápidamente lo que hay y se lo muestra al pirata informático de una manera fácil de entender.

Una de las funciones de Photon más útiles es la capacidad de reconocer y extraer ciertos tipos de datos automáticamente, como scripts de página, direcciones de correo electrónico y contraseñas importantes o claves API que pueden quedar expuestas por accidente.

Además de mirar las páginas web actuales, Photon también te permite mirar hacia el pasado. Puede utilizar estados anteriores conservados de páginas web documentadas en el Wayback Machine como una “semilla” para su búsqueda, eliminando todas las URL del sitio web ahora desaparecido como una fuente para rastrear más. Si bien el uso de Photon de manera efectiva requiere algo de paciencia y comprensión de los muchos filtros disponibles, no se necesita mucho para comenzar a obtener pistas sobre su objetivo.

Lo que necesitarás

Fotón es una herramienta popular porque es multiplataforma, lo que significa que funcionará en cualquier sistema con Python instalado. Encuentro que falla al ejecutar Python2, por lo que recomiendo ejecutarlo con el python3 comando antes que él, a pesar de lo que el Instrucciones de GitHub decir.

Para verificar si su sistema tiene Python instalado, puede abrir una ventana de terminal y escribir python3. Si no lo tiene instalado, puede instalarlo con apt-install python3. Si su salida se ve como a continuación, está listo para comenzar.

python3
Python 3.6.8 (default, Jan  3 2019, 03:42:36)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Escriba quit () para salir del shell de Python y comenzaremos a instalar lo que necesitamos para ejecutar Photon.

Paso 1: Descargue e instale Photon

Para comenzar con Photon, asegúrese de tener instalado Python3. Cuando lo haga, también necesitaremos instalar algunas dependencias. En una ventana de terminal, ejecute el siguiente comando para descargar e instalar las bibliotecas necesarias.

pip install tld requests

Cuando esto esté completo, puede descargar Photon y navegar a su directorio con los siguientes comandos. No te saltes el CD línea.

git clone https://github.com/s0md3v/Photon.git
cd Photon

Paso 2: Ver las opciones de la foto

Ahora podemos correr python3 photon.py -h para ver la lista de opciones que podemos usar para escanear.

python3 photon.py -h
.
      ____  __          __
     / __ / /_  ____  / /_____  ____
    / /_/ / __ / __ / __/ __ / __ 
   / ____/ / / / /_/ / /_/ /_/ / / / /
  /_/   /_/ /_/____/__/____/_/ /_/ v1.2.1

usage: photon.py [-h] [-u ROOT] [-c COOK] [-r REGEX] [-e EXPORT] [-o OUTPUT]
                 [-l LEVEL] [-t THREADS] [-d DELAY] [-v]
                 [-s SEEDS [SEEDS ...]] [--stdout STD]
                 [--user-agent USER_AGENT] [--exclude EXCLUDE]
                 [--timeout TIMEOUT] [--clone] [--headers] [--dns] [--ninja]
                 [--keys] [--update] [--only-urls] [--wayback]

optional arguments:
  -h, --help            show this help message and exit
  -u ROOT, --url ROOT   root url
  -c COOK, --cookie COOK
                        cookie
  -r REGEX, --regex REGEX
                        regex pattern
  -e EXPORT, --export EXPORT
                        export format
  -o OUTPUT, --output OUTPUT
                        output directory
  -l LEVEL, --level LEVEL
                        levels to crawl
  -t THREADS, --threads THREADS
                        number of threads
  -d DELAY, --delay DELAY
                        delay between requests
  -v, --verbose         verbose output
  -s SEEDS [SEEDS ...], --seeds SEEDS [SEEDS ...]
                        additional seed URLs
  --stdout STD          send variables to stdout
  --user-agent USER_AGENT
                        custom user agent(s)
  --exclude EXCLUDE     exclude URLs matching this regex
  --timeout TIMEOUT     http request timeout
  --clone               clone the website locally
  --headers             add headers
  --dns                 enumerate subdomains and DNS data
  --ninja               ninja mode
  --keys                find secret keys
  --update              update photon
  --only-urls           only extract URLs
  --wayback             fetch URLs from archive.org as seeds

Para ejecutar el escaneo más básico, la fórmula es python3 photon.py -u target.com.

Paso 3: Asignar información de DNS

Una de las características más útiles e interesantes de Photon es la capacidad de generar un mapa DNS visual de todo lo conectado al dominio. Esto le brinda una gran información sobre qué tipo de software se está ejecutando en las computadoras detrás del dominio de destino.

Para hacer esto, ejecutaremos un escaneo con el –dns bandera. Para generar un mapa de priceline.com, puede ejecutar el comando python3 photon.py -u priceline.com –dns en una ventana de terminal.

python3 photon.py -u https://www.priceline.com/ --dns
URLs retrieved from robots.txt: 111
 Level 1: 112 URLs
 Progress: 112/112
 Level 2: 112 URLs
 Progress: 112/112
 Crawling 0 JavaScript files

--------------------------------------------------
 Robots: 111
 Internal: 112
--------------------------------------------------
 Total requests made: 0
 Total time taken: 0 minutes 26 seconds
 Requests per second: 0
 Enumerating subdomains
 79 subdomains found
 Generating DNS map
 Results saved in www.priceline.com directory

¡El mapa de subdominios resultante es enorme! Es demasiado grande para caber aquí, por lo que veremos algunos segmentos. Podemos ver servidores y direcciones IP asociadas con el servicio Priceline. Aquí hay una vista extraída:

Más abajo, podemos ver integraciones de terceros y otra infraestructura conectada a los servicios de Priceline. Esto también nos brinda información sobre los servidores de correo que utilizan y, potencialmente, cualquier servicio de terceros mal protegido que podríamos aprovechar para obtener acceso. Nuevamente, esta es una vista extraída:

Acerquémonos y veamos el registro MX, responsable del servicio de correo electrónico. Claramente, utiliza los servicios de Google y VeriSign.

Más abajo, podemos acercarnos y comenzar a ver los servidores Varnish, BigIP y nginx detectados. Conectado a una cuenta de Digital Ocean, vemos un servidor Ubuntu que ejecuta una versión específica de openSSH. Espero que no sea vulnerable.

Mirando más de cerca los servicios centrales de Priceline, vemos los sistemas Microsoft, Apache y Big IP. En algunos casos, podemos ver las versiones específicas de los servicios que alojan estas direcciones IP.

Todo esto es una mina de oro para los piratas informáticos que buscan el sistema más vulnerable conectado al objetivo.

Paso 4: extraer claves secretas e Intel

A continuación, intentemos obtener algunas direcciones de correo electrónico y claves de un sitio web. Usaremos el ejemplo de PBS.org.

Para ejecutar la búsqueda, agregaremos algunas otras banderas para aumentar la profundidad y la velocidad de la búsqueda. En una ventana de terminal, podemos ejecutar python3 photon.py -u pbs.org – teclas -t 10 -l 3para especificar, queremos ir a tres niveles de URL y queremos abrir diez subprocesos para realizar el rastreo. Los resultados regresan en un archivo llamado “intel”, del cual el primero se ve así:

python3 photon.py -u https://www.pbs.org/ --keys -t 10 -l 3
b'delaney@delaneyantiqueclocks.comnshcurry@pbs.orgnandrew@brunkauctions.comnnansollo@gmail.comnfrontlinemedia@pbs.orgninfo@weissauctions.comnledyer256@aol.comnstock_sales@wgbh.orgnian.ehling@bonhams.comnnanchisholm@gmail.comnCollegeBehindBarsDKC@dkcnews.comnAppIcon57x57@2x.pngnagm6@advanceguardmilitaria.comntravis@bruneauandco.comnfrontline@pbs.org

¡Hemos capturado algunas direcciones de correo electrónico! Estábamos lanzando una red bastante amplia para esta búsqueda, por lo que puede haber muchos correos electrónicos no relacionados en nuestra lista. Esto se debe a que raspamos tres niveles de URL en profundidad y probablemente raspamos algunos sitios web no relacionados.

Si bien no encontramos ninguna clave en este escaneo, la marca que configuramos hará que Photon busque cadenas que probablemente contengan claves API u otros detalles importantes que pueden haberse hecho públicos involuntariamente en el sitio web del objetivo.

Paso 5: realice solicitudes con un tercero usando el modo Ninja

Supongamos que trabajamos desde una dirección IP confidencial, como una estación de policía, una oficina gubernamental o incluso solo su casa, que no desea que el objetivo sepa que está visitando su sitio web. Puede poner distancia entre usted y el objetivo usando el –ninja flag, que enviará sus solicitudes a un sitio web de terceros, realizará la solicitud por usted y transmitirá la respuesta.

El resultado es más lento pero elimina el riesgo de que el objetivo reconozca la dirección IP de la organización para la que trabaja. Debido a que tiene menos control sobre estas solicitudes, tenga en cuenta que pueden tardar mucho más en completarse.

Para ejecutar una versión más ligera del escaneo anterior en modo “ninja”, podríamos ejecutar el comando python3 photon.py -u pbs.com – teclas -t 10 -l 1 –ninja en una ventana de terminal.

python3 photon.py -u https://www.pbs.com/ --keys -t 10 -l 1 --ninja

Photon hace que el escaneo a través de URL sea increíblemente rápido

Cuando se trata de rastrear cientos de URL en busca de información, es muy raro que desee hacerlo usted mismo. Photon facilita el rastreo de grandes cantidades de subdominios o varios objetivos, lo que le permite escalar su investigación durante la fase de reconocimiento. Con las opciones inteligentes integradas para analizar y buscar tipos de datos como direcciones de correo electrónico y claves API importantes, Photon puede detectar incluso los pequeños errores que comete un objetivo que revelan mucha información valiosa.

Espero que haya disfrutado de esta guía sobre el uso del escáner Photon OSINT para rastrear sitios web en busca de datos OSINT. Si tiene alguna pregunta sobre este tutorial sobre raspado web o si tiene un comentario, está la sección de comentarios a continuación, y no dude en comunicarse conmigo en Twitter. @KodyKinzie.

Foto de portada y capturas de pantalla de Kody / Null Byte

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar