Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
waymore — Trouvez bien plus à partir de la Wayback Machine, Common Crawl, Alien Vault OTX, URLScan, VirusTotal, GhostArchive et Intelligence X ! | Kitploit
Outils/GitHubGitHub/xnl-h4ck3r/waymore
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceCollecte d'InformationsSécurité WebÉnumération de Sous-domainesCrawler
GitHubxnl-h4ck3r/waymore

waymore

Trouvez bien plus à partir de la Wayback Machine, Common Crawl, Alien Vault OTX, URLScan, VirusTotal, GhostArchive et Intelligence X !

Voir le dépôt
2.7k2936il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

À propos - v8.9

L'idée derrière waymore est de trouver encore plus de liens depuis la Wayback Machine (ainsi que d'autres sources) que les autres outils existants.

👉 La plus grande différence entre waymore et les autres outils est qu'il peut également télécharger les réponses archivées pour les URLs de la Wayback Machine (et URLScan) afin que vous puissiez ensuite les parcourir pour trouver encore plus de liens, de commentaires de développeurs, de paramètres supplémentaires, etc. etc. 👉 De plus, les autres outils ne gèrent pas actuellement la limitation de débit imposée par les sources, et s'arrêtent souvent avec des résultats incomplets sans vous informer de cette incomplétude.

Toute personne faisant du bug bounty a probablement utilisé l'incroyable waybackurls par @TomNomNoms. Cet outil récupère les URLs depuis web.archive.org et des liens supplémentaires (s'il y en a) depuis l'une des collections d'index sur index.commoncrawl.org. Vous avez aussi probablement utilisé l'incroyable gau par @hacker_ qui trouve également des URLs depuis les archives Wayback, Common Crawl, mais aussi depuis Alien Vault, URLScan, Virus Total et Intelligence X. Maintenant waymore récupère les URLs depuis TOUTES ces sources (avec la possibilité de filtrer davantage pour obtenir ce que vous voulez) :

  • Wayback Machine (web.archive.org)
  • Common Crawl (index.commoncrawl.org)
  • Alien Vault OTX (otx.alienvault.com)
  • URLScan (urlscan.io)
  • Virus Total (virustotal.com)
  • GhostArchive (ghostarchive.org)
  • Intelligence X (intelx.io) - ACADEMIA OU PALIERS PAYANTS UNIQUEMENT

👉 C'est un point que beaucoup semblent manquer, donc je vais le répéter :) ... La plus grande différence entre waymore et les autres outils est qu'il peut également télécharger les réponses archivées pour les URLs de la Wayback Machine afin que vous puissiez ensuite les parcourir pour trouver encore plus de liens, de commentaires de développeurs, de paramètres supplémentaires, etc. etc.

👉 VEUILLEZ LIRE TOUTES LES INFORMATIONS SUR CETTE PAGE POUR TIRER LE MEILLEUR PARTI DE CET OUTIL, ET EN PARTICULIER AVANT DE SIGNALER UN PROBLÈME 🤘

👉 CET OUTIL PEUT ÊTRE TRÈS LENT, MAIS IL EST CONÇU POUR LA COUVERTURE, PAS LA VITESSE

⚠️ Une erreur courante est de passer un fichier de sous-domaines pour obtenir tout ce qui concerne un domaine. NE LE FAITES PAS ! Passez uniquement le domaine pour obtenir tous les sous-domaines de ce domaine. Ce sera BEAUCOUP plus rapide et vous ne manquerez rien.

Installation

REMARQUE : Si vous avez déjà un fichier config.yml, il ne sera pas écrasé. Le fichier config.yml.NEW sera créé dans le même répertoire. Si vous avez besoin de la nouvelle configuration, supprimez config.yml et renommez config.yml.NEW en config.yml.

waymore prend en charge Python 3.7+ (Python 3.7 ou supérieur requis pour la prise en charge d'async/await).

Installez waymore dans l'environnement Python par défaut (global).```bash pip install waymore

root@kitploit:~
OU```bash
pip install git+https://github.com/xnl-h4ck3r/waymore.git -v

Vous pouvez mettre à niveau avec```bash pip install --upgrade waymore

root@kitploit:~
### pipx

Configuration rapide dans un environnement python isolé en utilisant [pipx](https://pypa.github.io/pipx/)```bash
pipx install git+https://github.com/xnl-h4ck3r/waymore.git

Utilisation| Arg | Long Arg | Description |

| ------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -i | --input | Le domaine cible (ou fichier de domaines) pour lequel trouver des liens. Il peut s'agir d'un seul domaine, ou d'un domaine avec un chemin spécifique. S'il s'agit d'un seul domaine pour tout récupérer, ne préfixez pas avec www.. Vous pouvez également spécifier un TLD uniquement en le préfixant d'un point, par exemple .mil, qui récupérera tous les sous-domaines pour tous les domaines avec ce TLD (NOTE : La source Alien Vault OTX est exclue si vous recherchez un TLD car elle nécessite un domaine complet). REMARQUE : Tout schéma, numéro de port, chaîne de requête ou fragment d'URL sera supprimé des valeurs d'entrée. Cependant, si vous fournissez un chemin, celui-ci sera spécifiquement recherché, ce qui limitera vos résultats. | | -mode | | Le mode d'exécution : U (récupérer uniquement les URL), R (télécharger uniquement les réponses) ou B (les deux). Si -i est un simple domaine, alors -mode par défaut sera B. Si est un domaine avec chemin, alors par défaut sera . | | -oU | --output-urls | Le fichier dans lequel sauvegarder la sortie des liens, y compris le chemin si nécessaire. Si l'argument n'est pas passé, un répertoire sera créé dans le chemin spécifié par la clé du fichier (généralement par défaut ). À l'intérieur de celui-ci, un répertoire sera créé avec le nom du domaine cible (ou domaine avec chemin) passé avec (ou pour chaque ligne d'un fichier passé avec ). Par exemple : | | -oR | --output-responses | Le répertoire dans lequel sauvegarder les fichiers de sortie des réponses, y compris le chemin si nécessaire. Si l'argument n'est pas passé, un répertoire sera créé dans le chemin spécifié par la clé du fichier (généralement par défaut ). À l'intérieur de celui-ci, un répertoire sera créé avec le nom du domaine cible (ou domaine avec chemin) passé avec (ou pour chaque ligne d'un fichier passé avec ). Par exemple : | | -n | --no-subs | N'inclut pas les sous-domaines du domaine cible (utilisé uniquement si l'entrée n'est pas un domaine avec un chemin spécifique). | | -f | --filter-responses-only | Les liens initiaux des sources ne seront pas filtrés, seules les réponses téléchargées le seront, par exemple il peut être utile de voir tous les chemins disponibles à partir des liens, même si vous ne voulez pas vérifier le contenu. | | -fc | | Filtre les codes de statut HTTP pour les URL et réponses récupérées. Liste de codes séparés par des virgules (par défaut : les valeurs du fichier ). Passer cet argument remplacera la valeur de . | | -ft | | Filtre les types MIME pour les URL et réponses récupérées. Liste de types MIME séparés par des virgules (par défaut : les valeurs du fichier ). Passer cet argument remplacera la valeur de . . | | -mc | | Ne faire correspondre que les codes de statut HTTP pour les URL et réponses récupérées. Liste de codes séparés par des virgules. Passer cet argument remplace la configuration et . | | -mt | | Uniquement les types MIME pour les URL et réponses récupérées. Liste de types MIME séparés par des virgules. Passer cet argument remplace la configuration et . . | | -l | --limit | Combien de réponses seront sauvegardées (si ou est passé). Une valeur positive obtiendra les résultats, une valeur négative obtiendra les résultats. Une valeur de 0 obtiendra les réponses (par défaut : 5000). | | -from | --from-date | À partir de quelle date obtenir les données. Si non spécifié, il obtiendra les résultats les plus anciens possibles. Une valeur partielle peut être passée, par exemple , , etc. | | -to | --to-date | Jusqu'à quelle date obtenir les données. Si non spécifié, il obtiendra les résultats les plus récents possibles. Une valeur partielle peut être passée, par exemple , , etc. | | -ci | --capture-interval | Filtre la recherche sur archive.org pour n'obtenir au maximum 1 capture par heure (), jour () ou mois (). Ce filtre est utilisé uniquement pour les réponses. La valeur par défaut est mais peut être définie sur pour ne rien filtrer et obtenir toutes les réponses. | | -ra | --regex-after | Expression régulière pour filtrer les liens trouvés à partir de toutes les sources d'URL ET des réponses téléchargées. . | | -url-filename | | Définit le nom de fichier des réponses téléchargées sur l'URL qui a généré la réponse, sinon il sera défini sur la valeur de hachage de la réponse. Utiliser la valeur de hachage signifie que plusieurs URL qui ont généré la même réponse n'entraîneront qu'un seul fichier sauvegardé pour cette réponse. | | -xwm | | Exclure les vérifications des liens provenant de Wayback Machine (archive.org) | | -xcc | | Exclure les vérifications des liens provenant de commoncrawl.org | | -xav | | Exclure les vérifications des liens provenant de alienvault.com | | -xus | | Exclure les vérifications des liens provenant de urlscan.io | | -xvt | | Exclure les vérifications des liens provenant de virustotal.com | | -xix | | Exclure les vérifications des liens provenant de Intelligence X.com | | -xga | | Exclure les vérifications des liens provenant de ghostarchive.org | | -lcc | | Limite le nombre de collections d'index Common Crawl recherchées, par exemple recherchera uniquement les dernières collections (par défaut : 1). En novembre 2024, il y a actuellement 106 collections. Le définir à recherchera les collections. Si vous ne voulez pas du tout rechercher Common Crawl, utilisez l'option . | | -t | --timeout | Ceci est uniquement pour les réponses archivées ! Combien de secondes attendre que le serveur envoie des données avant d'abandonner (par défaut : 30). | | -p | --processes | Un multithreading de base est effectué lors de l'obtention des requêtes pour un fichier d'URL. Cet argument détermine le nombre de processus (threads) utilisés (par défaut : 2). | | -r | --retries | Le nombre de tentatives pour les requises qui obtiennent une erreur de connexion ou une limitation de débit (par défaut : 1). | | -sip | --source-ip OR --bind-ip | Lier les requêtes HTTP/HTTPS sortantes à cette IP source (utile sur les hôtes multi-interfaces). Passer cet argument remplace la valeur dans le fichier . | | -m | --memory-threshold | Le pourcentage seuil de mémoire. Si la mémoire de la machine dépasse le seuil, le programme sera arrêté et terminé correctement avant de manquer de mémoire (par défaut : 95). | | -ko | --keywords-only | Ne retourner que les liens et réponses qui contiennent des mots-clés qui vous intéressent. Cela peut réduire le temps nécessaire pour obtenir des résultats. Si vous fournissez le drapeau sans valeur, les mots-clés sont extraits de la liste séparée par des virgules dans le fichier (généralement dans ) avec la clé , sinon vous pouvez passer une valeur Regex spécifique à utiliser, par exemple pour n'obtenir que les liens contenant le mot , ou pour n'obtenir que les fichiers JS. La vérification Regex n'est PAS sensible à la casse. | | -lr | --limit-requests | Limite le nombre de requêtes qui seront effectuées lors de l'obtention des liens depuis une source (cela ne s'applique pas à Common Crawl). Certaines cibles peuvent nécessiter un nombre énorme de requêtes qui ne sont tout simplement pas réalisables, cela peut donc être utilisé pour gérer cette situation. La valeur par défaut est 0 (zéro), ce qui signifie qu'il n'y a pas de limite. | | -ow | --output-overwrite | Si le fichier de sortie des URL (par défaut , ou spécifié par ) existe déjà, il sera écrasé au lieu d'être ajouté. | | -nlf | --new-links-file | Si cet argument est passé, un fichier (ou si est utilisé, ce sera le nom de ce fichier suffixé par ) sera également écrit et contiendra les liens pour la dernière exécution. Cela peut être utilisé pour une surveillance continue d'une cible (uniquement pour , pas ). | | | --stream | Affiche les URL sur STDOUT dès qu'elles sont trouvées (les doublons seront affichés). Fonctionne uniquement avec . Toute autre sortie est supprimée, utilisez donc pour voir les éventuelles erreurs. Utilisez pour sauvegarder explicitement les résultats dans un fichier (les doublons seront supprimés). | | -c | --config | Chemin vers le fichier de configuration YML. S'il n'est pas passé, il recherche le fichier dans le répertoire par défaut, généralement . | | -wrlr | --wayback-rate-limit-retry | Le nombre de minutes que l'utilisateur souhaite attendre pour une pause de limitation de débit sur Wayback Machine (archive.org) au lieu de s'arrêter avec une erreur (par défaut : 3). | | -urlr | --urlscan-rate-limit-retry | Le nombre de minutes que l'utilisateur souhaite attendre pour une pause de limitation de débit sur URLScan.io au lieu de s'arrêter avec une erreur (par défaut : 1). | | -co | --check-only | Cela effectuera quelques requêtes minimales pour vous montrer combien de requêtes, et approximativement combien de temps cela pourrait prendre, pour obtenir les URL des sources et les réponses téléchargées de Wayback Machine (malheureusement, il n'est pas possible de vérifier combien de temps il faudra pour télécharger les réponses depuis URLScan). | | -nd | --notify-discord | Indique s'il faut envoyer une notification à Discord lorsque waymore se termine. Cela nécessite que soit fourni dans le fichier . | | -nt | --notify-telegram | Indique s'il faut envoyer une notification à Telegram lorsque waymore se termine. Cela nécessite que et soient fournis dans le fichier . | | -oijs | --output-inline-js | Indique s'il faut sauvegarder le javascript en ligne combiné de tous les fichiers pertinents dans le répertoire des réponses lorsque (ou ) a été utilisé. Les fichiers sont sauvegardés avec le nom où est le numéro du fichier, sauvegardant 1000 scripts uniques par fichier. Le fichier sera également créé, contenant la valeur de tous les scripts externes référencés dans les fichiers. | | -v | --verbose | Sortie verbeuse | | | --version | Affiche le numéro de version actuel. | | -h | --help | Affiche le message d'aide et quitte. |## Exécuter avec docker

Installer docker```bash git clone https://github.com/xnl-h4ck3r/waymore.git cd waymore

root@kitploit:~
Construire l'image :```bash
docker build -t waymore .

Exécutez waymore avec cette commande :```bash docker run -it --rm -v $PWD/results:/app/results waymore:latest -i example.com -oU example.com.links -oR results/example.com/

root@kitploit:~
## Entrée et Mode

L'entrée `-i` peut être soit un domaine uniquement, par ex. `redbull.com`, soit un domaine et un chemin spécifique, par ex. `redbull.com/robots.txt`. Vous pouvez également passer un fichier de domaines/URLs à traiter (ou passer des valeurs via un pipe depuis un autre programme en ligne de commande). **NOTE : Tout schéma, numéro de port, chaîne de requête ou fragment d'URL sera supprimé des valeurs d'entrée. Cependant, si vous fournissez un chemin, celui-ci sera spécifiquement recherché, ce qui limitera vos résultats.**

Il existe différents modes d'exécution pour waymore. L'argument `-mode` peut prendre 3 valeurs différentes :

- `U` - Les URLs seront récupérées depuis archive.org (si `-xwm` n'est pas passé), commoncrawl.org (si `-xcc` n'est pas passé), otx.alienvault.com (si `-xvv` n'est pas passé) et urlscan.io (si `-xus` n'est pas passé)
- `R` - Les réponses seront téléchargées depuis archive.org
- `B` - Les URLs et les réponses seront toutes deux récupérées

Si l'entrée était une URL spécifique, par ex. `redbull.com/robots.txt`, alors le `-mode` par défaut est `R`. Seules les réponses seront téléchargées. Vous ne pouvez pas changer le mode en `U` ou `B` pour un domaine avec chemin car il n'est pas nécessaire de récupérer les URLs pour une URL spécifique.

Si l'entrée est simplement un domaine, par ex. `redbull.com`, alors le `-mode` par défaut est `B`. Il peut être changé en `U` ou `R` si nécessaire. Lorsqu'un seul domaine est passé, toutes les URLs/réponses sont récupérées pour ce domaine (et les sous-domaines sauf si `-n` est passé). Si l'option sans sous-domaine `-n` est passée, le sous-domaine `www` est toujours inclus par défaut.

## config.yml

Le fichier `config.yml` (généralement dans `~/.config/waymore/`) contient des valeurs qui peuvent être mises à jour selon vos besoins. Les filtres sont tous fournis sous forme de listes séparées par des virgules :

- `FILTER_CODE` - Exclusions utilisées pour exclure les réponses que nous tenterons d'obtenir de web.archive.org, et aussi pour les noms de fichiers lorsque `-i` est un répertoire, par ex. `301,302`. Cela peut être remplacé par l'argument `-fc`. Passer `-mc` (pour faire correspondre les codes de statut au lieu de filtrer) remplacera toute valeur dans `FILTER_CODE` ou `-fc`.
- `FILTER_MIME` - Exclusions de type MIME Content-Type utilisées pour filtrer les liens et les réponses de web.archive.org via leur API, par ex. `'text/css,image/jpeg`. Cela peut être remplacé par l'argument `-ft`. Passer `-mt` (pour faire correspondre les types MIME au lieu de filtrer) remplacera toute valeur dans `FILTER_MIME` ou `-ft`.
- `FILTER_URL` - Exclusions de code de réponse que nous utiliserons pour filtrer les liens et les réponses de web.archive.org via leur API, par ex. `.css,.jpg`
- `FILTER_KEYWORDS` - Seuls les liens et les réponses contenant les mots-clés spécifiés seront renvoyés si l'argument `-ko`/`--keywords-only` est passé (sans fournir de valeur explicite en ligne de commande), par ex. `admin,portal`
- `URLSCAN_API_KEY` - Vous pouvez vous inscrire à [urlscan.io](https://urlscan.io/user/signup) pour obtenir une clé API **GRATUITE** (des abonnements payants sont également disponibles). Il est recommandé d'obtenir une clé et de la mettre dans le fichier de configuration afin d'obtenir davantage de résultats (et plus rapidement) de leur API. NOTE : Vous serez limité en débit sauf si vous disposez d'un abonnement payant complet.
- `CONTINUE_RESPONSES_IF_PIPED` - Si la récupération des réponses d'archive ne se termine pas, il vous sera demandé la prochaine fois si vous souhaitez continuer avec l'exécution précédente. Cependant, si `stdout` est redirigé vers un autre processus, on suppose que vous ne souhaitez pas avoir d'invite interactive. Une valeur `True` (par défaut) garantira que l'exécution précédente sera poursuivie. Si vous souhaitez une exécution fraîche à chaque fois, réglez-la sur `False`.
- `WEBHOOK_DISCORD` - Si l'argument `--notify-discord` est passé, `waymore` enverra une notification à ce webhook Discord.
- `TELEGRAM_BOT_TOKEN` - Si l'argument `--notify-telegram` est passé, `waymore` utilisera ce jeton pour envoyer une notification à Telegram.
- `TELEGRAM_CHAT_ID` - Si l'argument `--notify-telegram` est passé, `waymore` enverra la notification à cet ID de chat.
- `DEFAULT_OUTPUT_DIR` - Il s'agit de l'emplacement par défaut des fichiers de sortie écrits si les arguments `-oU` et `-oR` ne sont pas utilisés. Si la valeur de cette clé est vide, elle sera par défaut l'emplacement du fichier `config.yml`.
- `INTELX_API_KEY` - Vous pouvez vous inscrire à [intelx.io ici](https://intelx.io/product). Cela nécessite une clé API académique ou payante pour effectuer le `/phonebook/search` via leur API (depuis le 2024-09-01, le service Phonebook a été restreint aux utilisateurs académiques ou payants en raison d'abus constants par des comptes de spam). Vous pouvez obtenir une clé API gratuite pour un usage académique si vous vous inscrivez avec une adresse e-mail académique valide.
- `SOURCE_IP` - Optionnel. Lier les requêtes HTTP/HTTPS sortantes à une adresse IP source spécifique sur les hôtes multi-hébergés. Peut également être défini via l'option CLI `--source-ip/--bind-ip` (la CLI a priorité).

  **NOTE : Les types MIME ne peuvent pas être filtrés pour Alien Vault OTX, Virus Total et Intelligence X car ils n'ont pas la capacité de filtrer sur le type MIME. Parfois, URLScan n'a pas de type MIME défini pour une URL. Dans ces cas, les URLs seront incluses indépendamment du filtre ou de la correspondance. Gardez cela à l'esprit et envisagez d'exclure certains fournisseurs si cela est important.**

## Sortie

Dans le répertoire de sortie par défaut spécifié dans le fichier `config.yml` avec `DEFAULT_OUTPUT_DIR` (si celui-ci est vide, il sera par défaut l'emplacement du fichier `config.yml` lui-même, généralement `~/.config/waymore/`), un répertoire `results` sera créé. À l'intérieur, un répertoire sera créé avec le domaine cible (ou le domaine avec le chemin) passé avec `-i` (ou pour chaque ligne d'un fichier passé avec `-i`). Vous pouvez également utiliser l'argument `-oU` pour spécifier où le fichier de liens URL sera produit (et le nom du fichier). Vous pouvez également utiliser l'argument `-oR` pour spécifier un répertoire (ou un chemin) où les réponses archivées seront produites.
Lors de l'exécution, les fichiers suivants sont créés dans le répertoire cible :

- `waymore.txt` - Si `-mode` est `U` ou `B`, ce fichier contiendra les liens des sources sélectionnées. Les liens seront récupérés depuis archive.org Wayback Machine (sauf si `-xwm` a été passé), commoncrawl.org (sauf si `-xcc` a été passé), otx.alienvault.com (sauf si `-xav` a été passé) et urlscan.io (sauf si `-xus` a été passé). Si l'option `-ow` a également été passée, tout fichier `waymore.txt` existant dans le répertoire de résultats cible sera écrasé, sinon les nouveaux liens seront ajoutés et les doublons supprimés.
- `index.txt` - Si `-mode` est `R` ou `B`, et que `-url-filname` n'a pas été passé, alors les réponses archivées seront téléchargées et des valeurs de hachage seront utilisées pour les noms de fichiers enregistrés. Ce fichier contient une liste séparée par des virgules de `<hash>,<URL d'archive>,<timestamp>` au cas où vous auriez besoin de savoir quelles URLs ont produit quelle réponse.
- `TOUS LES AUTRES FICHIERS` - Ces fichiers de réponse archivée seront créés si `-mode` était `R` ou `B`. Si `-url-filename` a été passé, les noms de fichiers seront l'URL d'archive qui a généré la réponse, par ex. `https--example.com-robots.txt`, sinon le nom de fichier sera une valeur de hachage, par ex. `7960113391501.{EXT}` où `{EXT}` sera l'extension dérivée du chemin, sinon elle sera dérivée du `content-type` de la réponse. Parfois, une extension générale sera donnée, par ex. `.js` pour tout type de contenu contenant le mot `javascript`, sinon elle peut être définie sur la dernière partie du type (par ex. si c'est `application/java-archive`, le fichier sera `7960113391501.java-archive`). L'utilisation de valeurs de hachage signifie que moins de fichiers seront écrits car il n'y aura qu'un seul fichier par réponse unique. Ces réponses archivées sont modifiées avant d'être enregistrées pour supprimer toute référence à `web.archive.org`.

## Informations et suggestions

Le nombre de liens trouvés, puis potentiellement le nombre de fichiers de réponses archivées que vous téléchargerez, peut être **ÉNORME** pour de nombreux domaines. Cet outil n'est pas axé sur la vitesse, mais sur la découverte de davantage de choses, soyez donc patient.

Il existe une option `-p` pour augmenter le nombre de processus (utilisé lors de la récupération des liens de toutes les sources et du téléchargement des réponses archivées depuis archive.org). Cependant, même si cela peut ne pas être aussi rapide que vous le souhaiteriez, je suggère de laisser `-p` à la valeur par défaut de 3 car j'ai personnellement rencontré des problèmes pour obtenir des réponses avec des valeurs plus élevées. Nous ne voulons pas causer de problèmes à ces services, soyez donc raisonnable !

J'utilise souvent l'option `-f` car je veux que `waymore.txt` contienne TOUS les liens possibles. Même si je me fiche des images, polices, etc., il peut toujours être utile de voir tous les chemins possibles et peut-être les paramètres. Tous les filtres seront toujours appliqués lors du téléchargement des réponses archivées. Vous ne voulez pas perdre du temps à télécharger des milliers d'images !

L'utilisation de l'option `-v` peut aider à voir ce qui se passe en coulisses et pourrait vous aider si vous n'obtenez pas la sortie attendue.

Tous les types MIME Content-Type des URLs trouvées (par toutes les sources sauf Alien Vault) seront affichés lorsque `-v` est utilisé. Cela peut aider à ajouter d'autres exclusions si vous trouvez que vous obtenez encore des choses que vous ne voulez pas voir. Si vous repérez un type MIME qui est inclus mais que vous ne souhaitez plus le voir à l'avenir, ajoutez-le à `FILTER_MIME` dans `config.yml`.
Il convient de noter que parfois le type MIME sur archive.org est stocké comme `unk` et `unknown` au lieu du vrai type MIME, donc le filtre ne le supprimera pas nécessairement de leurs résultats. Les paramètres de configuration `FILTER_URL` peuvent être utilisés pour les supprimer ensuite. Par exemple, si un GIF a le type MIME `unk` au lieu de `image/gif` (et que celui-ci est dans `FILTER_MIME`), il ne sera pas filtré, mais si l'URL est `https://target.com/assets/logo.gif` et que `.gif` est dans `FILTER_URL`, il ne sera pas demandé.

Si `config.yml` n'existe pas, ou si les entrées pour les filtres ne sont pas dans le fichier, les filtres par défaut sont utilisés. Il est préférable d'avoir le fichier et de les examiner pour vous assurer d'obtenir ce dont vous avez besoin.

Il peut y avoir potentiellement des millions de réponses, alors assurez-vous de définir des filtres, mais aussi la Limite (`-l`), la Date de début (`-from`), la Date de fin (`-to`) et/ou l'Intervalle de capture (`-ci`) si nécessaire. La limite par défaut est 5000, mais disons que vous souhaitez obtenir les 20 000 réponses les plus récentes de 2015 jusqu'à janvier 2018... vous passeriez `-l -20000 -from 2015 -to 201801`. L'Intervalle de capture détermine combien de réponses seront téléchargées pour une URL particulière dans une période donnée, par exemple si vous le réglez sur `m`, vous n'obtiendrez qu'une seule réponse par mois pour une URL. La valeur par défaut `d` réduira probablement considérablement le nombre de réponses et il est peu probable que vous manquiez beaucoup de réponses uniques, à moins qu'une cible n'ait changé quelque chose plus d'une fois dans une journée donnée.

Un autre argument utile est `-mc` qui n'obtiendra que les résultats où le code de statut HTTP correspond à la liste séparée par des virgules passée, par ex. `-mc 200` ou `-mc 200,403`.

Vous pouvez également réduire considérablement le nombre (et donc le temps d'exécution) des liens et des réponses en ne renvoyant que ceux qui contiennent des mots-clés qui vous intéressent. Vous pouvez lister ces mots-clés dans `config.yml` avec la clé `FILTER_KEYWORDS` puis passer l'argument `-ko`/`--keywords-only` pour les utiliser, ou vous pouvez passer `-ko`/`--keywords-only` avec une expression régulière spécifique, par ex. `-ko "\.js(\?.*|$)"` pour n'obtenir que les fichiers JS. **NOTE : L'expression régulière CDX nécessite que tous les chemins correspondent à la chaîne complète, donc si `$` est utilisé dans un groupe OU, alors `.*` est requis dans la partie de l'expression régulière `(\?.*|$)`.**

Comme mentionné ci-dessus, inscrivez-vous à [urlscan.io](https://urlscan.io/user/signup) pour obtenir une clé API **GRATUITE** (des abonnements payants sont également disponibles). Il est recommandé d'obtenir une clé et de la mettre dans le fichier `config.yml` afin d'obtenir davantage de résultats (et plus rapidement) de leur API. NOTE : Vous serez limité en débit sauf si vous disposez d'un abonnement payant complet.

L'API CDX de Wayback Machine d'archive.org peut parfois nécessiter un nombre énorme de requêtes pour obtenir tous les liens. Par exemple, si vous exécutez **waymore** pour `-i twitter.com`, il indique qu'il y a **28 903 799** requêtes à effectuer vers archive.org (cela pourrait prendre près de 1000 jours pour certaines personnes !!!). L'argument `-lr` peut être utilisé pour limiter le nombre de requêtes par source (bien que ce soit généralement archive.org qui pose problème). La valeur par défaut de l'argument est 0 (Zéro) ce qui n'applique aucune limite.

Il y a également un problème avec l'API CDX de Wayback Machine où le nombre de pages renvoyées n'est pas correct lorsque des filtres sont appliqués et peut causer des problèmes (voir https://github.com/internetarchive/wayback/issues/243). En attendant que ce problème soit résolu, définir l'argument `-lr` à une valeur raisonnable peut aider à court terme.

L'API Common Crawl a eu beaucoup de problèmes pendant longtemps. Inclure cette source pourrait rendre waymore beaucoup plus long à exécuter et pourrait ne pas apporter de résultats supplémentaires. Vous pouvez vérifier s'il y a un problème en visitant http://index.commoncrawl.org/collinfo.json et en voyant si cela réussit. Envisagez d'exclure complètement Common Crawl en utilisant l'argument `--providers` et en n'incluant pas `commoncrawl`, ou en utilisant l'argument `-xcc`.

**Les serveurs API des fournisseurs ne sont pas conçus pour gérer de gros volumes, soyez donc raisonnable et respectueux dans ce que vous leur envoyez !**

Lors du téléchargement des réponses archivées, cela peut prendre beaucoup de temps et peut parfois être interrompu par la machine pour une raison quelconque, ou interrompu manuellement par l'utilisateur.
Dans le répertoire `results` de la cible, un fichier nommé `responses.tmp` est créé au début du processus et contient toutes les URLs de réponse qui seront récupérées. Il y aura également un fichier nommé `continueResp.tmp` qui stocke l'index de la dernière réponse récupérée. Si `waymore` est exécuté pour obtenir des réponses (`-mode R` ou `-mode B`), et que ces fichiers existent, cela signifie qu'il y a eu une exécution précédente incomplète, et il vous sera demandé si vous souhaitez continuer avec celle-ci. Il reprendra alors là où il s'était arrêté.

## Quelques exemples de base

### Exemple 1

Obtenez simplement les URLs de toutes les sources pour `redbull.com` (`-mode U` est uniquement pour les URLs, donc aucune réponse n'est téléchargée) :

<center><img src="https://raw.githubusercontent.com/xnl-h4ck3r/waymore/main/waymore/images/example1.png"></center>

Les URLs sont enregistrées dans le même chemin que `config.yml` (généralement `~/.config/waymore`) sous `results/redbull.com/waymore.txt`

### Exemple 2

Obtenez TOUTES les URLs de Wayback pour `redbull.com` (aucun filtre n'est appliqué en mode `U` avec `-f`, et aucune URL n'est récupérée depuis Common Crawl, Alien Vault, URLScan et Virus Total, car `-xcc`, `-xav`, `-xus`, `-xvt` sont passés respectivement. Cela peut également être réalisé en passant `--providers wayback` au lieu des arguments d'exclusion).
Enregistrez les 200 PREMIÈRES réponses trouvées à partir de 2022 (`-l 200 -from 2022`) :

<center><img src="https://raw.githubusercontent.com/xnl-h4ck3r/waymore/main/waymore/images/example2.png"></center>

Le `-mode` n'a pas été défini explicitement donc il prend par défaut `B` (Les deux - récupérer les URLs ET télécharger les réponses).
Un fichier sera créé pour chaque réponse unique et également enregistré dans `results/redbull.com/` :

<center><img src="https://raw.githubusercontent.com/xnl-h4ck3r/waymore/main/waymore/images/example3.png"></center>

Il y aura également un fichier `results/redbull.com/index.txt` qui contiendra une référence aux URLs qui ont donné la réponse pour quel fichier, par ex.```
4847147712618,https://web.archive.org/web/20220426044405/https://www.redbull.com/additional-services/geo ,2022-06-24 20:07:50.603486

où 4847147712618 est la valeur de hachage de la réponse dans 4847147712618.xnl, la 2e valeur est l'URL Wayback Machine où vous pouvez voir la page réelle qui a été archivée, et la 3e est un horodatage du moment où la réponse a été téléchargée.

Exemple 3

Vous pouvez rediriger waymore vers d'autres outils. Toutes les erreurs sont envoyées vers stderr et tous les liens trouvés sont envoyés vers stdout. Le fichier de sortie est toujours créé en plus des liens redirigés vers le programme suivant. Cependant, les réponses archivées ne sont pas redirigées vers le programme suivant, mais elles sont toujours écrites dans des fichiers. Par exemple :``` waymore -i redbull.com -mode U | unfurl keys | sort -u

root@kitploit:~
Vous pouvez également passer l'entrée via `stdin` au lieu de `-i`.```
cat redbull_subs.txt | waymore

Exemple 4

Parfois, vous souhaitez simplement vérifier combien de requêtes et combien de temps waymore prendrait si vous l'exécutiez pour un domaine particulier. Vous pouvez effectuer une vérification rapide en utilisant l'argument -co/--check-only. Par exemple:``` waymore -i redbull.com --check-only

root@kitploit:~
<center><img src="https://raw.githubusercontent.com/xnl-h4ck3r/waymore/main/waymore/images/example4.png"></center>

## Trouver encore plus d'URLs !

Vous avez maintenant beaucoup de réponses archivées et vous voulez trouver des liens supplémentaires ? Facile ! Pourquoi ne pas utiliser [xnLinkFinder](https://github.com/xnl-h4ck3r/xnLinkFinder) ?
Par exemple :```
xnLinkFinder -i ~/Tools/waymore/results/redbull.com -sp https://www.redbull.com -sf redbull.com -o redbull.txt

Ou exécutez d'autres outils comme trufflehog ou gf sur le répertoire des réponses pour en trouver encore plus à partir des réponses archivées !

Instructions détaillées

Ci-dessous se trouve une présentation détaillée que j'ai faite pour le serveur Discord de Jason Haddix en mars 2024 pour couvrir TOUT ce que vous devez savoir sur waymore.

NOTE : Cette vidéo date de mars 2024, donc les fonctionnalités ajoutées après cette date ne seront pas présentées et certaines fonctionnalités peuvent avoir changé. Veuillez vérifier les instructions actuelles.

Présentation waymore

Problèmes

Si vous rencontrez des problèmes, ou avez des idées d'amélioration, n'hésitez pas à créer une issue sur Github. En cas de problème, il sera utile de fournir la commande exacte que vous avez exécutée et une description détaillée du problème. Si possible, exécutez avec -v pour reproduire le problème et signalez les messages d'erreur éventuels.

TODO

  • Ajouter un argument -oos qui accepte un fichier de sous-domaines/URL hors scope qui ne seront pas renvoyés dans la sortie, et dont les réponses ne seront pas téléchargées.
  • Le fichier waymore_index.txt n'est pas dédupliqué s'il est exécuté plusieurs fois pour la même entrée avec -mode R ou -mode B.
  • Réécrire pour obtenir les sources en parallèle. Actuellement, elles sont exécutées consécutivement désolé !

Références

  • API du serveur CDX Wayback - BÊTA
  • Serveur d'index Common Crawl
  • API Alien Vault OTX
  • API URLScan
  • API VirusTotal (v2)
  • SDK Intelligence X
  • GhostArchive

Bonne chance et bonne chasse ! Si vous aimez vraiment l'outil (ou d'autres), ou s'ils vous ont aidé à trouver une superbe prime, envisagez de M'OFFRIR UN CAFÉ ! ☕ (J'aurais bien besoin de caféine !)

🤘 /XNL-h4ck3r

Télécharger l’outil
-i
-mode
R
-oR
/results
DEFAULT_OUTPUT_DIR
config.yml
~/.config/waymore/
-i
-i
-oU ~/Recon/Redbull/waymoreUrls.txt
/results
DEFAULT_OUTPUT_DIR
config.yml
~/.config/waymore/
-i
-i
-oR ~/Recon/Redbull/waymoreResponses
FILTER_CODE
config.yml
config.yml
FILTER_MIME
config.yml
config.yml
REMARQUE : Cela ne s'appliquera PAS à Alien Vault OTX, Virus Total et Intelligence X car ils n'ont pas la capacité de filtrer par type MIME. Parfois, URLScan n'a pas de type MIME défini - ceux-ci seront toujours inclus. Envisagez d'exclure les sources si cela vous importe.
FILTER_CODE
-fc
FILTER_MIME
-ft
REMARQUE : Cela ne s'appliquera PAS à Alien Vault OTX, Virus Total et Intelligence X car ils n'ont pas la capacité de filtrer par type MIME. Parfois, URLScan n'a pas de type MIME défini - ceux-ci seront toujours inclus. Envisagez d'exclure les sources si cela vous importe.
-mode R
-mode B
N premiers
N derniers
TOUTES
2016
201805
IMPORTANT : Il existe quelques exceptions avec des sources incapables d'obtenir des URL dans les limites de dates : Virus Total - tous les sous-domaines connus seront toujours retournés ; Intelligence X - toutes les URL seront toujours retournées.
2021
202112
IMPORTANT : Il existe quelques exceptions avec des sources incapables d'obtenir des URL dans les limites de dates : Virus Total - tous les sous-domaines connus seront toujours retournés ; Intelligence X - toutes les URL seront toujours retournées.
h
d
m
d
none
ASTUCE : Seules les correspondances positives seront produites. Utilisez des guillemets simples pour éviter l'expansion du shell, par exemple -ra '\.js(\?\|$)'
-lcc 10
10
0
TOUTES
-xcc
SOURCE_IP
config.yml
config.yml
~/.config/waymore/
FILTER_KEYWORDS
-ko "admin"
admin
-ko "\.js(\?.*\|$)"
REMARQUE : Le motif est utilisé comme un pré-filtre approximatif sur l'API Wayback CDX (encapsulé comme .pattern., donc les ancres comme $ peuvent ne pas se comporter comme prévu au niveau CDX), puis appliqué exactement comme une regex Python localement. Utilisez des guillemets simples pour éviter l'expansion du shell de $ et autres caractères spéciaux.
waymore.txt
-oU
waymore.new
-oU
.new
mode U
mode R
-mode U
-v
-oU
config.yml
~/.config/waymore
429
429
WEBHOOK_DISCORD
config.yml
TELEGRAM_BOT_TOKEN
TELEGRAM_CHAT_ID
config.yml
-mode R
-mode B
combinedInline{}.js
{}
combinedInlineSrc.txt
src