Seguridad Wireless - Wifi
Sistemas operativos => Zona GNU/Linux => Aplicaciones y diccionarios linux => Mensaje iniciado por: dieder en 10-10-2011, 11:39 (Lunes)
-
Hola! quisiera saber como se puede guardar un diccionario tras haberlo "generado". Utilizo Python...Pero tras haberlo generado, no me sale ningun archivo.
Utilizo este script:
#!/usr/bin/python
#
# :: Invasion Tux
# :: Ultima modificacion : miercoles, 14 de enero de 2009
# :: Script realizado por makiolo (makiolo@gmail.com) (Licencia Creative Commons con reconocimiento)
# :: Ultima version : http://blogricardo.wordpress.com/2008/12/28/script-para-generar-diccionarios-de-fuerza-bruta/
# :: Dependencias : python
#
import sys, math
from time import time, localtime, strftime
########################### CONFIGURACION #########################
LONGITUD = 6
ALFABETO = "abcdefghijklmnopqrstuvw***0123456789_-."
####################################################################
########################## FUNCIONES ###############################
def getVariacionesConRepeticion(ALFABETO , LONGITUD):
sumatorio = 0
for i in range(LONGITUD):
producto = 1
for j in range(i+1):
producto = producto * len(ALFABETO)
sumatorio = sumatorio + producto
return sumatorio
def eventoPalabraGenerada(palabra):
print palabra
####################################################################
##################### VARS AUXILIARES ##############################
DEBUG = True
VERBOSE = True
variacionesConRepeticion = getVariacionesConRepeticion(ALFABETO , LONGITUD)
inicioReloj = time()
cont = 0
progreso = 0
####################################################################
while LONGITUD > 0:
try:
contadores = [] # ponemos los contadores a 0
for i in range(LONGITUD):
contadores.append(0)
fin = False
while not fin:
if DEBUG == True:
palabra=[] # Creas una lista vacia (y liberas de paso)
for i in range(LONGITUD):
palabra.append(ALFABETO[contadores]) # Vas metiendo al final letra a letra
eventoPalabraGenerada("".join(palabra)) # Envias a tu callback tada la lista unida
if VERBOSE == True:
if (cont % 600000 == 0) and (cont != 0):
progreso = cont*100.0/variacionesConRepeticion # porcentaje hasta ahora
progreso = round(progreso , 2)
finReloj = time() - inicioReloj # finReloj es lo que esta tardando el calculo
velocidad = cont / finReloj # palabras procesadas por segundo
velocidad = round(velocidad , 2)
estimado = finReloj * variacionesConRepeticion / cont # es lo que se estima en realizar todo el proceso
restante = estimado - finReloj # es lo que se estima en realizar lo restante
restante = restante / 60 / 60 # lo pasamos a horas
restante = round(restante , 2)
sys.stderr.write(str(progreso)+"% - Quedan "+str(restante)+" horas. La velocidad es de "+str(velocidad)+" palabras/seg\n")
cont = cont + 1
actual = LONGITUD - 1 # Pongo actual a la derecha del todo
contadores[actual] = contadores[actual] + 1 # Sumo 1 a las unidades
while(contadores[actual] == len(ALFABETO)) and not fin: # Propago el carry
if(actual == 0):
fin = True # FIN
else:
contadores[actual] = 0 # reinicia el actual contador
actual = actual - 1 # avanza a la izquierda
contadores[actual] = contadores[actual] + 1 # y le sumo 1
LONGITUD = LONGITUD - 1 # combinaciones para uno menos
except KeyboardInterrupt:
sys.stderr.write("Interrumpido por el usuario\n")
fin = True # Fuerzo las condiciones de salida
LONGITUD = 0
if VERBOSE == True:
sys.stderr.write("Terminado al "+str(progreso)+"% - Realizadas "+str(cont)+" combinaciones de "+str(variacionesConRepeticion)+"\n")
Gracias! ;)
-
no veo claro en el código de ese script cómo hace para guardar el supuesto archivo.
si el código no estuviera pensado para eso, entonces seria normal que no te generase archivo alguno.
no se de donde sacaste el script, pero no es uno de los programas que nosotros incluimos/recomendamos junto a wifiway.
prueba crunch, es mucho mas simple. ya viene en wifiway. no se necesita nada mas.
otra cosa:
Para el diccionario que intenta crear ese script ( con 6 caracteres y con un charset = abcdefghijklmnopqrstuvw***0123456789_-.), se corresponden los siguientes cálculos que creo que debes conocer antes de hacer una locura:
El número de combinaciones posibles es: 3.518.743.761
El tamaño del diccionario es de: 24.63 GigaBytes
Tiempo estimado en procesar el diccionario (800 claves por segundo en aircrack): 50.91 días
solo para que lo sepas :-P
-
No uso esas "variables" jaja
-
bueno.
pues lo dicho.
deja ese script y usa algo mas extendido, así podremos ayudarte en caso de problemos.
insisto en que uses el crunch de bofh28, que va de fabula y su sistema de plantillas es potente y flexible.