Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: winnipu en 29 Noviembre 2015, 16:52 pm



Título: Tk Python generador routers
Publicado por: winnipu en 29 Noviembre 2015, 16:52 pm
Estoy intentando implementar un descifrador wep de routers antiguos huawei con una GUI tkinter. Pero hay algo que no hago bien cuando meto la cadena en un entry. Me da un error y no logro saber a que es debido. Trato de pasar el dato a base16 pero algo no estoy haciendo bien. Os paso el codigo completo a ver si alguien puede arrojar un poco de luz:

Código:
__author__ = 'winni'

from tkinter import *
from tkinter import messagebox

i=0;mac=[]

a0=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

a1=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

a2=0,13,10,7,5,8,15,2,10,7,0,13,15,2,5,8

a3=0,1,3,2,7,6,4,5,15,14,12,13,8,9,11,10

a4=0,5,11,14,7,2,12,9,15,10,4,1,8,13,3,6

a5=0,4,8,12,0,4,8,12,0,4,8,12,0,4,8,12

a6=0,1,3,2,6,7,5,4,12,13,15,14,10,11,9,8

a7=0,8,0,8,1,9,1,9,2,10,2,10,3,11,3,11

a8=0,5,11,14,6,3,13,8,12,9,7,2,10,15,1,4

a9=0,9,2,11,5,12,7,14,10,3,8,1,15,6,13,4

a10=0,14,13,3,11,5,6,8,6,8,11,5,13,3,0,14

a11=0,12,8,4,1,13,9,5,2,14,10,6,3,15,11,7

a12=0,4,9,13,2,6,11,15,4,0,13,9,6,2,15,11

a13=0,8,1,9,3,11,2,10,6,14,7,15,5,13,4,12

a14=0,1,3,2,7,6,4,5,14,15,13,12,9,8,10,11

a15=0,1,3,2,6,7,5,4,13,12,14,15,11,10,8,9

n1=0,14,10,4,8,6,2,12,0,14,10,4,8,6,2,12

n2=0,8,0,8,3,11,3,11,6,14,6,14,5,13,5,13

n3=0,0,3,3,2,2,1,1,4,4,7,7,6,6,5,5

n4=0,11,12,7,15,4,3,8,14,5,2,9,1,10,13,6

n5=0,5,1,4,6,3,7,2,12,9,13,8,10,15,11,14

n6=0,14,4,10,11,5,15,1,6,8,2,12,13,3,9,7

n7=0,9,0,9,5,12,5,12,10,3,10,3,15,6,15,6

n8=0,5,11,14,2,7,9,12,12,9,7,2,14,11,5,0

n9=0,0,0,0,4,4,4,4,0,0,0,0,4,4,4,4

n10=0,8,1,9,3,11,2,10,5,13,4,12,6,14,7,15

n11=0,14,13,3,9,7,4,10,6,8,11,5,15,1,2,12

n12=0,13,10,7,4,9,14,3,10,7,0,13,14,3,4,9

n13=0,1,3,2,6,7,5,4,15,14,12,13,9,8,10,11

n14=0,1,3,2,4,5,7,6,12,13,15,14,8,9,11,10

n15=0,6,12,10,9,15,5,3,2,4,14,8,11,13,7,1

n16=0,11,6,13,13,6,11,0,11,0,13,6,6,13,0,11

n17=0,12,8,4,1,13,9,5,3,15,11,7,2,14,10,6

n18=0,12,9,5,2,14,11,7,5,9,12,0,7,11,14,2

n19=0,6,13,11,10,12,7,1,5,3,8,14,15,9,2,4

n20=0,9,3,10,7,14,4,13,14,7,13,4,9,0,10,3

n21=0,4,8,12,1,5,9,13,2,6,10,14,3,7,11,15

n22=0,1,2,3,5,4,7,6,11,10,9,8,14,15,12,13

n23=0,7,15,8,14,9,1,6,12,11,3,4,2,5,13,10

n24=0,5,10,15,4,1,14,11,8,13,2,7,12,9,6,3

n25=0,11,6,13,13,6,11,0,10,1,12,7,7,12,1,10

n26=0,13,10,7,4,9,14,3,8,5,2,15,12,1,6,11

n27=0,4,9,13,2,6,11,15,5,1,12,8,7,3,14,10

n28=0,14,12,2,8,6,4,10,0,14,12,2,8,6,4,10

n29=0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3

n30=0,15,14,1,12,3,2,13,8,7,6,9,4,11,10,5

n31=0,10,4,14,9,3,13,7,2,8,6,12,11,1,15,5

n32=0,10,5,15,11,1,14,4,6,12,3,9,13,7,8,2

n33=0,4,9,13,3,7,10,14,7,3,14,10,4,0,13,9

key=30,31,32,33,34,35,36,37,38,39,61,62,63,64,65,66

ssid=[0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f']



def hex2dec(s):

    return (int)(s, 16)


ventana = Tk()
ventana.title("Password Wep Huawei")
ventana.geometry("300x200")
numero = StringVar()
etiqueta1 = Label(ventana, text="Introduce la MAC: ").place(x=20,y=20)
cajaNum = Entry(ventana, textvariable = numero).place(x=150,y=20)
boton = Button(ventana, text = "Calcular", command=hex2dec).place(x=20,y=150)
mac2=str(numero.get())

while i<12:

     mac.insert(i,hex2dec(mac2[i]));i=i+1

s1=(n1[mac[0]])^(a4[mac[1]])^(a6[mac[2]])^(a1[mac[3]])^(a11[mac[4]])^(n20[mac[5]])^(a10[mac[6]])^(a4[mac[7]])^(a8[mac[8]])^(a2[mac[9]])^(a5[mac[10]])^(a9[mac[11]])^5

s2=(n2[mac[0]])^(n8[mac[1]])^(n15[mac[2]])^(n17[mac[3]])^(a12[mac[4]])^(n21[mac[5]])^(n24[mac[6]])^(a9[mac[7]])^(n27[mac[8]])^(n29[mac[9]])^(a11[mac[10]])^(n32[mac[11]])^10

s3=(n3[mac[0]])^(n9[mac[1]])^(a5[mac[2]])^(a9[mac[3]])^(n19[mac[4]])^(n22[mac[5]])^(a12[mac[6]])^(n25[mac[7]])^(a11[mac[8]])^(a13[mac[9]])^(n30[mac[10]])^(n33[mac[11]])^11

s4=(n4[mac[0]])^(n10[mac[1]])^(n16[mac[2]])^(n18[mac[3]])^(a13[mac[4]])^(n23[mac[5]])^(a1[mac[6]])^(n26[mac[7]])^(n28[mac[8]])^(a3[mac[9]])^(a6[mac[10]])^(a0[mac[11]])^10

ya=(a2[mac[0]])^(n11[mac[1]])^(a7[mac[2]])^(a8[mac[3]])^(a14[mac[4]])^(a5[mac[5]])^(a5[mac[6]])^(a2[mac[7]])^(a0[mac[8]])^(a1[mac[9]])^(a15[mac[10]])^(a0[mac[11]])^13

yb=(n5[mac[0]])^(n12[mac[1]])^(a5[mac[2]])^(a7[mac[3]])^(a2[mac[4]])^(a14[mac[5]])^(a1[mac[6]])^(a5[mac[7]])^(a0[mac[8]])^(a0[mac[9]])^(n31[mac[10]])^(a15[mac[11]])^4

yc=(a3[mac[0]])^(a5[mac[1]])^(a2[mac[2]])^(a10[mac[3]])^(a7[mac[4]])^(a8[mac[5]])^(a14[mac[6]])^(a5[mac[7]])^(a5[mac[8]])^(a2[mac[9]])^(a0[mac[10]])^(a1[mac[11]])^7

yd=(n6[mac[0]])^(n13[mac[1]])^(a8[mac[2]])^(a2[mac[3]])^(a5[mac[4]])^(a7[mac[5]])^(a2[mac[6]])^(a14[mac[7]])^(a1[mac[8]])^(a5[mac[9]])^(a0[mac[10]])^(a0[mac[11]])^14

ye=(n7[mac[0]])^(n14[mac[1]])^(a3[mac[2]])^(a5[mac[3]])^(a2[mac[4]])^(a10[mac[5]])^(a7[mac[6]])^(a8[mac[7]])^(a14[mac[8]])^(a5[mac[9]])^(a5[mac[10]])^(a2[mac[11]])^7


messagebox.showinfo("ventana","La clave wep es: " + str(key[ya])+str(key[yb])+str(key[yc])+str(key[yd])+str(key[ye]))


ventana.mainloop()


Título: Re: Tk Python generador routers
Publicado por: tincopasan en 30 Noviembre 2015, 00:43 am
estaría bueno que pongas el error que da, así no hay que leer todo el código ni ejecutarlo.


Título: Re: Tk Python generador routers
Publicado por: winnipu en 30 Noviembre 2015, 07:23 am
Este es el error:

line 128, in <module>
    mac.insert(i,hex2dec(mac2));i=i+1
IndexError: string index out of range


Título: Re: Tk Python generador routers
Publicado por: tincopasan en 30 Noviembre 2015, 09:38 am
en mi escaso entender estás cometiendo dos errores grandes:
1- mac2 no vale nada por que se ejecuta antes de que le des algún valor con el entry
2- ... command=hex2dec  le pasas el comando, pero la función necesita un string que no tiene


Título: Re: Tk Python generador routers
Publicado por: winnipu en 30 Noviembre 2015, 11:59 am
Gracias tincopasan, la verdad que aun no me aclaro con como funcionan exactamente las entradas y como transferir los datos que ahi se introducen a cualquier funcion. Toca trabajar.