Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: AngelFire en 8 Octubre 2017, 07:57 am



Título: Wordlist Pyhon
Publicado por: AngelFire en 8 Octubre 2017, 07:57 am
Alguien me ayuda en el siguiente codigo creado en python a eliminar salidas de 5 consonantes [bcdfghjklmnpqrstvwxyz] continuas, asi como cualquier otra optimizacion basica que consideren enfocado a fuerza bruta pero no tan bruta ya que  se intenta excluir las combinaciones poco probables, de repeticiones tipo aaaaaaaa o 5 a mas consonantes continuas.

Saludos

Lo necesito para luego hacer algo como:
#python wordlist.py | aircrack-ng -a 2 -e AP AP-01.cap -w -

Código:
#Wordlist Alpha desarrollado en Python by AngelFire
#-----------------------Caracteristicas--------------------------------------------------
#Genera salida de 8 caracteres.
#Se ignoran las combinaciones:
# -que terminan en b,c,f,g,h,j,k,m,p,q,t,v,w,x.
# -de 2 caracteres repetidos continuos; exclusiones
#   a considerar(rr, ll, 11, 22, 33, 44, 55, 66, 77, 88, 99, 00)
#Considerar sustituciones de tipos:
#a=@ or A=4
#e=3
#i=1
#o=0
#s=5
#a la hora de crear el char.
#Sustituir en char los caracteres a combinar.
char = 'abcdefghijklmnopqrstuvwxyz'
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
g = 0
h = 0
#abcdefgh ---> 8 CARACTERES
for a in range(len(char)):
#bcdefgh  ---> 7 CARACTERES
for b in range(len(char)):
if char[a]!=char[b]:
#cdefgh   ---> 6 CARACTERES
for c in range(len(char)):
if char[b]!=char[c]:
#defgh    ---> 5 CARACTERES
for d in range(len(char)):
if char[c]!=char[d]:
#efgh     ---> 4 CARACTERES
for e in range(len(char)):
if char[d]!=char[e]:
#fgh      ---> 3 CARACTERES
for f in range(len(char)):
if char[e]!=char[f]:
#gh       ---> 2 CARACTERES
for g in range(len(char)):
if char[f]!=char[g]:
#h        ---> 1 CARACTERES
for h in range(len(char)):
low = char[a]+char[b]+char[c]+char[d]+char[e]+char[f]+char[g]+char[h]
if char[g]!=char[h]:
if char[h]!= 'b':
if char[h]!= 'c':
if char[h]!= 'f':
if char[h]!= 'g':
if char[h]!= 'h':
if char[h]!= 'j':
if char[h]!= 'k':
if char[h]!= 'm':
if char[h]!= 'p':
if char[h]!= 'q':
if char[h]!= 't':
if char[h]!= 'v':
if char[h]!= 'w':
if char[h]!= 'x':
print (low)



Título: Re: Wordlist Pyhon
Publicado por: engel lex en 8 Octubre 2017, 08:08 am
Código
  1. import re
  2.  
  3. patron = ".*[bcdfghjklmnpqrstvwxyz]{5,}.*"
  4. if re.match(texto, patron):
  5.  print("hay 5 o más consonantes seguidas")
  6.  

Creo que eso debería lograrlo, sin mayor conflicto


Título: Re: Wordlist Pyhon
Publicado por: PUAROT en 8 Octubre 2017, 10:22 am
Como bien te dice :
Código
  1. import re
  2.  
  3. patron = ".*[bcdfghjklmnpqrstvwxyz]{5,}.*"
  4. if re.match(texto, patron):
  5.  print("hay 5 o más consonantes seguidas")
  6.  

Creo que eso debería lograrlo, sin mayor conflicto

Solo, una pequeña puntualización... 
Código
  1. if re.match(patron, texto):
  2.  print("hay 5 o más consonantes seguidas")
  3.  
Primero tienes que poner el patron y luego el texto


Título: Re: Wordlist Pyhon
Publicado por: engel lex en 8 Octubre 2017, 10:48 am
Como bien te dice :
Solo, una pequeña puntualización... 
Código
  1. if re.match(patron, texto):
  2.  print("hay 5 o más consonantes seguidas")
  3.  
Primero tienes que poner el patron y luego el texto

jejeje cierto! lo hice de mente y se me pasó eso


Título: Re: Wordlist Pyhon
Publicado por: AngelFire en 8 Octubre 2017, 22:00 pm
Listo, me dejan sin palabras, muchas gracias quedo asi. Cualquier otra optimizacion pensada en la salida y en condiciones poco probables es bienvenida.

Código:
#Wordlist Alpha desarrollado en Python by AngelFire
#-----------------------Caracteristicas--------------------------------------------------
#Genera salida de 8 caracteres.
#Se ignoran las combinaciones:
# -que terminan en b,c,f,g,h,j,k,m,p,q,t,v,w,x.
# -de 2 caracteres repetidos continuos; exclusiones
#   a considerar(rr, ll, 11, 22, 33, 44, 55, 66, 77, 88, 99, 00)
# -de 4 caracteres consonantes continuos; exclusiones
#   a considerar en 3 caracteres(palabras que terminan en consonante
#   y su adyacente comienza por 2 consonantes)
import re
#Cantidad de constantes que no se desean continuas. En este caso 4.
patron = ".*[bcdfghjklmnpqrstvwxyz]{4,}.*"
#Considerar sustituciones de tipos:
#a=@ or A=4, e=3, i=1, o=0, s=5, a la hora de crear el char.
#Sustituir en char los caracteres a combinar.
char = 'abcdefghijklmnopqrstuvwxyz'
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
g = 0
h = 0
i = 0
#abcdefgh ---> 8 CARACTERES
for a in range(len(char)):
#bcdefgh  ---> 7 CARACTERES
for b in range(len(char)):
if char[a]!=char[b]:
#cdefgh   ---> 6 CARACTERES
for c in range(len(char)):
if char[b]!=char[c]:
#defgh    ---> 5 CARACTERES
for d in range(len(char)):
if char[c]!=char[d]:
#efgh     ---> 4 CARACTERES
for e in range(len(char)):
if char[d]!=char[e]:
#fgh      ---> 3 CARACTERES
for f in range(len(char)):
if char[e]!=char[f]:
#gh       ---> 2 CARACTERES
for g in range(len(char)):
if char[f]!=char[g]:
#h        ---> 1 CARACTERES
for h in range(len(char)):
low = char[a]+char[b]+char[c]+char[d]+char[e]+char[f]+char[g]+char[h]
if char[g]!=char[h]:
if char[h]!= 'b':
if char[h]!= 'c':
if char[h]!= 'f':
if char[h]!= 'g':
if char[h]!= 'h':
if char[h]!= 'j':
if char[h]!= 'k':
if char[h]!= 'm':
if char[h]!= 'p':
if char[h]!= 'q':
if char[h]!= 't':
if char[h]!= 'v':
if char[h]!= 'w':
if char[h]!= 'x':
if re.match(patron, low):
  i=i+1
else:
print (low)



Título: Re: Wordlist Pyhon
Publicado por: engel lex en 8 Octubre 2017, 22:21 pm
Tener tantos for anidados no es eficiente par que el primer for llegué a b la línea Donde se asigna low habrá sido ejecutada 282.429.536.481 veces por eso para ese tipo de cosa no se usan tanto ciclos, sino fórmulas matemáticas tal que los ciclos se hagan en casos excepcionales