
Estrae URL dagli archivi OSINT per approfondimenti sulla sicurezza
Estrae URL dagli archivi OSINT per ottenere informazioni di sicurezza.
Urx è uno strumento da riga di comando progettato per raccogliere URL dagli archivi OSINT, come la Wayback Machine e Common Crawl. Realizzato in Rust per garantire efficienza, sfrutta l'elaborazione asincrona per interrogare rapidamente più fonti di dati. Questo strumento semplifica il processo di raccolta di informazioni sugli URL per un dominio specificato, fornendo un set di dati completo che può essere utilizzato per vari scopi, tra cui test e analisi di sicurezza.
--cdx-endpoint URL, senza bisogno di modifiche al codice-H, --cookie e --user-agent si applicano a ogni richiesta che urx effettua verso il target (--check-status, --extract-links, --extract-js-endpoints, --expand-specs) e non vengono mai deliberatamente inviati a un archivio--match-regex / --filter-regex)--meta-*): filtra per data di prima/ultima cattura, tipo MIME registrato e stato registrato in modo uniforme su ogni provider, dopo la raccoltaurx example.com/shop inserisce l'ambito direttamente nella query CDX (url=example.com/shop*), così un sottoalbero di un sito di grandi dimensioni costa una frazione dell'intero indice invece di essere filtrato lato client--scope-file): la lista *.example.com / !admin.example.com di un programma usata così com'è, ripetibile e unita, con le esclusioni che vincono sempre--dedup-similar)wordlist — i segmenti di percorso e i nomi dei parametri da cui è costruito il target, con id, hash e date esclusi--params (l'inventario completo dei parametri del target), --params-by-endpoint (quale endpoint accetta cosa) e --fuzz-placeholder FUZZ (un URL templato per ogni firma di parametro, pronto per ffuf o dalfox)first_seen, last_seen, mime, archive_status e digest vengono restituiti con ogni URL segnalato da un archivio CDX, senza costi di rete aggiuntivi--stream): gli URL vengono scritti man mano che ciascun provider li segnala, così una pipeline inizia a funzionare immediatamente invece di attendere l'archivio più lento--archive-body), così le pagine che non esistono più rivelano comunque i link che contenevano — una richiesta per ogni corpo distinto, grazie alla deduplicazione tramite digest CDX--extract-js-endpoints, analizza anche il JavaScript archiviato: un bundle denominato con l'hash di build restituisce 404 nel momento in cui il sito viene ridistribuito, e l'archivio è l'unico posto dove la sua superficie API esiste ancora--archive-body-dir) come corpus da cercare per ciò che nessun estrattore di link cerca — commenti degli sviluppatori, credenziali inline, hostname interni — senza richieste aggiuntive--expand-specs): documenti OpenAPI 3.x, Swagger 2.0 e introspezione GraphQL, in JSON o YAML, trasformati in ogni route che descrivono — una richiesta acquista l'intera superficie documentata--check-status registra anche Location, Content-Length e Content-Type, e --check-title aggiunge il <title> HTML--archived-discovery): ogni versione distinta conservata dalla Wayback Machine, così un Disallow: del 2015 nomina ancora i percorsi che il sito ha smesso di menzionareurx cache per ispezionare e mantenere la cache: stats, list, prune, drop <domain>, clear
cargo install urx
### Da Homebrew```bash
# https://formulae.brew.sh/formula/urx
brew install urx
git clone https://github.com/hahwul/urx.git cd urx cargo build --release
Il binario compilato sarà disponibile in `target/release/urx`.
### Da Docker
[ghcr.io/hahwul/urx](https://github.com/hahwul/urx/pkgs/container/urx)
### Completamenti Shell
`urx` genera il proprio script di completamento, quindi corrisponde sempre ai flag
del binario effettivamente installato.```bash
# zsh — any directory on your $fpath works
urx --completions zsh > ~/.zfunc/_urx
# (make sure ~/.zfunc is on the fpath, then `compinit`)
# bash
urx --completions bash > ~/.local/share/bash-completion/completions/urx