
una herramienta de reconocimiento que permite buscar en URLs expuestas a través de servicios de acortamiento
o Utku Sen's
\_/\o
( Oo) \|/
(_=-) .===O- ~~U~R~L~~ -O-
/ \_/U' hunter /|\
|| |_/
\\ | utkusen.com
|K || twitter.com/utkusen_en
urlhunter es una herramienta de reconocimiento que permite buscar URLs expuestas a través de servicios acortadores como bit.ly y goo.gl. El proyecto está escrito en Go.
Un grupo llamado URLTeam (felicitaciones para ellos) está realizando fuerza bruta en los servicios acortadores de URLs y publicando los resultados coincidentes a diario. urlhunter descarga sus colecciones y te permite analizarlas.
Puedes descargar los binarios precompilados desde la página de lanzamientos y ejecutarlos. Por ejemplo:
tar xzvf urlhunter_0.1.0_Linux_amd64.tar.gz
./urlhunter --help
Instala Go en tu sistema
Ejecuta: go install github.com/utkusen/urlhunter@latest
Nota para usuarios de Windows: urlhunter utiliza XZ Utils, que está preinstalado en sistemas Linux y macOS. En sistemas Windows, necesitas descargarlo desde https://tukaani.org/xz/
urlhunter requiere 3 parámetros para ejecutarse: -keywords, -date.
Por ejemplo: urlhunter --keywords keywords.txt --date 2020-11-20
Debes especificar el archivo txt que contiene las palabras clave para buscar en las URLs. Las palabras clave deben escribirse línea por línea. Tienes tres formas diferentes de especificar las palabras clave:
Palabra Clave Única: urlhunter buscará la palabra clave dada como una subcadena. Por ejemplo:
acme.com coincidirá tanto con https://acme.com/blabla como con https://another.com/?referrer=acme.com
Múltiples Palabras Clave: urlhunter buscará las palabras clave dadas con lógica Y. Esto significa que una URL debe incluir todas las palabras clave proporcionadas. Las palabras clave deben separarse con el carácter ,. Por ejemplo:
acme.com,admin coincidirá con https://acme.com/secret/adminpanel pero no coincidirá con https://acme.com/somethingelse
Valores Regex: urlhunter buscará el valor de expresión regular dado. En el archivo de palabras clave, la línea que contiene una fórmula de expresión regular debe comenzar con la cadena regex . El formato es: regex FORMULAREGEX. Por ejemplo:
regex 1\d{10} coincidirá con https://example.com/index.php?id=12938454312 pero no coincidirá con https://example.com/index.php?id=abc223
urlhunter descarga los archivos de archivo de la(s) fecha(s) dada(s). Tienes tres formas diferentes de especificar la fecha:
Última: urlhunter descargará el archivo más reciente. -date latest
Fecha Única: urlhunter descargará el archivo de la fecha dada. El formato de fecha es AAAA-MM-DD.
Por ejemplo: -date 2020-11-20
Año: urlhunter descargará el archivo del año dado. El formato de año es AAAA.
Por ejemplo: -date 2024
Rango de Fechas: urlhunter descargará todos los archivos entre las fechas de inicio y fin dadas.
Por ejemplo: -date 2020-11-10:2020-11-20
Puedes especificar el archivo de salida con el parámetro -o. Por ejemplo -o out.txt
Puedes especificar el parámetro -rm para eliminar las carpetas de archivos descargados después del procesamiento. Esto es útil para ahorrar espacio en disco.
Archive.org limita la velocidad al descargar archivos. Por lo tanto, descargar un archivo lleva más tiempo de lo habitual. Como solución alternativa, puedes descargar los archivos a través de Torrent y colocarlos bajo la carpeta archive/, que se encuentra en el mismo directorio que el binario de urlhunter. El árbol de directorios se verá así:
|-urlhunter
|---urlhunter(binario)
|---archive
|-----urlteam_2020-11-20-11-17-04
|-----urlteam_2020-11-17-11-17-04
urlhunter puede ser útil para fines de inteligencia cibernética y bug bounty. Por ejemplo:
docs.google.com/a/acme.com drive.google.com/a/acme.com las palabras clave te permiten encontrar enlaces de uso compartido públicos de Google Docs y Drive de la empresa Acme.
acme.com,password_reset_token la palabra clave puede permitirte encontrar los tokens de restablecimiento de contraseña funcionales de acme.com
trello.com te permite encontrar direcciones públicas de Trello.
Un agradecimiento especial a Samet Bekmezci(@sametbekmezci) quien me dio la idea de esta herramienta.