Extras
ROTUBE:
import subprocess
import os
import re
def get_domain():
domain = input("Ingresa el dominio (ejemplo: example.com): ").strip()
if not domain:
print("El dominio no puede estar vacío.")
return get_domain()
return domain
def run_wayback_machine_search(domain):
print(f"Buscando archivos expuestos en {domain} usando Wayback Machine...")
output_file = "out.txt"
exposed_file = "exposed.txt"
try:
# Ejecutar el comando cURL para obtener las URLs del dominio
subprocess.run([
"curl", "-G", "https://web.archive.org/cdx/search/cdx",
"--data-urlencode", f"url=*.{domain}/*",
"--data-urlencode", "collapse=urlkey",
"--data-urlencode", "output=text",
"--data-urlencode", "fl=original",
"-o", output_file
], check=True)
print("Búsqueda completada. Filtrando resultados...")
# Filtrar archivos con las extensiones deseadas
extensions = r'\.xls|\.xml|\.xlsx|\.json|\.pdf|\.sql|\.doc|\.docx|\.pptx|\.txt|\.zip|\.tar\.gz|\.tgz|\.bak|\.7z|\.rar|\.log|\.cache|\.secret|\.db|\.backup|\.yml|\.gz|\.config|\.csv|\.yaml|\.md|\.md5|\.exe|\.dll|\.bin|\.ini|\.bat|\.sh|\.tar|\.deb|\.rpm|\.iso|\.img|\.apk|\.msi|\.dmg|\.tmp|\.crt|\.pem|\.key|\.pub|\.asc'
with open(output_file, "r") as file, open(exposed_file, "w") as exposed:
for line in file:
if re.search(extensions, line):
exposed.write(line)
print(line.strip())
print(f"Filtrado completado. Resultados guardados en {exposed_file}.")
# Eliminar el archivo temporal
os.remove(output_file)
print("Archivo temporal eliminado.")
except subprocess.CalledProcessError as e:
print(f"Error al ejecutar el comando cURL: {e}")
except FileNotFoundError as e:
print(f"Archivo no encontrado: {e}")
if __name__ == '__main__':
domain = get_domain()
run_wayback_machine_search(domain)
Anonimato:
Last updated