¿Puede un hacker simplemente escribir un programa para generar todos los caracteres posibles que puede contener una contraseña?

Por supuesto que pueden. Incluso un programador novato podría escribir un programa que reúna sistemáticamente los caracteres para formar contraseñas. Sin embargo, no es muy efectivo porque; A medida que la contraseña crece, cada vez se tarda más en probar todas las permutaciones. Es lo que se llama fuerza bruta para romper contraseñas. Sí, las computadoras pueden formar y probar cadenas bastante rápido, pero incluso una contraseña de longitud moderada tardará demasiado en romperse para que sea útil.

Sin embargo, hay formas de romper contraseñas que son mucho más aterradoras que eso, como los ataques de Diccionario, por ejemplo. Lo que hace es ejecutar sistemáticamente un diccionario de palabras y probar diferentes variaciones de esas palabras. Un ejemplo simple sería probar una palabra como chihuahua y agregar un año después, para que se convierta en chihuahua1990.

Las reglas por las cuales altera estas palabras se programan en lo que se llama un archivo de diccionario , de ahí el nombre. Podría, por ejemplo, dictar intentar cambiar la palabra chihuahua reemplazando todas las i con 1s. Entonces la palabra se convertiría en chihuahua. Suena tonto, pero te sorprendería la elección de las contraseñas que usan las personas. Muchos son nombre + año, o nombre más número aleatorio, o palabra / nombre con uno o dos números mezclados.

Las personas piensan que están a salvo cuando hacen esto porque quién pensaría agregar un número en un lugar aleatorio en su nombre [nombre] + [apellido] + [fecha de nacimiento], mientras que en realidad son los más fáciles de descifrar. Los verdaderos tesoros aquí son los diccionarios y puedes encontrarlos en Internet.

Sí, eso se llama ataque de fuerza bruta, su efectividad disminuye a medida que aumenta la longitud de la contraseña.

Sin mencionar que algunos sistemas lo bloquean después de algunos intentos fallidos.

Por ejemplo, una contraseña de 8 caracteres de longitud y letras mayúsculas y minúsculas en inglés tiene (26 + 26 + 10) ^ 8, que son aproximadamente 2 * 10 ^ 14 combinaciones, parece mucho ¿verdad? Su CPU i5 puede hacer alrededor de 3Ghz, es decir, 3 mil millones de operaciones por segundo, o 3 * 10 ^ 9. Eso es 5 órdenes de diferencia de magnitud.

Entonces, incluso si se necesitara una sola operación para verificar una sola contraseña, aún tomaría 10 ^ 5 segundos probar todas las combinaciones, divídala por 3600 para obtenerla en horas.

Ahora agregue otro carácter a la contraseña y recalcule como se indicó anteriormente, verá cómo aumenta exponencialmente.

Hay formas mejores y más efectivas.

Si. Dicha lista podría generarse con bastante facilidad. De hecho, no solo un hacker puede hacer esto … cualquiera puede crear esa lista. Pero … ¿de qué sirve una lista? No le ayuda en absoluto si hay un límite de reintento en una contraseña, por ejemplo. El retraso de tiempo para un nuevo intento limita el ataque al atacar su paciencia. 🙂 Por ejemplo, algunos sistemas retrasan un reintento durante 14 minutos después de 10 fallas. Combine esto con los períodos de caducidad de la contraseña, digamos 45 días más o menos, luego bam … se está usando una nueva contraseña … esto limita la capacidad del hacker para tener éxito. Entonces … solo tener una lista es increíblemente ingenuo.

Si y no.
Sí, es trivial crear un programa que le brinde todos los caracteres posibles en función de una determinada longitud de contraseña.

Esa es la parte más fácil.

Lo que es difícil es probar esas contraseñas. Incluso si pudiera probar miles de millones de contraseñas por segundo, una contraseña de más de 15 caracteres tardaría millones de años en encontrar la correcta.

Puedo escribir, en aproximadamente una docena de líneas, un guión que genera caracteres aleatorios o incrementales. La dificultad es probar cada contraseña antes de pasar a la siguiente. Con los requisitos de complejidad en la mayoría de los sistemas con contraseña, no es viable hacerlo.

Odio decirlo, pero algunos programas como Kali Linux tienen la capacidad de realizar un ‘ataque de diccionario’. ¿Qué es un “ataque de diccionario”, preguntas? Un ‘ataque de diccionario’ es un comando que se puede realizar desde Linux u otros programas, y probará cada combinación de caracteres. SIEMPRE. No importa cuánto tiempo, el “ataque de diccionario”, podría encontrar cualquier contraseña. Todo lo que se necesita es tiempo. Algunas contraseñas pueden tomar años para ser pirateadas, mientras que otras solo tomarían unos minutos.

-Reaper Interactive- [reaperinteractive.wordpress.com]

Genere todos los caracteres posibles que puede contener una contraseña. Este método se llama Algoritmo de fuerza bruta. Una vez se usó para descifrar la contraseña. Pero lleva más tiempo acabar con él.

Estoy muy seguro de que los piratas informáticos utilizan el algoritmo de fuerza bruta solo si se quedan sin opciones.

Llamamos a este ataque de fuerza bruta . Y se supone que no es un método suficiente a menos que la víctima use una contraseña realmente trivial y corta (por ejemplo: abcdef123).