Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
waymore — Trova molto di più da Wayback Machine, Common Crawl, Alien Vault OTX, URLScan, VirusTotal, GhostArchive & Intelligence X! | Kitploit
Strumenti/GitHubGitHub/xnl-h4ck3r/waymore
OSINT (Open Source Intelligence)RicognizioneRaccolta InformazioniSicurezza WebEnumerazione SottodominiCrawler
GitHubxnl-h4ck3r/waymore

waymore

Trova molto di più da Wayback Machine, Common Crawl, Alien Vault OTX, URLScan, VirusTotal, GhostArchive & Intelligence X!

Vedi Repository
2.7k2932 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Informazioni - v8.9

L'idea alla base di waymore è quella di trovare ancora più link dalla Wayback Machine (e da altre fonti) rispetto ad altri strumenti esistenti.

👉 La più grande differenza tra waymore e altri strumenti è che può anche scaricare le risposte archiviate per gli URL su Wayback Machine (e URLScan) in modo da poterle poi cercare per trovare ancora più link, commenti degli sviluppatori, parametri extra, ecc. ecc. 👉 Inoltre, altri strumenti attualmente non gestiscono il rate limiting ora imposto dalle fonti, e spesso si fermano con risultati incompleti senza farti sapere che sono incompleti.

Chiunque faccia bug bounty avrà probabilmente usato il fantastico waybackurls di @TomNomNoms. Questo strumento ottiene URL da web.archive.org e link aggiuntivi (se presenti) da una delle collezioni di indici su index.commoncrawl.org. Probabilmente avrai anche usato il fantastico gau di @hacker_ che trova anche URL dall'archivio Wayback, Common Crawl, ma anche da Alien Vault, URLScan, Virus Total e Intelligence X. Ora waymore ottiene URL da TUTTE queste fonti (con la possibilità di filtrare ulteriormente per ottenere ciò che desideri):

  • 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) - SOLO TIER ACCADEMICI O A PAGAMENTO

👉 È un punto che molti sembrano trascurare, quindi lo ribadisco :) ... La più grande differenza tra waymore e altri strumenti è che può anche scaricare le risposte archiviate per gli URL su Wayback Machine in modo da poterle poi cercare per trovare ancora più link, commenti degli sviluppatori, parametri extra, ecc. ecc.

👉 PER FAVORE, LEGGI TUTTE LE INFORMAZIONI IN QUESTA PAGINA PER SFRUTTARE AL MEGLIO QUESTO STRUMENTO, E SOPRATTUTTO PRIMA DI APRIRE QUALSIASI ISSUE 🤘

👉 QUESTO STRUMENTO PUÒ ESSERE MOLTO LENTO, MA È PENSATO PER LA COPERTURA, NON PER LA VELOCITÀ

⚠️ Un errore comune è quello di passare un file di sottodomini per ottenere tutto per un dominio. NON FARLO! Passa solo il dominio per ottenere tutti i sottodomini per quel dominio. Sarà MOLTO più veloce e non ti perderai nulla.

Installazione

NOTA: Se hai già un file config.yml, non verrà sovrascritto. Il file config.yml.NEW verrà creato nella stessa directory. Se hai bisogno della nuova configurazione, rimuovi config.yml e rinomina config.yml.NEW in config.yml.

waymore supporta Python 3.7+ (richiesto Python 3.7 o superiore per il supporto async/await).

Installa waymore nell'ambiente Python predefinito (globale).```bash pip install waymore

root@kitploit:~
O

``````bash
pip install git+https://github.com/xnl-h4ck3r/waymore.git -v

Puoi aggiornare con```bash pip install --upgrade waymore

root@kitploit:~
### pipx

Configurazione rapida in ambiente Python isolato utilizzando [pipx](https://pypa.github.io/pipx/)```bash
pipx install git+https://github.com/xnl-h4ck3r/waymore.git

Utilizzo| Arg | Long Arg | Description |

| ------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -i | --input | Il dominio di destinazione (o file di domini) per cui trovare link. Può essere solo un dominio, o un dominio con un percorso specifico. Se è solo un dominio per ottenere tutto per quel dominio, non prefissare con www.. Puoi anche specificare solo un TLD prefissando con un punto, ad es. .mil, che otterrà tutti i sottodomini per tutti i domini con quel TLD (NOTA: La fonte Alien Vault OTX è esclusa se si cerca un TLD perché richiede un dominio completo). NOTA: Qualsiasi schema, numero di porta, stringa di query o frammento URL verrà rimosso dai valori di input. Tuttavia, se fornisci un percorso, verrà cercato specificamente, limitando i risultati. | | -mode | | La modalità da eseguire: U (recupera solo URL), R (scarica solo le risposte) o B (entrambi). Se -i è solo un dominio, allora -mode sarà predefinito a B. Se -i è un dominio con percorso, allora sarà predefinito a . | | -oU | --output-urls | Il file in cui salvare l'output dei link, incluso il percorso se necessario. Se l'argomento non viene passato, verrà creata una directory nel percorso specificato dalla chiave nel file (di solito predefinito a ). All'interno di questa, verrà creata una directory con il dominio di destinazione (o dominio con percorso) passato con (o per ogni riga di un file passato con ). Ad esempio: | | -oR | --output-responses | La directory in cui salvare i file di output delle risposte, incluso il percorso se necessario. Se l'argomento non viene passato, verrà creata una directory nel percorso specificato dalla chiave nel file (di solito predefinito a ). All'interno di questa, verrà creata una directory con il dominio di destinazione (o dominio con percorso) passato con (o per ogni riga di un file passato con ). Ad esempio: | | -n | --no-subs | Non includere i sottodomini del dominio di destinazione (usato solo se l'input non è un dominio con un percorso specifico). | | -f | --filter-responses-only | I link iniziali dalle fonti non verranno filtrati, solo le risposte scaricate, ad es. può essere utile vedere comunque tutti i percorsi disponibili dai link, anche se non si vuole controllare il contenuto. | | -fc | | Filtra i codici di stato HTTP per URL e risposte recuperati. Elenco separato da virgole di codici (predefinito: i valori da ). Passare questo argomento sovrascriverà il valore da . | | -ft | | Filtra i tipi MIME per URL e risposte recuperati. Elenco separato da virgole di tipi MIME (predefinito: i valori da ). Passare questo argomento sovrascriverà il valore da . . | | -mc | | Abbina solo i codici di stato HTTP per URL e risposte recuperati. Elenco separato da virgole di codici. Passare questo argomento sovrascrive la configurazione e . | | -mt | | Solo tipi MIME per URL e risposte recuperati. Elenco separato da virgole di tipi MIME. Passare questo argomento sovrascrive la configurazione e . . | | -l | --limit | Quante risposte verranno salvate (se viene passato o ). Un valore positivo otterrà i risultati, un valore negativo otterrà gli risultati. Un valore di 0 otterrà le risposte (predefinito: 5000) | | -from | --from-date | Da quale data ottenere i dati. Se non specificato, otterrà dai risultati più vecchi possibili. È possibile passare un valore parziale, ad es. , , ecc. | | -to | --to-date | Fino a quale data ottenere i dati. Se non specificato, otterrà fino ai risultati più recenti possibili. È possibile passare un valore parziale, ad es. , , ecc. | | -ci | --capture-interval | Filtra la ricerca su archive.org per ottenere al massimo 1 cattura per ora (), giorno () o mese (). Questo filtro viene utilizzato solo per le risposte. Il valore predefinito è ma può anche essere impostato su per non filtrare nulla e ottenere tutte le risposte. | | -ra | --regex-after | RegEx per scopi di filtraggio sui link trovati da tutte le fonti di URL E risposte scaricate. | | -url-filename | | Imposta il nome del file delle risposte scaricate all'URL che ha generato la risposta, altrimenti verrà impostato al valore hash della risposta. Usare il valore hash significa che più URL che hanno generato la stessa risposta comporteranno il salvataggio di un solo file per quella risposta. | | -xwm | | Escludi i controlli per i link da Wayback Machine (archive.org) | | -xcc | | Escludi i controlli per i link da commoncrawl.org | | -xav | | Escludi i controlli per i link da alienvault.com | | -xus | | Escludi i controlli per i link da urlscan.io | | -xvt | | Escludi i controlli per i link da virustotal.com | | -xix | | Escludi i controlli per i link da Intelligence X.com | | -xga | | Escludi i controlli per i link da ghostarchive.org | | -lcc | | Limita il numero di raccolte di indici Common Crawl da cercare, ad es. cercherà solo le ultime raccolte (predefinito: 1). A novembre 2024 ci sono attualmente 106 raccolte. Impostando a verranno cercate le raccolte. Se non si desidera cercare affatto Common Crawl, utilizzare l'opzione . | | -t | --timeout | Questo è solo per le risposte archiviate! Quanti secondi attendere che il server invii dati prima di arrendersi (predefinito: 30) | | -p | --processes | Il multithreading di base viene effettuato quando si ottengono richieste per un file di URL. Questo argomento determina il numero di processi (thread) utilizzati (predefinito: 2) | | -r | --retries | Il numero di tentativi per le richieste che ottengono errori di connessione o limitazione di velocità (predefinito: 1). | | -sip | --source-ip OR --bind-ip | Associa le richieste HTTP/HTTPS in uscita a questo IP di origine (utile su host multi-homed). Passare questo argomento sovrascrive il valore nel file . | | -m | --memory-threshold | La percentuale di soglia di memoria. Se la memoria della macchina supera la soglia, il programma verrà fermato e terminato in modo controllato prima di esaurire la memoria (predefinito: 95) | | -ko | --keywords-only | Restituisce solo i link e le risposte che contengono parole chiave di interesse. Questo può ridurre il tempo necessario per ottenere i risultati. Se fornisci il flag senza valore, le parole chiave vengono prese dall'elenco separato da virgole nel file (solitamente in ) con la chiave , altrimenti puoi passare un valore Regex specifico da utilizzare, ad es. per ottenere solo i link contenenti la parola , o per ottenere solo file JS. Il controllo Regex NON è sensibile alle maiuscole. | | -lr | --limit-requests | Limita il numero di richieste che verranno effettuate quando si ottengono link da una fonte (questo non si applica a Common Crawl). Alcuni target possono restituire una quantità enorme di richieste necessarie che non sono fattibili da ottenere, quindi questo può essere usato per gestire quella situazione. Il valore predefinito è 0 (zero), il che significa nessun limite. | | -ow | --output-overwrite | Se il file di output URL (predefinito , o specificato con ) esiste già, verrà sovrascritto invece di essere aggiunto. | | -nlf | --new-links-file | Se questo argomento viene passato, verrà anche scritto un file (o se si usa sarà il nome di quel file suffisso con ), e conterrà i link per l'ultima esecuzione. Questo può essere usato per il monitoraggio continuo di un target (solo per , non per ). | | | --stream | Invia URL a STDOUT non appena trovati (i duplicati verranno mostrati). Funziona solo con . Tutto l'altro output viene soppresso, quindi usa per vedere eventuali errori. Usa per salvare esplicitamente i risultati in un file (verranno deduplicati). | | -c | --config | Percorso per il file di configurazione YML. Se non passato, cerca il file nella directory predefinita, tipicamente . | | -wrlr | --wayback-rate-limit-retry | Il numero di minuti che l'utente vuole attendere per una pausa di limitazione della velocità su Wayback Machine (archive.org) invece di fermarsi con un errore (predefinito: 3). | | -urlr | --urlscan-rate-limit-retry | Il numero di minuti che l'utente vuole attendere per una pausa di limitazione della velocità su URLScan.io invece di fermarsi con un errore (predefinito: 1). | | -co | --check-only | Questo farà alcune richieste minime per mostrarti quante richieste e approssimativamente quanto tempo potrebbe richiedere per ottenere URL dalle fonti e risposte scaricate da Wayback Machine (sfortunatamente non è possibile controllare quanto tempo richiederà scaricare le risposte da URLScan). | | -nd | --notify-discord | Se inviare una notifica a Discord quando waymore completa. Richiede che sia fornito nel file . | | -nt | --notify-telegram | Se inviare una notifica a Telegram quando waymore completa. Richiede che e siano forniti nel file . | | -oijs | --output-inline-js | Se salvare il javascript inline combinato di tutti i file rilevanti nella directory delle risposte quando è stato utilizzato (o ). I file vengono salvati con il nome dove è il numero del file, salvando 1000 script unici per file. Verrà creato anche il file , contenente il valore di tutti gli script esterni referenziati nei file. | | -v | --verbose | Output dettagliato | | | --version | Mostra il numero di versione corrente. | | -h | --help | Mostra il messaggio di aiuto ed esce. |## Esegui con docker

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

root@kitploit:~
Crea immagine:```bash
docker build -t waymore .

Esegui waymore con questo comando:```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:~
## Input e Modalità

L'input `-i` può essere solo un dominio, ad es. `redbull.com` o un dominio e un percorso specifici, ad es. `redbull.com/robots.txt`. Puoi anche passare un file di domini/URL da elaborare (o passare valori tramite pipe da un altro programma da riga di comando). **NOTA: Qualsiasi schema, numero di porta, stringa di query o frammento di URL verrà rimosso dai valori di input. Tuttavia, se fornisci un percorso, questo verrà cercato specificamente, quindi limiterà i tuoi risultati.**

Esistono diverse modalità che possono essere eseguite per waymore. L'argomento `-mode` può avere 3 valori diversi:

- `U` - Gli URL verranno recuperati da archive.org (se `-xwm` non viene passato), commoncrawl.org (se `-xcc` non viene passato), otx.alienvault.com (se `-xvv` non viene passato) e urlscan.io (se `-xus` non viene passato)
- `R` - Le risposte verranno scaricate da archive.org
- `B` - Verranno recuperati sia gli URL che le risposte

Se l'input era un URL specifico, ad es. `redbull.com/robots.txt`, allora la `-mode` predefinita è `R`. Verranno scaricate solo le risposte. Non è possibile cambiare la modalità in `U` o `B` per un dominio con percorso perché non è necessario recuperare URL per un URL specifico.

Se l'input è solo un dominio, ad es. `redbull.com`, allora la `-mode` predefinita è `B`. Può essere cambiata in `U` o `R` se necessario. Quando viene passato solo un dominio, vengono recuperati tutti gli URL/risposte per quel dominio (e sottodomini, a meno che non venga passato `-n`). Se viene passata l'opzione nessun sottodominio `-n`, il sottodominio `www` è ancora incluso per impostazione predefinita.

## config.yml

Il file `config.yml` (tipicamente in `~/.config/waymore/`) ha valori che possono essere aggiornati per soddisfare le tue esigenze. I filtri sono forniti tutti come elenchi separati da virgole:

- `FILTER_CODE` - Esclusioni utilizzate per escludere le risposte che proveremo a ottenere da web.archive.org, e anche per i nomi dei file quando `-i` è una directory, ad es. `301,302`. Questo può essere sovrascritto con l'argomento `-fc`. Passare `-mc` (per abbinare i codici di stato invece di filtrarli) sovrascriverà qualsiasi valore in `FILTER_CODE` o `-fc`.
- `FILTER_MIME` - Esclusioni di Content-Type MIME utilizzate per filtrare link e risposte da web.archive.org tramite la loro API, ad es. `'text/css,image/jpeg`. Questo può essere sovrascritto con l'argomento `-ft`. Passare `-mt` (per abbinare i tipi MIME invece di filtrarli) sovrascriverà qualsiasi valore in `FILTER_MIME` o `-ft`.
- `FILTER_URL` - Esclusioni di codici di risposta che utilizzeremo per filtrare link e risposte da web.archive.org tramite la loro API, ad es. `.css,.jpg`
- `FILTER_KEYWORDS` - Verranno restituiti solo i link e le risposte che contengono le parole chiave specificate se viene passato l'argomento `-ko`/`--keywords-only` (senza fornire un valore esplicito sulla riga di comando), ad es. `admin,portal`
- `URLSCAN_API_KEY` - Puoi registrarti su [urlscan.io](https://urlscan.io/user/signup) per ottenere una chiave API **GRATUITA** (sono disponibili anche abbonamenti a pagamento). Si consiglia di ottenere una chiave e inserirla nel file di configurazione in modo da poter ottenere più risultati (e più velocemente) dalla loro API. NOTA: verrai limitato nella frequenza a meno che tu non abbia un abbonamento a pagamento completo.
- `CONTINUE_RESPONSES_IF_PIPED` - Se il recupero delle risposte di archivio non viene completato, ti verrà chiesto la volta successiva se desideri continuare con l'esecuzione precedente. Tuttavia, se `stdout` viene passato tramite pipe a un altro processo, si presume che tu non voglia avere un prompt interattivo. Un valore di `True` (predefinito) determinerà che l'esecuzione precedente venga continuata. Se desideri un'esecuzione nuova ogni volta, imposta su `False`.
- `WEBHOOK_DISCORD` - Se viene passato l'argomento `--notify-discord`, `waymore` invierà una notifica a questo webhook di Discord.
- `TELEGRAM_BOT_TOKEN` - Se viene passato l'argomento `--notify-telegram`, `waymore` utilizzerà questo token per inviare una notifica a Telegram.
- `TELEGRAM_CHAT_ID` - Se viene passato l'argomento `--notify-telegram`, `waymore` invierà la notifica a questo ID chat.
- `DEFAULT_OUTPUT_DIR` - Questa è la posizione predefinita dei file di output scritti se gli argomenti `-oU` e `-oR` non vengono utilizzati. Se il valore di questa chiave è vuoto, verrà impostata sulla posizione del file `config.yml`.
- `INTELX_API_KEY` - Puoi registrarti su [intelx.io qui](https://intelx.io/product). Richiede una chiave API accademica o a pagamento per eseguire `/phonebook/search` tramite la loro API (a partire dal 2024-09-01, il servizio Phonebook è stato limitato a utenti accademici o a pagamento a causa del costante abuso da parte di account spam). Puoi ottenere una chiave API gratuita per uso accademico se ti registri con un indirizzo email accademico valido.
- `SOURCE_IP` - Opzionale. Associa le richieste HTTP/HTTPS in uscita a un IP di origine specifico su host multi-homed. Può anche essere impostato tramite il flag CLI `--source-ip/--bind-ip` (la CLI ha la precedenza).

  **NOTA: I tipi MIME non possono essere filtrati per Alien Vault OTX, Virus Total e Intelligence X perché non hanno la capacità di filtrare per tipo MIME. A volte URLScan non ha un tipo MIME definito per un URL. In questi casi, gli URL verranno inclusi indipendentemente dal filtro o dall'abbinamento. Tienilo a mente e considera di escludere alcuni provider se questo è importante.**

## Output

Nella directory di output predefinita specificata nel file `config.yml` con `DEFAULT_OUTPUT_DIR` (se è vuota, verrà impostata sulla posizione del file `config.yml` stesso, tipicamente `~/.config/waymore/`), verrà creata una directory `results`. Al suo interno, verrà creata una directory con il dominio di destinazione (o dominio con percorso) passato con `-i` (o per ogni riga di un file passato con `-i`). In alternativa, puoi usare l'argomento `-oU` per specificare dove verrà scritto il file dei collegamenti URL (e il nome del file). Puoi anche usare l'argomento `-oR` per specificare una directory (o un percorso) in cui verranno scritte le risposte archiviate.
Quando viene eseguito, vengono creati i seguenti file nella directory di destinazione:

- `waymore.txt` - Se `-mode` è `U` o `B`, questo file conterrà i collegamenti dalle fonti selezionate. I collegamenti verranno recuperati da archive.org Wayback Machine (a meno che non sia stato passato `-xwm`), commoncrawl.org (a meno che non sia stato passato `-xcc`), otx.alienvault.com (a meno che non sia stato passato `-xav`) e urlscan.io (a meno che non sia stato passato `-xus`). Se è stata passata anche l'opzione `-ow`, qualsiasi file `waymore.txt` esistente nella directory dei risultati di destinazione verrà sovrascritto, altrimenti i nuovi collegamenti verranno aggiunti e i duplicati rimossi.
- `index.txt` - Se `-mode` è `R` o `B`, e `-url-filname` non è stato passato, le risposte archiviate verranno scaricate e i valori hash verranno utilizzati per i nomi dei file salvati. Questo file contiene un elenco separato da virgole di `<hash>,<URL archivio>,<timestamp>` nel caso tu abbia bisogno di sapere quali URL hanno prodotto quale risposta.
- `TUTTI GLI ALTRI FILE` - Questi file di risposta archiviati verranno creati se `-mode` era `R` o `B`. Se `-url-filename` è stato passato, i nomi dei file saranno l'URL dell'archivio che ha generato la risposta, ad es. `https--example.com-robots.txt`, altrimenti il nome del file sarà un valore hash, ad es. `7960113391501.{EXT}` dove `{EXT}` sarà l'estensione derivata dal percorso, altrimenti sarà derivata dal `content-type` della risposta. A volte verrà data un'estensione generale, ad es. `.js` per qualsiasi tipo di contenuto contenente la parola `javascript`, altrimenti potrebbe essere impostata all'ultima parte del tipo (ad es. se è `application/java-archive` il file sarà `7960113391501.java-archive`). Usare valori hash significa che verranno scritti meno file poiché ci sarà un solo file per risposta univoca. Queste risposte archiviate vengono modificate, prima di essere salvate, per rimuovere qualsiasi riferimento a `web.archive.org`.

## Informazioni e Suggerimenti

Il numero di collegamenti trovati, e quindi potenzialmente il numero di file di risposte archiviate che scaricherai, potrebbe essere **ENORME** per molti domini. Questo strumento non riguarda la velocità, ma il trovare di più, quindi sii paziente.

Esiste un'opzione `-p` per aumentare il numero di processi (utilizzata quando si recuperano collegamenti da tutte le fonti e si scaricano le risposte archiviate da archive.org). Tuttavia, anche se potrebbe non essere veloce come desideri, suggerirei di lasciare `-p` al valore predefinito di 3 perché personalmente ho riscontrato problemi nell'ottenere risposte con valori più alti. Non vogliamo causare problemi a questi servizi, quindi sii ragionevole!

Spesso uso l'opzione `-f` perché voglio che `waymore.txt` contenga TUTTI i possibili collegamenti. Anche se non mi interessano immagini, font, ecc., potrebbe comunque essere utile vedere tutti i possibili percorsi e forse i parametri. Tuttavia, i filtri verranno sempre applicati al download delle risposte archiviate. Non vuoi perdere tempo a scaricare migliaia di immagini!

Usare l'opzione `-v` può aiutare a vedere cosa succede dietro le quinte e potrebbe aiutarti se non ottieni l'output che ti aspetti.

Tutti i tipi di contenuto MIME degli URL trovati (da tutte le fonti tranne Alien Vault) verranno visualizzati quando si usa `-v`. Questo può aiutare ad aggiungere ulteriori esclusioni se scopri di ricevere ancora cose che non vuoi vedere. Se noti un tipo MIME che viene incluso ma che non vuoi in futuro, aggiungilo a `FILTER_MIME` in `config.yml`.
Va notato che a volte il tipo MIME su archive.org viene memorizzato come `unk` e `unknown` invece del vero MIME, quindi il filtro non lo rimuoverà necessariamente dai loro risultati. Le impostazioni del filtro `FILTER_URL` possono essere utilizzate per rimuoverli successivamente. Ad esempio, se una GIF ha tipo MIME `unk` invece di `image/gif` (e questo è in `FILTER_MIME`), non verrà filtrata, ma se l'url è `https://target.com/assets/logo.gif` e `.gif` è in `FILTER_URL`, non verrà richiesta.

Se `config.yml` non esiste, o le voci per i filtri non sono nel file, vengono utilizzati i filtri predefiniti. È meglio avere il file e rivederli per assicurarti di ottenere ciò di cui hai bisogno.

Possono esserci potenzialmente milioni di risposte, quindi assicurati di impostare i filtri, ma anche il Limite (`-l`), Da Data (`-from`), A Data (`-to`) e/o Intervallo di Acquisizione (`-ci`) se necessario. Il limite predefinito è 5000, ma diciamo che volessi ottenere le ultime 20.000 risposte dal 2015 fino a gennaio 2018... passeresti `-l -20000 -from 2015 -to 201801`. L'intervallo di acquisizione determina quante risposte verranno scaricate per un particolare URL entro un periodo specificato, ad es. se imposti `m`, otterrai solo una risposta al mese per un URL. Il valore predefinito `d` probabilmente ridurrà notevolmente il numero di risposte ed è improbabile che si perdano molte risposte uniche a meno che un target non abbia cambiato qualcosa più di una volta in un dato giorno.

Un altro argomento utile è `-mc` che otterrà solo risultati in cui il codice di stato HTTP corrisponde all'elenco separato da virgole passato, ad es. `-mc 200` o `-mc 200,403`.

Puoi anche ridurre notevolmente il numero (e quindi ridurre il tempo di esecuzione) di collegamenti e risposte restituendo solo quelli che contengono parole chiave che ti interessano. Puoi elencare queste parole chiave in `config.yml` con la chiave `FILTER_KEYWORDS` e quindi passare l'argomento `-ko`/`--keywords-only` per usarle, oppure puoi passare `-ko`/`--keywords-only` con una Regex specifica, ad es. `-ko "\.js(\?.*|$)"` per ottenere solo file JS. **NOTA: La regex CDX richiede che tutti i percorsi corrispondano alla stringa completa, quindi se `$` viene utilizzato come parte di un gruppo OR, allora `.*` è richiesto nella parte della regex `(\?.*|$)`.**

Come accennato sopra, registrati su [urlscan.io](https://urlscan.io/user/signup) per ottenere una chiave API **GRATUITA** (sono disponibili anche abbonamenti a pagamento). Si consiglia di ottenere una chiave e inserirla nel file `config.yml` in modo da poter ottenere più risultati (e più velocemente) dalla loro API. NOTA: verrai limitato nella frequenza a meno che tu non abbia un abbonamento a pagamento completo.

L'API CDX di archive.org Wayback Machine a volte può richiedere un numero enorme di richieste per ottenere tutti i collegamenti. Ad esempio, se esegui **waymore** per `-i twitter.com`, dice che ci sono **28.903.799** richieste da fare a archive.org (che potrebbero richiedere quasi 1000 giorni per alcune persone!!!). L'argomento `-lr` può essere utilizzato per limitare il numero di richieste effettuate per fonte (anche se di solito è archive.org il problema). Il valore predefinito per l'argomento è 0 (Zero) che non applica alcun limite.

C'è anche un problema con l'API CDX di Wayback Machine in cui il numero di pagine restituite non è corretto quando vengono applicati i filtri e può causare problemi (vedi https://github.com/internetarchive/wayback/issues/243). Fino a quando il problema non sarà risolto, impostare l'argomento `-lr` su un valore ragionevole può aiutare con quel problema a breve termine.

L'API Common Crawl ha avuto molti problemi per molto tempo. Includere questa fonte potrebbe far sì che waymore impieghi molto più tempo per essere eseguito e potrebbe non produrre risultati aggiuntivi. Puoi verificare se c'è un problema visitando http://index.commoncrawl.org/collinfo.json e vedendo se ha successo. Considera di escludere del tutto Common Crawl usando l'argomento `--providers` e non includendo `commoncrawl`, o usando l'argomento `-xcc`.

**I server API dei provider non sono progettati per gestire volumi enormi, quindi sii ragionevole e rispettoso riguardo a ciò con cui li colpisci!**

Quando si scaricano le risposte archiviate, questo può richiedere molto tempo e talvolta può essere terminato dalla macchina per qualche motivo, o terminato manualmente dall'utente.
Nella directory `results` del target, viene creato un file chiamato `responses.tmp` all'inizio del processo e contiene tutti gli URL di risposta che verranno recuperati. Ci sarà anche un file chiamato `continueResp.tmp` che memorizza l'indice dell'ultima risposta recuperata. Se `waymore` viene eseguito per ottenere risposte (`-mode R` o `-mode B`), e questi file esistono, significa che c'è stata un'esecuzione precedente incompleta, e ti verrà chiesto se vuoi continuare con quella invece. Riprenderà quindi da dove si era fermato prima.

## Alcuni Esempi di Base

### Esempio 1

Ottieni solo gli URL da tutte le fonti per `redbull.com` (`-mode U` è solo per URL, quindi nessuna risposta viene scaricata):

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

Gli URL vengono salvati nello stesso percorso di `config.yml` (tipicamente `~/.config/waymore`) sotto `results/redbull.com/waymore.txt`

### Esempio 2

Ottieni TUTTI gli URL da Wayback per `redbull.com` (nessun filtro viene applicato in `mode U` con `-f`, e nessun URL viene recuperato da Common Crawl, Alien Vault, URLScan e Virus Total, perché vengono passati rispettivamente `-xcc`, `-xav`, `-xus`, `-xvt`. Questo può essere ottenuto anche passando `--providers wayback` invece degli argomenti di esclusione).
Salva le PRIME 200 risposte trovate a partire dal 2022 (`-l 200 -from 2022`):

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

La `-mode` non è stata impostata esplicitamente, quindi per impostazione predefinita è `B` (Both - recupera URL E scarica risposte).
Verrà creato un file per ogni risposta univoca e salvato anche in `results/redbull.com/`:

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

Ci sarà anche un file `results/redbull.com/index.txt` che conterrà un riferimento a quali URL hanno dato la risposta per quale file, ad es.```
4847147712618,https://web.archive.org/web/20220426044405/https://www.redbull.com/additional-services/geo ,2022-06-24 20:07:50.603486

dove 4847147712618 è il valore hash della risposta in 4847147712618.xnl, il secondo valore è l'URL della Wayback Machine dove puoi visualizzare la pagina effettiva che è stata archiviata, e il terzo è un timestamp di quando la risposta è stata scaricata.

Esempio 3

Puoi reindirizzare waymore ad altri strumenti. Tutti gli errori vengono inviati a stderr e tutti i link trovati vengono inviati a stdout. Il file di output viene comunque creato in aggiunta ai link che vengono reindirizzati al programma successivo. Tuttavia, le risposte archiviate non vengono reindirizzate al programma successivo, ma vengono comunque scritte nei file. Per esempio:``` waymore -i redbull.com -mode U | unfurl keys | sort -u

root@kitploit:~
Puoi anche passare l'input attraverso `stdin` invece di `-i`.```
cat redbull_subs.txt | waymore

Esempio 4

A volte potresti voler verificare solo quante richieste e quanto tempo waymore probabilmente impiegherebbe se lo eseguissi per un dominio particolare. Puoi fare un controllo rapido usando l'argomento -co/--check-only. Per esempio:``` waymore -i redbull.com --check-only

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

## Trovare Molte Più URL!

Quindi ora hai molte risposte archiviate e vuoi trovare link extra? Facile! Perché non usare [xnLinkFinder](https://github.com/xnl-h4ck3r/xnLinkFinder)?
Ad esempio:```
xnLinkFinder -i ~/Tools/waymore/results/redbull.com -sp https://www.redbull.com -sf redbull.com -o redbull.txt

Oppure esegui altri strumenti come trufflehog o gf sulla directory delle risposte per trovare ancora di più dalle risposte archiviate!

Istruzioni Dettagliate

Di seguito una discussione approfondita che ho tenuto per il canale Discord di Jason Haddix nel marzo 2024 per coprire TUTTO ciò che devi sapere su waymore.

NOTA: Questo video è di marzo 2024, quindi eventuali funzionalità aggiunte dopo non saranno presenti e alcune potrebbero essere cambiate. Controlla attentamente le istruzioni attuali.

waymore talk

Problemi

Se incontri problemi o hai idee per miglioramenti, sentiti libero di aprire un issue su Github. Se c'è un problema, sarà utile se fornisci il comando esatto che hai eseguito e una descrizione dettagliata del problema. Se possibile, esegui con -v per riprodurre il problema e fammi sapere eventuali messaggi di errore.

TODO

  • Aggiungere un argomento -oos che accetta un file di sottodomini/URL fuori ambito che non verranno restituiti nell'output, né scaricate risposte.
  • Il file waymore_index.txt non viene deduplicato se eseguito più volte per lo stesso input con -mode R o -mode B.
  • Riscrivere per ottenere dati dalle fonti in parallelo. Attualmente vengono eseguite consecutivamente, mi dispiace!

Riferimenti

  • Wayback CDX Server API - BETA
  • Common Crawl Index Server
  • Alien Vault OTX API
  • URLScan API
  • VirusTotal API (v2)
  • Intelligence X SDK
  • GhostArchive

Buona fortuna e buona caccia! Se ami davvero lo strumento (o altri), o ti ha aiutato a trovare una fantastica bounty, considera COMPRAMI UN CAFFÈ! ☕ (Mi serve la caffeina!)

🤘 /XNL-h4ck3r

Scarica lo strumento
-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
NOTA: Questo NON sarà applicato ad Alien Vault OTX, Virus Total e Intelligence X perché non hanno la capacità di filtrare per tipo MIME. A volte URLScan non ha un tipo MIME definito - questi saranno sempre inclusi. Considera di escludere le fonti se questo è importante per te.
FILTER_CODE
-fc
FILTER_MIME
-ft
NOTA: Questo NON sarà applicato ad Alien Vault OTX, Virus Total e Intelligence X perché non hanno la capacità di filtrare per tipo MIME. A volte URLScan non ha un tipo MIME definito - questi saranno sempre inclusi. Considera di escludere le fonti se questo è importante per te.
-mode R
-mode B
primi N
ultimi N
TUTTE
2016
201805
IMPORTANTE: Ci sono alcune eccezioni con fonti che non possono ottenere URL entro limiti di data: Virus Total - tutti i sottodomini noti verranno comunque restituiti; Intelligence X - tutti gli URL verranno comunque restituiti.
2021
202112
IMPORTANTE: Ci sono alcune eccezioni con fonti che non possono ottenere URL entro limiti di data: Virus Total - tutti i sottodomini noti verranno comunque restituiti; Intelligence X - tutti gli URL verranno comunque restituiti.
h
d
m
d
none
SUGGERIMENTO: Verranno restituite solo le corrispondenze positive. Utilizza gli apici singoli per evitare l'espansione della shell, ad es. -ra '\.js(\?\|$)'
-lcc 10
10
0
TUTTE
-xcc
SOURCE_IP
config.yml
config.yml
~/.config/waymore/
FILTER_KEYWORDS
-ko "admin"
admin
-ko "\.js(\?.*\|$)"
NOTA: Il pattern viene utilizzato come pre-filtro approssimativo sull'API Wayback CDX (avvolto come .pattern., quindi ancore come $ potrebbero non comportarsi come previsto a livello CDX), quindi applicato esattamente come regex Python localmente. Usa gli apici singoli per evitare l'espansione della shell di $ e altri caratteri speciali.
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