?>/script>'; } ?> ¿Cómo se puede mezclar 2 ó más diccionarios? Widgets Magazine

Autor Tema: ¿Cómo se puede mezclar 2 ó más diccionarios?  (Leído 32425 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Argos

  • Visitante
¿Cómo se puede mezclar 2 ó más diccionarios?
« en: 10-12-2011, 15:21 (Sábado) »
Hola

Soy bastante novato en esto, así que si la respuesta es demasiado obvia, pido disculpas por adelantado.

Dado que hay muchos diccionarios y que, tal como he leído en algún otro post, el pass más común sería el formado por un nombre y unos números (ej: juan1292), se me ha ocurrido la posibilidad de mezclar varios diccionarios: uno de nombres y otro de números y/o fechas. Mi duda es saber si es posible hacer algo así en vez de generar uno con 4 ó 5 letras aleatorias y 4 números para descartar claves poco probables (ej: qpdrk9021).

GRACIAS

ñandu

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #1 en: 10-12-2011, 17:23 (Sábado) »
espero que te sirva este video [ Invalid YouTube link ]

Desconectado drvalium

  • *******
  • Mensajes: 17370
  • Misántropo
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #2 en: 10-12-2011, 17:48 (Sábado) »
generadores de diccionarios hay muchos, yo me quedo con el "crunch"

de todas formas antes de empieces a perder el tiempo con una WPA te recomiendo que visites esta web y saques cálculos del tiempo que vas a necesitar y el tamaño del diccionario que quieres crear.

http://www.bitsdelocos.es/computo.php


un saludo

Argos

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #3 en: 11-12-2011, 14:45 (Domingo) »
Por eso pedía lo de la mezcla de diccionarios... para no subir demasiado el  nº de palaras descartando las menos posibles, ahora echaré un vistazo por esa pág.

GRACIAS  :D

alist3r

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #4 en: 11-12-2011, 15:21 (Domingo) »
no es una simple págna a la que echarle un vistazo. es una herramienta para tenerla siempre ahi, para saber, caso por caso, los datos del intento de auditoria que vas a hacer. tendrás que visitarla cuando tengas un caso específico del que quieras conocer los detalles antes de atacar.

Argos

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #5 en: 11-12-2011, 15:32 (Domingo) »
OK, entendido y añadido a marcadores.

Ya he visto la cantidad inmensa de info. necesaria para conseguir una clave por fuerza bruta

Pero mi pregunta es si es posible mezclar dos diccionarios por ej diccionario X = Nombres personales (Juan, Pedro, Luis; Antonio, etc) y el diccionario Y, el de fechas (030411973) para así reducir la cantidad de información.

Si me lpermites hacer una pequeña sugerncia el diccionario de fechas es fantástico, pero estaría bien el poder anular los 0 de los días y los meses por ej 040576 a 4576

Mi idea es poder crear un diccionario que coja "juan" como 1 solo dato y "4576" como otro solo dato

Perdonad si no me explico bien,

GRACIAS

alist3r

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #6 en: 11-12-2011, 17:54 (Domingo) »
si combinas dos diccionarios, no reduces la cantidad de informacion.
si combinas dos diccionarios, combinas su informacion (lógicamente).
así que multiplicas por dos la cantidad de informacion.

para la seguridad WPA y WPA2, el minimo son 8 caracteres, asi que el caso particular de las fechas sin el cero precedente no suele ser util en absoluto para este tipo de seguridad. piensa que si sacas los posibles ceros precedentes de una fecha, obtienes como resultado numeros menos de 8 digitos que no pueden usarse como contraseña de una red wifi protegida con WPA/WPA2

Chumpy

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #7 en: 11-12-2011, 18:03 (Domingo) »
Lo que argos propone es juntar las contraseñas de varios diccionarios diferentes pero como cadenas en lugar de como caracteres:
Si tenemos un diccionario de nombres con:

juan
pepe
luis

y un diccionarios de apellidos con:

fernandez
garrido
jimenez

los resultados serían:

juanfernandez
juangarrido
juanjimenez
pepefernandez
pepegarrido
pepejimenez
luisfernandez
luisgarrido
luisjimenez

además de posiblemente

fernandezjuan
fernandezpepe
fernendezluis
garridojuan
garridopepe
garridoluis
jimenezjuan
jimenezpepe
jimenezluis

Es eviente que este diccionario tendría más de 8 caracteres por contarseña y muchisimas menos convinaciones que un diccionario de 11-13 caracteres creado a partir de las letras adefgijlmnoprsuz que serían necesarias para incluir estas convinaciones.

Argos

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #8 en: 12-12-2011, 00:42 (Lunes) »
Lo que argos propone es juntar las contraseñas de varios diccionarios diferentes pero como cadenas en lugar de como caracteres:
Si tenemos un diccionario de nombres con:

juan
pepe
luis

y un diccionarios de apellidos con:

fernandez
garrido
jimenez

los resultados serían:

juanfernandez
juangarrido
juanjimenez
pepefernandez
pepegarrido
pepejimenez
luisfernandez
luisgarrido
luisjimenez

además de posiblemente

fernandezjuan
fernandezpepe
fernendezluis
garridojuan
garridopepe
garridoluis
jimenezjuan
jimenezpepe
jimenezluis

Es eviente que este diccionario tendría más de 8 caracteres por contarseña y muchisimas menos convinaciones que un diccionario de 11-13 caracteres creado a partir de las letras adefgijlmnoprsuz que serían necesarias para incluir estas convinaciones.

Exacto! GRACIAS Chumpy por explicarte mejor (o sea bien xd) por mí  ;)

La idea es esa, reducir las combinaciones combinando 2 o más diccionarios.

« Última modificación: 12-12-2011, 00:48 (Lunes) por Argos »

alist3r

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #9 en: 12-12-2011, 01:10 (Lunes) »
uno de los dos diccionarios tiene que tener, a lo sumo, solo unos dos, tres, o puede que cuatro nombres.
si no, es una locura total eh...

enseguida se dispararia la cosa fuera del rango de lo abarcable...

alist3r

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #10 en: 12-12-2011, 01:12 (Lunes) »
PD: creo que crunch puede hacer eso. mirad el manual de crunch.

Código: [Seleccionar]
man crunch

Drexxx

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #11 en: 12-12-2011, 01:42 (Lunes) »
No termino de entender como se pueden reducir las combinaciones.
Si un diccionario tiene 4 nombres, y otro tiene 3 apellidos, en total y por separado son 7 las posibles claves a pasarle al aircrack.
Si los combinamos, el resultado sería de un diccionario de 12 posibles claves...
En el ejemplo de Chumpy hay, por separado, 6 palabras (3+3).
Combinándolas, tendríamos 9 (3x3)

Quiero decir que si diccionario_nombres tiene 1000 nombres, y diccionario_apellidos tiene 1000 apellidos, el diccionario resultante tendría 1000x1000 = 1000000 de palabras, en lugar de las 2000 palabras por separado...

alist3r

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #12 en: 12-12-2011, 01:51 (Lunes) »
drexxx:
exacto. tal cual lo has explicado.

Argos

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #13 en: 12-12-2011, 02:25 (Lunes) »
A ver si consigo explicarme:
 Voy a poner el ej. de Drexxx
    Diccionario A → 4 nombres:  juan, iker, leo, xavi
    Diccionario B → 3 apellidos:  ruiz, Glez, Gª,
  El resultado mezclando los apellidos serían 12: juan ruiz, juan Glez, juan Gª, iker ruiz, iker Glez, iker Gª, leo ruiz, leo Glez, leo Gª, xavi ruiz, xavi Glez, xavi Gª (24 si tomamos el apellido 1º)

 Si esto mismo lo hago con un diccionario de los que yo uso, las posibilidades son bestiales porque serían combinaciones de 8 letras mayúsculas, minúsculas y 1 caracter especial (la "ª" en este caso); según la pág proporcionada por drvalium "El número de combinaciones posibles es: 62259690411361" y "El tamaño del diccionario es de: 560.34 TeraByte"

Lo que quiero es eso.. poder reducir de 62259690411361 a 12 posibilidades mediante la combinación de varios diccionarios pequeños pero efectivos, mezclando nombres propios con fechas por ej.

No sé si he conseguido explicarme.

GRACIAS

Drexxx

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #14 en: 12-12-2011, 02:42 (Lunes) »
Al final hice un script xDD
Sirve para combinar dos diccionarios de la forma que decís:

Código: [Seleccionar]
#!/bin/bash

flag_no_ceros=false
flag_salida=false
caracter_espacio=""

uso()
{
        echo "Uso: $0 [OPCIONES] <diccionario1> <diccionario2>"
        echo "  Lista de opciones:"
        echo "  -e, inserta espacio entre dos palabras"
        echo "  -h, muestra esta ayuda"
        echo "  -z, omite ceros en ambos diccionarios"
        echo "  -o, especifica archivo de salida."
        echo "      Salida estándard si se omite esta opción"
}

if [ $# -eq 0 ]
then
        uso
        exit 1
fi

while getopts "zeho:" Opcion
do
        case $Opcion in
                e)
                        caracter_espacio=" "
                        ;;
                h)
                        uso
                        exit 1
                        ;;
                z)
                        flag_no_ceros=true
                        ;;
                o)
                        salida=$OPTARG
                        flag_salida=true
                        ;;
                ?)
                        echo "opción $OPTARG no reconocida"
                        ;;
                :)
                        echo "opción $OPTARG requiere un argumento"
                        ;;
        esac
done

shift $(( OPTIND - 1 ))

if [ ! -e $1 ]
then
        echo "No se pudo encontrar $1"
        exit 1
fi

if [ ! -e $2 ]
then
        echo "No se pudo encontrar $2"
        exit 1
fi

for f1 in $(if [ $flag_no_ceros == true ]
        then
                cat $1|tr -d "0"
        else
                cat $1
        fi)
do
        for f2 in $(if [ $flag_no_ceros == true ]
                then
                        cat $2|tr -d "0"
                else
                        cat $2
                fi)
        do
                if [ $flag_salida == true ]
                then
                        echo $f1$caracter_espacio$f2 >> $salida
                else
                        echo $f1$caracter_espacio$f2
                fi
        done
done

Ejemplo de uso:
Código: [Seleccionar]
$ ./mezcladicc.sh
Uso: ./mezcladicc.sh [OPCIONES] <diccionario1> <diccionario2>
  Lista de opciones:
  -e, inserta espacio entre dos palabras
  -h, muestra esta ayuda
  -z, omite ceros en ambos diccionarios
  -o, especifica archivo de salida.
      Salida estándard si se omite esta opción

Diccionarios de ejemplo:
Código: [Seleccionar]
$ cat diccnombres
juan
pepe
manuel
jose
Código: [Seleccionar]
$ cat diccconceros
010203040506
456456744474
244324002452

Salida por pantalla eliminando ceros y con espacio en blanco entre palabras:
Código: [Seleccionar]
$ ./mezcladicc.sh -z -e diccnombres diccconceros
juan 123456
juan 456456744474
juan 2443242452
pepe 123456
pepe 456456744474
pepe 2443242452
manuel 123456
manuel 456456744474
manuel 2443242452
jose 123456
jose 456456744474
jose 2443242452

Salida a un archivo sin eliminar ceros:
Código: [Seleccionar]
$ ./mezcladicc.sh -o salida diccnombres diccconceros
$ cat salida
juan010203040506
juan456456744474
juan244324002452
pepe010203040506
pepe456456744474
pepe244324002452
manuel010203040506
manuel456456744474
manuel244324002452
jose010203040506
jose456456744474
jose244324002452

etc.
Creo que ya te entendí Argos. En comparación con el método por fuerza bruta, esta es una alternativa mucho mejor.
No sé hasta que punto aguantará el script con diccionarios grandes... pero espero que te sirva.
Ya sabes, copias a un fichero, das permisos de ejecución (chmod +x) y lo ejecutas.
Cualquier error o sugerencia, me avisas.
Ah! La opción "-o" no la pongas al final. No sé aún por qué no la acepta.
Quiero decir, no hagas esto:
Código: [Seleccionar]
./mezcladicc.sh dicc1 dicc2 -o salidaSino esto:
Código: [Seleccionar]
./mezcladicc.sh -o salida dicc1 dicc2
« Última modificación: 12-12-2011, 02:43 (Lunes) por Drexxx »

Argos

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #15 en: 12-12-2011, 02:46 (Lunes) »
XDDDDDDDDDD

¡Qué máquinaaaaa!

De verdad, ya lo he dicho más veces y suena a peloteo, pero sois unos CRACKS

MIL GRACIAS! ;)

--------------
Editado:

PD: Para los que lean este post después, Mirad las horas de los post; ha tardado cerca de 15 minutos en hacerlo y probarlo (menos que yo en formular la pregunta xDDD)
« Última modificación: 12-12-2011, 02:58 (Lunes) por Argos »

Chumpy

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #16 en: 12-12-2011, 02:55 (Lunes) »
Hay gente que cuando no entiende algo lo vuelve a leer, gente que cuando no entiende algo se hace un esquema, gente que cuando no entiende algo se hace un diagrama y Drexxx, que cuando no entiende algo se hace un script  ???

Gracias por el curro!  >:(
Con gente así da gusto!!!!

PD.: Si te aburres mucho tengo algunas ideas para ampliar el script y convertirlo en un "Editor de Diccionarios". ;)

Drexxx

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #17 en: 12-12-2011, 03:04 (Lunes) »
Argos, mil denadas!

Si con este método consigues resultados, avisa!
Yo todavía soy un poco escéptico, pero si te resulta útil, genial.

Chumpy, no es que me aburra. Tengo que estudiar mogollón. Esto va para algunos ratos libres. Domingos por la noche sobre todo xDDD
Pero como ves, el script es sencillo, y disponible para todo el que quiera modificarlo y/o mejorarlo.
Si tienes ideas proponlas, y si no las implemento yo, ya las implementará otro que tenga ganas.
De todas formas sigo insistiendo. ¿Qué os dice que este método es bueno? Porque el diccionario resultante podría llegar a ser enooooooooooorme, no tanto como por fuerza bruta, está claro. Pero sí lo suficiente como para ser inviable...

Por cierto, añado una pequeña corrección:
Código: [Seleccionar]
#!/bin/bash

flag_no_ceros=false
flag_salida=false
caracter_espacio=""

uso()
{
        echo "Uso: $0 [OPCIONES] <diccionario1> <diccionario2>"
        echo "  Lista de opciones:"
        echo "  -e, inserta espacio entre dos palabras"
        echo "  -h, muestra esta ayuda"
        echo "  -z, omite ceros en ambos diccionarios"
        echo "  -o, especifica archivo de salida."
        echo "      Salida estándard si se omite esta opción"
}

if [ $# -eq 0 ]
then
        uso
        exit 1
fi

while getopts "zeho:" Opcion
do
        case $Opcion in
                e)
                        caracter_espacio=" "
                        ;;
                h)
                        uso
                        exit 1
                        ;;
                z)
                        flag_no_ceros=true
                        ;;
                o)
                        salida=$OPTARG
                        flag_salida=true
                        ;;
                ?)
                        echo "opción $OPTARG no reconocida"
                        ;;
                :)
                        echo "opción $OPTARG requiere un argumento"
                        ;;
        esac
done

shift $(( OPTIND - 1 ))

if [ -z $1 ]||[ -z $2 ]
then
        echo "Faltan argumentos"
        exit 1
fi

if [ ! -e $1 ]
then
        echo "No se pudo encontrar $1"
        exit 1
fi

if [ ! -e $2 ]
then
        echo "No se pudo encontrar $2"
        exit 1
fi

for f1 in $(if [ $flag_no_ceros == true ]
        then
                cat $1|tr -d "0"
        else
                cat $1
        fi)
do
        for f2 in $(if [ $flag_no_ceros == true ]
                then
                        cat $2|tr -d "0"
                else
                        cat $2
                fi)
        do
                if [ $flag_salida == true ]
                then
                        echo $f1$caracter_espacio$f2 >> $salida
                else
                        echo $f1$caracter_espacio$f2
                fi
        done
done

PD: Para los que lean este post después, Mirad las horas de los post; ha tardado cerca de 15 minutos en hacerlo y probarlo (menos que yo en formular la pregunta xDDD)
No no... tardé bastante más de 15 minutos! xD
No es nada del otro mundo, ni mucho menos. Cualquiera que esté familiarizado con bash lo haría más o menos rápido.
« Última modificación: 12-12-2011, 03:10 (Lunes) por Drexxx »

Argos

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #18 en: 12-12-2011, 03:18 (Lunes) »
OK, yo por mi parte lo probaré y ya te cuento.

Lo de los ceros está muy bien, pero creo que habría que modificarlo en el generador de fechas de _alister_ para quitar los 0 de los meses y los días y no de los años

Es más fácil que escojamos como pass un nombre y una fecha sin 0's en el año (Ej Jaime3801 en vez de jaime030801 o jaime03082001)

Lo dicho, increíble tío... has tardado menos en leer mi mensaje, pensarlo, ponerte con el script, terminarlo y probarlo que yo en explicarme xDDDDD

Salu2

alist3r

  • Visitante
Re: ¿Cómo se puede mezclar 2 ó más diccionarios?
« Respuesta #19 en: 12-12-2011, 12:40 (Lunes) »
ahora entiendo eso de "reducir combinaciones"
lo que en realidad pretendeis es pasar de un diccionario hecho para fuerza bruta sin refinar, a otro con un refinamiento humano en forma de nombres propios, de ahi vuestra expresion "reducir posibilidades".

joer, es que habeis mezclado dos tipos de diccionario diferentes en los conceptos, no entendia nada, ahora si xD

diccionario para bruteforcing sin criterio alguno ==> AAAAA, AAAAB, AAAAC... etc.
diccionario para atacar bajo un criterio humano, como por ejemplo nombres ==> luis, javier, jose... etc. (tambien se les llamaria de fuerza bruta, pero con un "refinamiento", usando algun criterio como "algoritmo"... aunque las listas de palabras elegidas por humanos nunca tendrán un algoritmo, pero es por llamarlo de alguna manera.