Script generador de URL .onion

Aver, no se que tan legal sea esto o si el foro me vaya a eliminar la publicación pero he creado un un generador de url .onion que como sabran lleva a sitios de la deep web o darkweb. Todavia mi script no lleva a ninguna web en especifico y por eso lo publico aqui, me gustaria recibir ayuda de como mejorar mi script para que por lo menos suba la probabilidades de que salga una web.

import random
import os
from nacl.signing import SigningKey
import hashlib
import base64

def genere_link():
    sk = SigningKey.generate()
    vk = sk.verify_key.encode()

    version = b'\x03'
    prefix = b".onion checksum"

    chksum = hashlib.sha3_256(prefix + vk + version).digest()[:2]
    onion_bytes = vk + chksum + version

    onion_addr = base64.b32encode(onion_bytes).decode('ascii').lower().strip('=')

    return onion_addr + ".onion"

def main():

    proxies = {'http': 'socks5h://localhost:9050', 'https': 'socks5h://localhost:9050'}

    
    while True:

        link = genere_link()

        os.system(f"curl -x socks5h://localhost:9050 {link}")

if __name__ == "__main__":
    main()

Explico por encima lo que hace este script:

1 - Genera una clave publica y despues la transforma en un objecto VerifyKey.

2 - Despues de calcula el checksum concatenado “.onion checksum” y la version 3 de la hidden service con la clave publica previamente creada y se toma los primeros 2 bytes del hash como checksum.

3 - Ya para terminar se construye los bytes sumando el VerifyKey mas el checksum mas la version para ahora si codificarlos en base32 saltandose el padding y en minusculas.

4 - Para comprobar las urls que se genera lo que hice fue iniciar tor como servicio y obviamente usar protonvpn para mandar solicitud con curl (trate de usar la libreria requests pero no funciono)

Tuve corriendo este script por mas o menos 30 minutos y no salio nada, no se si es bueno o malo eso. Les vengo a pedir ayuda para mejorar el rendimiento y cualquier falla que me haya pasado y como puedo hacer que mande peticiones si tener que usar curl. Se perfectamente los riesgo que conlleva esto asi que no pierdan el tiempo en advertirme de que no lo haga. Me intereso mucho este mundo de la criptografia, es interesante.

Gracias por leer.

1 me gusta

No se probabilisticamente que tan posible sea que encuentre una página en un tiempo determinado, pero en caso de que pueda encontrar algo con frecuencia definitivamente seria espectacular :ok_hand:.

No es viable, es lo análogo a un ataque de fuerza bruta para una contraseña muy grande. Las combinaciones son tan grandes que si llega a salir una web valida vas a necesitar años o siglos con un super computador.

1 me gusta

Pensé lo mismo, pero no tengo claridad de las magnitudes y por ello no lo dije.

Bueno pensandolo asi es verdad, cada url se genera cada 5 segundos o algo asi, no tengo medido el tiempo. Y desde el punto de vista de los de que oculta la url no tiene sentido usar un generador de url con un algoritmo tan facil de descifrar y por eso ya ni se usa la version 2 de la hidden service que debes de ser de 56 caracteres son 12.

1 me gusta