Vous êtes sur la page 1sur 14

Garaje 4 hackers http://www.garage4hackers.

com

Cracking saladas Hashes

Seguridad de Aplicaciones Web: - El hacer y no hacer de “La sal de criptografía”

Visión de conjunto:

Base de Datos de seguridad se ha vuelto más crítica como bases de datos se han vuelto más abierta. Y cifrado que es uno de los cinco

factores básicos de seguridad de la base de datos.

Es una práctica insegura para mantener sus datos sensibles como contraseña, tarjeta de crédito, etc sin cifrar en su base de datos. Y este

trabajo abarcará las diversas opciones disponibles y Criptografía hacer y no hacer de ellos.

Incluso si usted ha cifrado sus datos eso no quiere decir que sus datos están totalmente de asegurados, y este documento se tratarán en

una perspectiva atacante.

Criptografía listón.

http://en.wikipedia.org/wiki/Salt_(cryptography)

Supongamos contraseña hash de un usuario es robada y que se conoce el uso de una de 200.000 palabras en Inglés como su contraseña. El

sistema utiliza una sal de 32-bit. La clave salada es ahora la contraseña original anexa a esta sal 32-bit aleatorio. A causa de esta sal, hashes

precalculados del atacante no tienen ningún valor (tabla del arco iris falla). Se debe calcular el hash de cada palabra con cada uno de 232

(4,294,967,296) posibles sales anexas hasta que se encuentre una coincidencia. El número total de posibles entradas se puede obtener

multiplicando el número de palabras en el diccionario con el número de posibles sales:

2 ^ {32} \ times 200 000 = 8.58993459 \ times 10 ^ {14}

Para completar un ataque de fuerza bruta, el atacante debe calcular ahora casi 900 trillón hashes, en lugar de solamente 200.000. A pesar

de que la propia contraseña es conocida por ser simple, la sal secreto hace romper la contraseña cada vez más difícil.

Bueno y la sal se supone que es secreto, para ser simple si el atacante sabe que la sal se utiliza a continuación, que sería volver de nuevo al paso uno.

Así que a continuación enumeramos son algunas de las formas posibles que puede utilizar para romper hashes salados.

FB1H2S http://www.fb1h2s.com Página 1


Garaje 4 hackers http://www.garage4hackers.com

Aplicación que no utiliza hashes criptográficos:

Mientras que la auditoría de una aplicación web me encontré con este pedazo de programa. Se utiliza java script para cifrar la contraseña del
usuario antes de enviar. Y una sal también se utilizó, y la sal usada fue la corriente ID de sesión.

onclick = "javascript: document.frm.id.value = 'usuario';

document.frm.passwd.value = 'valor';

this.form.passwd.value = (hex_md5 ( 'CC6AB28BA9FAD121184B09E00F1DD6E7' + this.form.passwd.value));

this.form.submit ();

Donde “CC6AB28BA9FAD121184B09E00F1DD6E7”.

Así, en el programa Back End:

No habría ningún camino para el programa de fondo para verificar el valor de la contraseña, como la sal se utiliza y es el identificador de sesión aleatoria. Y como

la función de hash MD5 son no reversibles función, la contraseña no puede ser verificada a menos que y hasta que las contraseñas se guardan como texto claro

en la Base de Datos.

La sal que se usa para cifrar la contraseña antes de enviarla al azar fueron los identificadores de sesión generadas. Eso significa que las bases de datos

back-end son ninguna manera encriptada.

Algún tiempo este tipo de codificación regala una gran cantidad de información.

Punto NO 1: Siempre cifrar y guardar su base de datos de contraseñas.

Los valores hash de pizarra.

Recientemente me encontré con una enorme base de datos de un conocido! @ # $$ il [Cifrado] ☺, la base de datos contenía Email-IDs y contraseñas
que hay alternativas, pero por desgracia se encripta las contraseñas y estaba en formato hash, “Buenas Prácticas”. Por lo que el siguiente trabajo sería
en lo que respecta a la forma en que se quebró los hashes.

Rompiendo los hashes:


La forma en pocos posible descifrar contraseñas hash son:
1) El algoritmo utilizado para hash debe tener algunos defectos y hashes debe ser reversible

2) O que va a tener a la fuerza bruta de los hashes con una lista de palabras del diccionario o tablas del arco iris.

3) O simplemente si tiene privilegios de actualización sobre esa base de datos de actualización con valor hash de una contraseña
conocimientos.

Por todos estos ataques a trabajar lo que necesita saber qué algoritmo de hash de los se calculan.

FB1H2S http://www.fb1h2s.com Página 2


Garaje 4 hackers http://www.garage4hackers.com

Entonces, ¿qué es que usted podría hacer para averiguar el algoritmo de hash utilizado ??

Respuesta: Todos los algoritmos generan un valor hash de longitud fija, por lo que en base a la salida se podría estimar qué algoritmo se utilizó ☺. “Bueno,

todas estas cosas se saben bastante hechos”, pero todavía estoy poniendo aquí.

Para ello estoy poniendo aquí una pequeña hoja de trucos para averiguar las funciones hash a partir de la salida.

Idioma:
PHP ÁSPID JAVA

Algoritmo:

Función: MD5 ( “entrada”); Función: System.Security.Cryptogr aphy Función: java.secur


Hash ( “input”); ity.MessageDigest

MD5
Salida: 32 Char Salida: 32 Char
Salida: 32 Char
Ex: Ex:
“Eb882cf99 5f4dcc3b5aa765d61d8327d” “Eb882cf99 5f4dcc3b5aa765d61d8327d” Ej: “8327deb882cf99
5f4dcc3b5aa765d61d”

Función: Cripta () ““ ““

Sal + Crypto Por defecto su DES

Salida: 13 Char

Ej: “sih2hDu1acVcA”

Y Lot otros:

Fuente original: http://www.insidepro.com/eng/passwordspro.shtml

FB1H2S http://www.fb1h2s.com Página 3


Garaje 4 hackers http://www.garage4hackers.com

FB1H2S http://www.fb1h2s.com Página 4


Garaje 4 hackers http://www.garage4hackers.com

FB1H2S http://www.fb1h2s.com página 5


Garaje 4 hackers http://www.garage4hackers.com

Bueno espero que esta tabla de referencia podría ser de ayuda para usted algún tiempo.

Y estos los hashes que tenía que romper hashes donde “13” Chars. Por lo que era evidente que mi forma de tabla que se basaba en función de

PHP cripta.

Un simple paseo a través de la cripta de la función PHP:

1) Es un algoritmo de control que se lleva en una “cadena” y una “sal” y encripta los hashes.

2) Y por defecto que utiliza “DES” para cifrar los hashes.

FB1H2S http://www.fb1h2s.com página 6


Garaje 4 hackers http://www.garage4hackers.com

Considere la Ex:

<? Php
$ contraseña = cripta ( 'contraseña' );

?>

Hashes: laAsfestWEiq1

Aquí los hashes de contraseñas generadas sería sobre la base de una sal azar 2 dígitos.

O podríamos proporcionar a nuestro consumo de sal.

<? Php
$ contraseña = cripta ( 'Contraseña', 'sal' );

?>

hashes: sih2hDu1acVcA

Y el código de verificación de la contraseña comparación sería de la siguiente manera:

Si ( cripta ( $ user_password , $ contraseña ) == $ contraseña ) { eco "Contraseña correcta" ; }

?>

En cualquiera de los casos la sal se añade con los valores hash, la propiedad de DES. Así como he mencionado anteriormente la seguridad de la

criptografía sal está en el hecho de que la sal es desconocida para el cracker. Pero aquí no lo es. Bien con esta pieza básica de información, que era

fácil de descifrar los hashes que tenía en mis manos ☺.

Y todos los hashes estaban rotas con facilidad, todo lo que tengo que hacer era cargar un diccionario de contraseñas comunes y agregarlo con la

sal constante, y hacer mi trabajo.

FB1H2S http://www.fb1h2s.com página 7


Garaje 4 hackers http://www.garage4hackers.com

Tenga en cuenta los programas de Hash / sal dados con los siguientes casos.

Sal / algoritmo de hash con sal constante:

$ contraseña = $ password_input ; //entrada del usuario

$ salada = "salado" ;
$ contraseña = MD5 (. $ Salt $ contraseña); // guardado en MD5 db (saltedpassword)

hashes: 1423de37c0c1b63c3687f8f1651ce1bf

Sal: sal

En este programa de una sal constante se utiliza por lo tanto, la sal no se guarda en la base de datos. Así que nuestros valores hash objeto
de dumping no va a tener el valor de sal.

Para la verificación de este tipo de algoritmos que necesitamos para tratar las siguientes cosas.

1) Trate de crear un nuevo usuario mediante la aplicación de destino.

2) Volcar los datos de nuevo y comprobar qué algoritmo se utiliza mediante los métodos anteriores
métodos mencionados.

3) Tenga en cuenta la nueva contraseña añadida fue MD5 “password” ( 'contraseña') ==

“5f4dcc3b5aa765d61d8327deb882cf99”, en cambio si el valor actualizado fue “ 1423de37c0c1b63c3687f8f1651ce1bf ”Dice que


se utiliza una sal y es una constante que no parece que pueda ser añadido con los hashes finales.

Cracking la sal:

Ahora, para romper esto, lo único que podría hacer es una fuerza bruta los hashes para averiguar cuál es la sal, por ejemplo:

Y una vez que conocemos la sal anexar con cada contraseña, comprobamos y crack.

Sabemos :

MD5 ( 'contraseña') == “ 5f4dcc3b5aa765d61d8327deb882cf99”

Ahora la pregunta es

MD5 ( 'contraseña' + “???? QUÉ ????”) ===

“ 1423de37c0c1b63c3687f8f1651ce1bf ”

FB1H2S http://www.fb1h2s.com página 8


Garaje 4 hackers http://www.garage4hackers.com

Nota: Nunca use una sal constante para todos los valores hash:

“Si se utiliza misma sal constante para todos los valores hash entonces sería fácil de descifrar todos los hashes”

Así que el punto NO2: Si su aplicación PHP es almacenar valores sensibles y que desea encriptar y almacenar sus hashes salados entonces Crypt

() función no es la opción correcta, ni en función de las funciones constantes de sal es la elección correcta .

algoritmo de sal / Hash con Random sal:

Si se utiliza la sal al azar para cada hachís, que es necesario para una aplicación cuya fuente está disponible públicamente, entonces sería
necesario almacenar la sal, junto con los valores hash. Eso le da un punto -ve porque es posible extraer la sal de los hashes. Pero + punto es,
que la galleta necesita para construir tablas hash con cada sal para el craqueo de cada hash. Esto hace que sea difícil de roer múltiples hashes
a la vez. Sin embargo, todavía es posible para romper el hash seleccionados, tenga en cuenta que el administrador uno.

Considere el ejemplo:

$ contraseña = $ Rand (5) ; //entrada del usuario


$ salada = "salado" ;
$ contraseña = md5 ($ sal. $ contraseña) ; // guardado en MD5 db (saltedpassword)

hashes: 6f04f0d75f6870858bae14ac0b6d9f73: 14357 (Hash: Sal)

Sal: 14357

Podríamos extraer la sal, pero tan diferentes de hash va a tener una sal diferente, es imposible de descifrar todos los hashes de un tirón.

Pero sería volver de nuevo depende de lo bien que las contraseñas son.

En situaciones similares un ataque de diccionario sobre los hashes sería la única posibilidad. O de lo que necesitamos una mejor programa
de descifrado, que proporciona distribuye proceso de craqueo.

tablas de arco iris no rocas porque tiene todos los posibles valores hash, sino porque “Búsqueda” algoritmo es más rápido.

FB1H2S http://www.fb1h2s.com página 9


Garaje 4 hackers http://www.garage4hackers.com

Considerar.

tablas de arco iris de verificación un buscar [Rápido]

Fuerza bruta un Leer un valor un anexar la sal un hashes de cómputo un Comparar [lento]

Esta propiedad hace que el ataque lento incluso si conocemos la sal.

Así que tal situación una mejor y libre Cracking [Distribuido sería necesario sistema de craqueo]

Idea de un sistema de este Cracking distribuida sería la siguiente

Herramienta: Una de esas herramientas de documentación sería.

La idea de un sistema de este tipo viene del concepto de torrentes, donde si quieres algo tienes que compartir algo. Aquí si quieres romper algo
que tendrá que compartir su velocidad de procesamiento.

Arquitectura de la herramienta debe ser:

Nota: Lo siento por la mala imagen

FB1H2S http://www.fb1h2s.com página 10


Garaje 4 hackers http://www.garage4hackers.com

1) Descargar la herramienta de cliente Cracker

2) Usted tiene un hash de administrador para romper el de WordPress, puedes añadir el picadillo junto con la sal de la galleta

Cliente.

3) Cracker cliente envía el hash de roer servidor.

4) servidor de la grieta se acepta como parte de la Red de craqueo distribuido.

5) Agrietar las actualizaciones del servidor que con el nuevo conjunto de hashes, algoritmo, y permutaciones que tiene que

llevar a cabo.

6) La lógica es cuando alguien está haciendo un trabajo para usted, tendrá que trabajar para ellos también.

7) No por su trabajo se llevará a cabo por muchos equipos diferentes.

¿Cómo esto acelera su agrietamiento.

1) El ordenador cuando está en la red se asigna para generar lista de palabras, considere la tecla
espacio para una contraseña alfanumérica 9 Char es 101559787037052 y el equipo tendrá que generar
101559787037052 / N, donde “N” es el total de clientes sin galleta en el NW.

FB1H2S http://www.fb1h2s.com página 11


Garaje 4 hackers http://www.garage4hackers.com

2) Su equipo tendrá que pasar cada palabra generada a través de múltiples algoritmos de su

asignado con el cliente en su Cracker multiproceso.

3) Una vez que un cliente una contraseña grietas que se actualiza en el servidor de la galleta, galleta y pasa del servidor

al usuario que solicitó la información.

4) Así que si tienes 350 clientes de galleta trabajando juntos, entonces la obra de cada cuerpo se llevará a cabo en una

uno o dos días.

Encontrar un algoritmo de hash desconocido:

Considere el caso de un algoritmo tal

• Considere una situación en la que los valores hash son múltiples cifrado con diferentes algoritmos hash, por

ejemplo:

<? Php

$ Password = sha1 ( 'password'); // de4he6la fe4oe6late4he6lade4he6lade4he6la

$ final_password = md5 ($ password)

Hashes de contraseñas finales: 1423de37c0c1b63c3687f8f1651ce1bf

• En este tipo de situaciones, los hashes de mayo se parece a Md5 pero en realidad es el MD5 hash de SH1.

• Así que en este tipo de situación fuera algoritmo de hash múltiple se utiliza y el algoritmo es desconocido, y que

sería muy difícil encontrar lo son los valores hash.

Ahora se necesita un algoritmo de fuerza bruta para predecir el back-end

algoritmo.

FB1H2S http://www.fb1h2s.com Pagina 12


Garaje 4 hackers http://www.garage4hackers.com

Algorithm_Bruter

• Así me ocurrió con este guión, que toma en una “contraseña” conocido y que es “hash” y luego lo mueve a través de diferentes

algoritmos hash utilizados comúnmente y trata de encontrar una coincidencia, la predicción de lo que el algoritmo se utiliza en el

extremo posterior.

• Para la escritura que ser provisto de un texto Valor normal y sus valores hash alternas y como salida obtendrá el

algoritmo utilizado.

• Se puede consultar el guión aquí.

• http://www.fb1h2s.com/algorithmbruter.php

• Esto podría ser utilizado en situaciones anteriormente mencionadas.

Algorithm_Bruter.php

Voy a través de diferentes foros de programación y sacando diferentes, formas de hash múltiple;
programadores están utilizando y, se actualizará en este script. Por lo que podría encontrar lo algoritmo se
utilizó.

FB1H2S http://www.fb1h2s.com página 13


Garaje 4 hackers http://www.garage4hackers.com

Esperamos que este papel era de alguna ayuda para usted en el trato con los hashes salados.

Y todo saluda a los miembros de garaje piratas informáticos.

http://www.garage4hackers.com

Y grita a todos los miembros de ICW, Andhra Hackers

http://www.andhrahackers.com/

y mis hermanos: -
B0Nd, Eberly, Wipu, Beenu, w4ri0r, vacío, neo, Rohith, Sids786, SmartKD, Tia, HGH @ XOR, r5scal, Yash,

Secure_IT, Atul, Vinnu y todos los demás.

Este documento ha sido escrito para Null lograr 21/08 /

por FB1H2S

www.fb1h2s.com

FB1H2S http://www.fb1h2s.com página 14

Vous aimerez peut-être aussi