SourceWolf: una herramienta de rastreo web CLI en Linux

El rastreo web es el proceso de indexación de datos en páginas web mediante el uso de un programa o script automatizado y estos scripts o programas automatizados se conocen por varios nombres, que incluyen rastreador web, araña, robot araña y, a menudo, abreviado como rastreador. El rastreo manual consume mucho tiempo si el alcance del objetivo es mayor. SourceWolf es un script automatizado desarrollado en Python Language que rastrea los directorios del servidor de dominio y el código de estado. Esto puede ayudar al evaluador a probar las páginas cuyas respuestas son 200 o 301 rápidamente. SourceWolf es una herramienta de código abierto y de uso gratuito. La herramienta SourceWolf admite listas de palabras personalizadas para fuerza bruta. La función de salida de SourceWolf es excelente ya que la salida se almacena en el directorio principal y el directorio principal contiene subdirectorios con directorios de códigos de estado separados.

¿Qué puede hacer SourceWolf?

  • La herramienta SourceWolf puede rastrear las respuestas para identificar los extremos ocultos del dominio de destino.
  • La herramienta SourceWolf puede crear una lista detallada de variables de origen de JavaScript identificadas.
  • La herramienta SourceWolf admite la fuerza bruta de los archivos y directorios mediante el uso de la lista de palabras personalizada.
  • La herramienta SourceWolf puede mostrar el código de estado de cada director visitado en el servidor de destino.
  • La herramienta SourceWolf nos proporciona una opción para rastrear los archivos de respuestas localmente para que no vuelva a enviar requests a un punto final, cuya respuesta ya tiene una copia.

 3 modos de SourceWolf 

1. Modo de respuesta de rastreo: en este modo, los puntos finales ocultos se descubren y guardan en formato de archivo de texto.

python3 sourcewolf.py -l domains.txt -o output/ -c crawl_output

2. Modo de fuerza bruta : en este modo, el ataque de fuerza bruta se realiza para la detección de archivos y directorios en el dominio de destino. Una lista de palabras se utiliza para la fuerza bruta.

python3 sourcewolf.py -b https://geeksforgeeks.org/FUZZ -w /usr/share/wordlists/dirb/common.txt -s status

3. Modo de sondeo : en este modo, se comprueba la actividad del dominio de destino. Si el host de destino está activo o no, se verifica en este modo.

python3 sourcewolf.py -l domains.txt -s live

¿Cómo se puede integrar esto en su flujo de trabajo?

La herramienta SourceWolf puede ser muy beneficiosa en nuestro flujo de trabajo. Esta herramienta tiene el soporte para filtrar los dominios en vivo. Entonces podemos enumerar los subdominios de las herramientas Amass, AssetFinder y Sublist3r y pasar la lista a la herramienta SourceWolf. La herramienta SourceWolf filtrará solo los subdominios que responden o en vivo para que podamos probar solo los subdominios en vivo en lugar de perder el tiempo en subdominios inactivos. Esta herramienta también puede ser útil para encontrar el punto final del dominio de destino.

Convenciones de nombres

Para arrastrar los archivos localmente, debemos seguir algunas reglas de convenciones de nomenclatura. Estas convenciones existen para que SourceWolf identifique directamente el nombre de host y, por lo tanto, analice todos los puntos finales, incluidos los relativos.

Considere una URL https://geeksforgeeks.org/api/

  • Elimine el https (protocolo) y la barra inclinada final (//) (si corresponde) de la URL –> geeksforgeeks.org/api
  • Reemplace ‘/’ con ‘@’ -> geeksforgeeks@api
  • Guarde la respuesta como un archivo de texto con el nombre de archivo obtenido anteriormente.

Entonces, el archivo finalmente se ve como geeksforgeeks@api.txt

Nota : asegúrese de tener Python instalado en su sistema, ya que esta es una herramienta basada en Python. Haga clic para verificar el proceso de instalación: Pasos de instalación de Python en Linux

Instalación de la herramienta SourceWolf en el sistema operativo Kali Linux

Paso 1 : Verifique si el entorno de Python está establecido o no, use el siguiente comando.

python3

Paso 2 : Abra su terminal Kali Linux y muévase a Escritorio usando el siguiente comando.

cd Desktop

Paso 3 : ahora está en el escritorio, cree un nuevo directorio llamado SourceWolf usando el siguiente comando. En este directorio completaremos la instalación de la herramienta SourceWolf.

mkdir SourceWolf 

Paso 4 : ahora cambie al directorio SourceWolf usando el siguiente comando.

cd SourceWolf 

Paso 5 : Ahora tienes que instalar la herramienta. Tienes que clonar la herramienta desde GitHub.

git clone https://github.com/micha3lb3n/SourceWolf.git

Paso 6 : La herramienta se ha descargado con éxito en el directorio de SourceWolf. Ahora enumere el contenido de la herramienta usando el siguiente comando.

ls

Paso 7 : puede observar que se creó un nuevo directorio de la herramienta SourceWolf que se generó mientras instalamos la herramienta. Ahora muévete a ese directorio usando el siguiente comando:

cd SourceWolf 

Paso 8 : Una vez más, para descubrir el contenido de la herramienta, use el siguiente comando.

ls

Paso 9 : descargue los paquetes necesarios para ejecutar la herramienta, use el siguiente comando.

pip3 install -r requirements.txt

Paso 10 : Ahora que hemos terminado con nuestra instalación, use el siguiente comando para ver el índice de ayuda (da una mejor comprensión de la herramienta) de la herramienta.

python3 sourcewolf.py -h

Trabajar con la herramienta SourceWolf en el sistema operativo Kali Linux

Ejemplo 1 : uso simple

python3 sourcewolf.py --url http://geeksforgeeks.org/wp-admin

En este ejemplo, estamos probando solo un único directorio en el dominio de destino geeksforgeeks.org. Tenemos 500 como código de estado que define que hay una respuesta de error genérica del servidor.

Ejemplo 2 : Fuerza bruta

python3 sourcewolf.py -b http://geeksforgeeks.org/FUZZ

1. En este ejemplo, utilizaremos directorios de fuerza bruta en el dominio geeksforgeeks.org. Estamos utilizando una lista de palabras personalizada o predeterminada para la fuerza bruta.

2. En la siguiente captura de pantalla, tenemos los resultados con el estado de respuesta del servidor.

Ejemplo 3 : detallado

python3 sourcewolf.py -b http://geeksforgeeks.org/FUZZ -v

1. En este ejemplo, imprimiremos los resultados de una manera más realista o con más detalle. Hemos usado la etiqueta -v para el modo detallado.

2. En la siguiente captura de pantalla, tenemos los resultados en tiempo real y todos los directorios probados se muestran en la terminal con el código de estado devuelto por el servidor.

Ejemplo 4 : Lista de palabras

python3 sourcewolf.py -b http://geeksforgeeks.org/FUZZ -w /usr/share/wordlists/dirb/common.txt

1. En este ejemplo, usaremos la lista de palabras personalizada que se especifica en la etiqueta -w.

2. En la siguiente captura de pantalla, hemos especificado el comando para usar la lista de palabras personalizada.

3. En la siguiente captura de pantalla, obtuvimos los resultados de nuestro fuzz y estamos tratando de abrir la URL http://geeksforgeeks.org/About cuyo código de estado es 200 (Ok).

4. En la siguiente captura de pantalla, hemos abierto la URL de la página Acerca de en el navegador web.

Ejemplo 5 : Salida

python3 sourcewolf.py -b http://geeksforgeeks.org/FUZZ -w /usr/share/wordlists/dirb/common.txt -o bien

1. En este ejemplo, estamos guardando los resultados en nuestro disco para su uso posterior. Estamos usando la etiqueta -o junto con el nombre del directorio donde se guardarán los resultados.

2. En la siguiente captura de pantalla, tenemos los resultados de nuestro escaneo.

3. En la siguiente captura de pantalla, se crean nuevos directorios con el nombre de los códigos de estado. En este directorio, se guardará la información de la página web del código de estado asociado.

4. En la siguiente captura de pantalla, hemos abierto el directorio 2xx que contiene todas las páginas web cuya respuesta es 200 del servidor.

5. En la siguiente captura de pantalla, hemos abierto el archivo cuyo código de estado es 200. Todos los datos del código HTML, JS se almacenan en el archivo.

Publicación traducida automáticamente

Artículo escrito por gauravgandal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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