elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad (Moderador: r32)
| | |-+  Seguridad informatica en hashes, preguntas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Seguridad informatica en hashes, preguntas  (Leído 1,133 veces)
Kerstui

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Seguridad informatica en hashes, preguntas
« en: 30 Julio 2022, 12:04 pm »

Hola.
Quisiera presentarme brevemente antes de obtener respuestas que desvíe el tema.
Tengo 42 años, estudio a modo de hobby soluciones a problemas matemáticos. No soy aficionado al hack de sistemas u otro derivado del mismo. Estoy en este foro para conversar y aprender de quienes en este foro son los entendidos de este tema. Gracias.
Preguntas:
Entiendo que la encriptacion hash es utilizada para codificar información de modo tal, por ejemplo, que la información que se aloja en bases de datos se encuentra, de este modo, protegida, como pueden ser contraseñas, entre otros datos de mucha importancia a nivel seguridad. Con los metodos actuales, (sin información adicional de pistas o parte del contenido que el hash protege), poder descifrar esto es imposible. (dependiendo del tipo de hash y la longitud en caractetes y si contiene una mezcla de letras, números y símbolos acsii).
Seria el primer paso, (de ser posible), intentar conocer parcialmente la contraseña? O, intentar conocer cuales son los caracteres que la componene asi como la longitud?
Hay como una convencion, y de  hecho existen compañias de "hackers éticos", ellos ya están utilizando este primer razonamiento o ea algo imposible, conocer parcial o el contenido de caracteres?
Cuánto demoraria una persona o un grupo de personas en realizar el descifrados de un hash que esconde una contraseña de 11 caracteres de longitud? Sin ningúna información sobre el contenido.


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.259


Ver Perfil
Re: Seguridad informatica en hashes, preguntas
« Respuesta #1 en: 30 Julio 2022, 16:51 pm »

Tienes algunos conceptos, o bien errados o incluso a 'medio cocer'...

De entrada un hash no es ningún método de cifrado. El cifrado, siempre es reversible, un hash no es reversible (per sé).
En el resto de preguntas... hay que considerar que el hash va a depender del algoritmo usado para generar el hash.

Suele ser deseable que un algoritmo de hash, prevea la menor probabilidad de colisiones posible, pero esto es solo teórico. Conocido un algoritmo, siempre pueden proveerse claves que no favorezcan esa propiedad.

La idea de que una base de datos aloje el hash y no la contraseña que la genera, es que  si alguien consigue un volcado de la base de datos (se supone que parcial), no sea suficiente para tener acceso al contenido... Si la contraseña se guardara en texto plano, un volcado de la base de datos, daría acceso... en cambio guardando un hash, no... el usuario deberá introducir un texto, al cual se calculará el hash y solo cuando coincida logrará acceso. Por tanto si se guarda el hash, el acceso solo será posible si además de burlar la seguridad de la BD (el volcado), logra burlar también el software del sistema... que si además es remoto, se entenderá más complicado.

Citar
Seria el primer paso, (de ser posible), intentar conocer parcialmente la contraseña? O, intentar conocer cuales son los caracteres que la componene asi como la longitud?
Hay como una convencion, y de  hecho existen compañias de "hackers éticos"... ya están utilizando este primer razonamiento...
No. Esto solo es posible cuando el algoritmo del hash es técnicamente mediocre y permite que un añadido al final (de una contraseña) no varíe significativamente el hash... Es decir este caso responde a un mal diseño del algoritmo usado para generar el hash. La inclusión, variación o eliminación de un carácter en la contraseña, debiera proveer un hash completamente distinto y no un hash cuasi similar...
Un ejemplo para entenderlo bien:
Supongamos que la clave es 'cabeza' y el hash generado fuere 'ASDFGH', ahora supongamos que alguien se las apaña para enviar tras la contraseña (cabeza) la letra 'l', y que ahora el sistema generara el hash 'ASDFGP', como se puede ver 'cabeza' y 'cabezal' generan un hash muy similar... esto es lo que puede ser explotado, debido al mal diseño del algoritmo.
Si en cambio con 'cabeza' el hash siendo 'ASDFGH', pero con 'cabezal' el hash fuere ahora 'KTPRJX', no hay por donde tirar.
Ese método no sirve en estos casos, solo en esos defectuosos diseños en que el hash apenas varía respecto de una leve variación de la clave.

Esto es un hecho conocido (al menos por la mayor parte de la gente que tiene el encargo de diseñar tales funciones en explotaciones para grandes compañías), por lo que se ha corregido (con el tiempo) y no puede ser aprovechado tan llanamente como en el pasado (nadie sabe si el cambio de un diseño particular, tapa un agujero al tiempo que descubre otro, es de suponer que el encargado tenga inteligencia y no que opere como un mero robot).

Citar
Cuánto demoraria una persona o un grupo de personas en realizar el descifrados de un hash que esconde una contraseña de 11 caracteres de longitud? Sin ningúna información sobre el contenido.
Recuerda, lo dicho al principio, un hash no es directamente reversible, luego no se debe hablar de 'un hash que esconde una contraseña', en todo caso se dirá 'un hash asociado a una contraseña'...
Esto depende más que nada del algoritmo de hash usado.
Luego, depende de la potencia no tanto de cálculo si no la que permite probar contraseñas (lo ideal, de cara a la seguridad, es que un sistema que permite un login, no fuera un algoritmo pensado en la eficiencia en cuanto al cálculo, incluso que a propósito generara un retraso apreciable, que sensiblemente al humano es inapreciable pero que expuesto a ataques, resulte ineficiente y por tanto no permita probar todas las contraseñas por segundo que a uno le gustaría, si no una mísera parte del valor teórico que la tecnología permite).

Si se conoce el algoritmo usado y se estudia a fondo, tal vez puedan sacarse algunas conclusiones que permitan reducir la cantidad de intentos, si no será fuerza bruta. Incluso sabiendo que son 11 caracteres habría que saber las categorías de caracteres permitidos (A-Z, a-z, 0-9, etc....). Esto determina la cantidad máxima de contraseñas posibles y sabiendo cuantos intentos por segundo pueden hacerse (suponinendo un no bloqueo) te dará el tiempo aprox, máximo para resolver la contraseña....
Cuando la cantidad de caracteres sube a 16 puedes elevar el tiempo añadiendo 10 ceros detrás con solo que se permitan 64 caracteres distintos, añade 3 ceros más si se permiten los 256 caracteres ASCII.



En línea

Kerstui

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Seguridad informatica en hashes, preguntas
« Respuesta #2 en: 30 Julio 2022, 17:39 pm »

Le doy las gracias por tomarse el tiempo, y dedicacion para instruirme. Ciertamente es como usted indica mis conocimientos son pobres al respecto, y es por ello que aprecio enormemente su respuesta. Sin ir mas alla del punto en cuanto al deficit del algoritmo que permita o no revelar fallas. Y comprendiendo claramente que un hash no es reversible. Entiendo que el método de "ataque", (pues no conozco el termino), a un hash es entender el funcionamiento del algoritmo e intentar mediante prueba y error hasta dar con el algoritmo. Se que me esta nombrando detalles sobre sistemas, y se lo agradezco. Mi intencion en esto no es aprender para hacer ataques a sistemas o similar, como le dije quiero aprender y entender sobre este modo de metodo hash, pues para hablar similar a usted no lo nombrare como cifrado. El algoritmo en matemática es un conjunto de instrucciones ordenadas y finita. Entiendo que en el ambito de sistemas se toma por igual. Y cada hash es un producto único, por lo que no puede existir 2 hash iguales para 2 instrucciones diferentes. Como, usted siendo hacker, entiende el hash? Me refiero al momento de sentarse a un análisis antes de comenzar su trabajo de deduccion del algoritmo. Es informacion útil solo a modo comparativo? Un hash es un grupo siempre igual en longitud pero nunca igual unos a otros, y sin importar la entrada siempre sera de igual longitud. Entendiendo esto, y sin ahondar aun en el algoritmo que es el responsable del hash que se debe analizar. Y hablando de variables comprensibles, como lo son los números enteros, letras del abecedario y simbolos. Es la unica opción adivinar cuáles son las reglas?  
« Última modificación: 30 Julio 2022, 18:05 pm por Kerstui » En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.259


Ver Perfil
Re: Seguridad informatica en hashes, preguntas
« Respuesta #3 en: 31 Julio 2022, 21:51 pm »

Citar
....e intentar mediante prueba y error hasta dar con el algoritmo.
Esto se considera inaceptable.
Jugar a prueba y error es equivalente a asumir una ignorancia total. Puede ignorarse algunos detalles, pero no todos. Si se ignoran todos, mejor dejarlo.

Citar
Entiendo que el método de "ataque", (pues no conozco el termino), a un hash es entender el funcionamiento del algoritmo
Esto, puede ser 'aceptable', pero hay que ser consciente de la complejidad que puede haber tras determinados algoritmos.
Para sacarle jugo al algoritmo con la pretensión 'tuya', no basta con entender el algoritmo, hay que tener una solidez matemática muy elevada para llegar a determinadas conclusiones, comprendiendo que dada alguna circunstancia se está generando redundancia o que dadas ciertas condiciones es predecible x parte, etc... se requiere además tener conocimientos de programación para poner a prueba esos hallazgos matemáticos y ver si tu suposición resulta real y satisfactoria.

Al decir satisfactoria, quiero decir que no basta con saber que es como imaginabas si al final no puede ser aprovechado, porque requiere 800 millonesde años aprovechar ese hallazgo, pese a que el mismo lo haya reducido en 1 trillon (18 ceros menos en tiempo) el tiempo preciso, seguirá siendo inabordable... luego se requerirá avanzar también por otro lado, dado un paso quizás con uno o dos más sea abordable.


Los algoritmos de hash, se consideran funciones de resumen... un hash no solo puede ser obtenido para una contraseña (pocos caracteres), también se aplica a ficheros completos. De hecho tiene varios usos:
- Quizás la principal funcionalidad que tiene es la de servir para determinar si un contenido fue alterado. Pongamos que tienes un fichero que has editado y guardado y calculas un hash para el mismo y lo guardas, si tiempo más tarde aplicando el mismo algoritmo de hash, te devuelve un hash diferente aplicado al mismo fichero, tienes la certeza de que el fichero ha sido manipulado... puede que sea un error de lectura o un error de hardware en el dispositivo donde se almacena y haya así quedado dañado, o puede que haya sido manipulado por alguien (lo que se conoce como intrusión si nadie tenía permiso para hacerlo).
- La primera funcionalidad que tuvieron los hashes, era permitir la búsqueda de contenido... supongamos que tengo una colección (lo que en programación se llama colección, sea del tipo que sea), en general que guardan datos de tipo string... si cuando se añade una nueva entrada se le calcula el hash... este hash es traducido a una posición numérica, que señala donde se almacena el dato. ...posteriomente si se quiere saber si existe un dato almacenado o si se quiere buscar para rescatar datos asociados al dato principal (el string), se calcula el hash al dato buscado, se traduce a la posición numérica y se verifica si en esa posición dentro de la colección está vacía u ocupada, si está vacía no existe... si está ocupada, se verifica si el 'string' buscado es el mismo que el almacenado (puede darle colisiones, esto es que el hash de diferentes datos arrojen la misma posición), si el el mismo se devuelve que existe, o se da la posición para rescatar de ella los otros datos asociados... si no es, debe resolverse la colisión (seguir buscando conforme a como el algoritmo resuelva las colisiones), para devolver definitivamente uno de los dos casos antedichos (no existe -1, o existe, n la posición donde se localiza).
- Si se conoce a fondo lo que implica un hash, no es difícil de comprender lo versátil que puede ser para ser aplicado a diferentes sistemas de seguridad...

Citar
Como, usted siendo hacker, entiende el hash? Me refiero al momento de sentarse a un análisis antes de comenzar su trabajo de deduccion del algoritmo.
Yo no pierdo el tiempo en esto... precisamente comprendiendo el funcionamiento de los algoritmos de hash, es tremendamente sencillo darse cuenta de la fortaleza que puede otorgársele... Me explico.

Cuando un sistema de seguridad sea crítico, un modo sencillo de fortalecer el sistema es usar más de un sistema de hash. De hecho las bases de datos deberían contemplar (por principio de diseño) este caso, como mínimo cuando se habla de acceso a la base de datos.

Supongamos que mi clave es 'cabeza' (para no cambiar), y que aplicado una función con el algoritmo  'A' me arroja el hash 'ASDFGH', y que aplicado una función con el algoritmo 'B' me arroja el hash '594527910223' (he puesto exclusivamente números, solo para dar a entender, que algoritmos distintos pueden serlo en muchos detalles, y para notar por tanto que el resultado será diferente)... ambos se guardan en la base de datos... si ahora alguien intenta loguearse para usurpar mis credenciales, supongamos que el intruso tras estudiar el algoritmo 'A' ha llegado a la solución de que la clave 'xPalabVer5min' genera también el hash 'ASDFGH'... pues no servirá de nada, porque va a ser que la clave que ha hallado 'xPalabVer5min' no genre el mismo hash que mi clave usando el algoritmo 'B'.
Código:
Si AlgHashA(clave)= hashA y AlgHashB(clave) = hashB ... //ok, login correcto.

Entiende por tanto que si un algoritmo tuviera algún recoveco del que tirar, incluso aunque el segundo algoritmo también tuviera un recoveco, para ser vulnerable debería tolerar que la misma clave (que uno ha obtenido que genera el hash 'ASDFGH'),  pasado al otro algoritmo tambien genere la misma clave... va a ser que no. Así podría haber hallado que la clave 'xPalabVer5min' me ofrece el hash 'ASDFGH' para el algoritmo 'A' y que la clave 'Mbgh7ptAguilas2000' me ofrece el mismo hash buscado para el algoritmo 'B' que es: '594527910223', pero aplicada esta clave al algoritmo 'A' no generará el hash 'ASDFGH' así como tampoco aplicado la clave previa al algoritmo 'B', tampoco me genera el segundo hash.

No es difícil comprender que incluso algoritmos teóricamente mediocres (o por lo menos con algún fallo no severo), debiendo ser 2 hashes procedentes de 2 algoritmos distintos, ofrece una resistencia muy notable, prácticamente imposible de explotar.

Citar
Es la unica opción adivinar cuáles son las reglas?
Si quieres hacer caso omiso de lo antedicho en el párrafo anterior (a algunos usuarios les pasa con relativa frecuencia debido precisamente a que no terminan de comprender los detalles), considera que toda iniciativa en esa dirección debe ir encaminado a buscar colisiones, es decir a buscar una clave que genere el mismo hash, y no tanto en encontrar la clave original que generó ese hash. Es decir no importa tanto la clave original como encontrar una clave que genere el hash adecuado.
Luego un estudio en profundidad, debería ir encaminado a tratar de encontrar de qué manera pueden generarse colisiones lo más fácil y eficientemente posible.
...por eficiente debe entenderse usar pocos recursos y un tiempo razonable, si no tiempo real, cuasi real... porque... hay claves que son obligadas a ser cambiadas en el tiempo, o que tras ser detectado que ha sido burlado un sistema, se exija o fuerce el cambio de claves, o bien queden suspendidas y deba solicitarse (en persona) a un administrador el establecimiento de una nueva contraseña.

Un hacker, por su parte no debería conformarse, ni confinarse exclusivamente a resolver un algoritmo... Un hacker debería poseer diferentes capacidades, ser multidisciplinar, para poder atacar el sistema desde diferentes prespectivas (la programación es una de ellas, quizás la más principal y tal vez poderosa, pero no la única)... al final algo como el phishing, puede resolver en un tiempo más que aceptable y con recursos limitados lo que ni reuniendo a los 100 mejores genios matemáticos podrían resolver mirando un algoritmo.
« Última modificación: 31 Julio 2022, 21:57 pm por Serapis » En línea

Kerstui

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Seguridad informatica en hashes, preguntas
« Respuesta #4 en: 1 Agosto 2022, 00:49 am »

Nuevamente, muchas gracias por todo el tiempo que se tomo para compartir en detalle la información que deja en claro las dudas que plantee, ojala tuviera muchas mas pero creo que serian preguntas que no cubren algún sentido.

No tenia idea de cuanto a cuanto puede ser aplicado un algoritmo de hash-.  
Y claro que escapa a mi imaginación, ya que mi posición objetiva e ignorante era sobre "palabras", párrafos alfanuméricos etc.
Hace algo mas de un año, estoy estudiando lo que llaman "matemáticas vorticiales", para mi resulto ser un estudio agradable, y hace poco mas de unas semanas me encontré con algo un poco extraño-
Resulto ser que a un hash SHA256, puedo obtener la longitud, y caracteres (alfanumericas y/o símbolos acsii), no en modo ordenado, pero si lo suficiente como para poder descifrar la palabra, algo que logre mediante un software llamado hashcat, con las simples indicaciones de soporte de opciones de su sitio web.
Para mi es una sorpresa de pura casualidad, luego de leer lo que usted con mucha eficacia me ha informado. He podido obtener los caracteres de "palabras" alfanuméricas de hasta 20 dígitos de longitud, aun no comprendo bien como funciona, pues como le digo me tope con esto por pura casualidad, mi intrusión en el conocimiento del hash era para comprender lo mas. Como esto resulta muy nuevo, continuare con estos estudios para lograr entender el orden de los caracteres, pues creo que esto terminaría de lograr la comprensión de como funciona.
Si tengo mas preguntas, sin duda alguna, volveré para consultarle a este foro.
Nuevamente muchas gracias por su tiempo.
 
« Última modificación: 1 Agosto 2022, 00:53 am por Kerstui » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
diferencia entre seguridad informatica y seguridad de la informacion
Seguridad
dec0 5 10,760 Último mensaje 22 Noviembre 2011, 17:51 pm
por dec0
Ingeneria informatica o seguridad informatica
Foro Libre
patilanz 2 1,784 Último mensaje 30 Octubre 2014, 23:00 pm
por patilanz
INFORMATICA Y SEGURIDAD INFORMATICA
Hacking
GYMBO26 2 2,141 Último mensaje 31 Marzo 2016, 00:47 am
por WIитX
Preguntas básicas sobre informática
Dudas Generales
manu56 6 4,817 Último mensaje 2 Abril 2018, 20:44 pm
por Orubatosu
Cómo saltarse las preguntas de seguridad al crear una cuenta de usuario en ...
Noticias
wolfbcn 0 788 Último mensaje 19 Junio 2018, 21:27 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines