Blog sobre seguridad informática, privacidad, anonimato, hacking ético, programación y sistemas operativos en general.

miércoles, 13 de diciembre de 2017

Rompiendo la criptografía sin herramientas.



Rompiendo la criptografía sin herramientas.

Cómo ya sabemos hay muchas herramientas para descifrar los mensajes encriptados , pero la criptografía no se aplica solo para mensajes, también el cifrado se puede implementar en muchas áreas cómo es la parte de estenografía. Los mensajes cifrados, ya sea audio, video, imágenes o contraseñas de administración en sitios web, se puede implementar para comunicación segura pero en este post hablaremos sobre como descifrar los mensajes que estén en archivos multimedia o en formato texto pero de una forma pasiva, es decir, sin el uso de herramientas automatizadas.

Lo primero que hay que hacer es identificar qué clase de cifrado es y que exactamente hay que hacer. Estos son algunos ejemplos:

1. Comenzaremos con base 64, pero supongamos que en la descripción de un texto les coloquen: (64 esab).

Cómo pueden notar dice base 64 al revés pero es fácil identificar cuando es base 64 ya que se suele ver lo que es mayúsculas y el signo ‘=’, por ejemplo un mensaje en base 64 se vería de esta forma:
SG9sYSBTZWN1cml0eSBIYWNrIExhYnMsIGVzdG8gZXMgYmFzZSA2NA==
Es identificable porque compone de mayúsculas, minúsculas, números y termina en =.

Una vez ya reconocido que es base 64 se procede a buscar en el navegador: “decode base 64” y encontramos muchas opciones online cómo:

- https://www.base64encode.org/
Esta es una de ellos pero hay muchas más. Puedes hacer la prueba con el hash dejado en el ejemplo de arriba.

2. Binarios: Todos sabemos que los binarios se componen de 0 y 1 quiere decir apagado (0) y encendido (1), por ende es identificable cuando es en binario así que solo sería buscar algún traductor de binario. Ejemplo:
01100101 01110011 01110100 01101111 00100000 01100101 01110011 00100000 01110101 01101110 00100000 01101101 01100101 01101110 01110011 01100001 01101010 01100101 00100000 01100101 01101110 00100000 01100010 01101001 01101110 01100001 01110010 01101001 01101111 

Así se ve un mensaje en binario y al buscar en nuestro navegador: “convert from binary” encontramos muchas opciones cómo la siguiente:

- http://www.traductorbinario.com/ - Puedes hacer la prueba con el texto dejado en el ejemplo.

Seguimos los mismos pasos con las partes sencillas como son los cifrados hexadecimal, decimal, octal, ASCII, etc. El paso Así se ve un mensaje en binario y al buscar en nuestro navegador: “convert from binary” encontramos muchas opciones cómo la siguiente:

- http://www.traductorbinario.com/ - Puedes hacer la prueba con el texto dejado en el ejemplo.

Seguimos los mismos pasos con las partes sencillas como son los cifrados hexadecimal, decimal, octal, ASCII, etc. El paso principal es identificar el cifrado, pero no siempre tendrán situaciones sencillas como es cifrados así habrán mas difíciles como es una mezcla distorsionada de diferentes cifrado donde habrá que identificar cuales se implementan y como. Por ejemplo:


( 0:3:0c:20:0f)AAPTFGHKO
Para descifrar algo así, primero habría que convertir en ASCII la parte de las letras (AAPTFGHKO), luego poner el orden de la  parte del paréntesis empezando desde el 3 0c 20 0f y calcular el decimal o hexadecimal según sea el caso, podemos utilizar estas opciones online:
- https://www.dcode.fr/ascii-code

Esto es lo que podría utilizar para resolver un mensaje mezclado, ahí vemos ASCII y hexadecimal. Sería más complicado identificar exactamente que cifrado sería ya que está mezclado. Otro ejemplo puede ser:

Un binario y un base 64 intercalados y tendrían que dividir ambos y descifrarlos (quien dijo que en esto no se vería matemáticas).


Esto sobre las mezclas de palabras sin ningún tipo de cifrado conocido para hacer llegar un mensaje de una forma segura o guardar algo de una forma que solo el que la haya compuesto sepa que quiere decir se puede encontrar ayuda para descifrar esos mensajes con:

Ejemplo de algo parecido: (eeeiiilmmnnorstv=inverosímilmente)
Podemos aplicarlos con los hash, primero es identificarlos y luego decifrarlos, lo podemos aplicar a MD5 y cualquier  otro hash. La mayoría de los usuarios administrativos de sitios web como es el login administrador en muchos casos vienen encriptadas bajo el algoritmo MD5, para estos casos las herramientas si son favorables y para este caso una muy buena es: 

Si quieren identificar si el hash que deseas desencriptar ya ha sido crackeado pueden consultar esta pagina: 

También podemos implementarlo con los hash SHA1, se puede usar: https://hashkiller.co.uk/sha1-decrypter.aspx
Para las imágenes y archivos se puede utilizar lo que son los hexdump que es un visualizador de hexadecimal: 

Adicional a esto se puede usar la implementación de scripts para descifrar ya sea en PHP, python , perl y otros lenguajes. Existen muchas formas de descifrar archivos sin necesidad de herramientas, tanto de una forma sencilla cómo la explicada a lo largo de este post que es una forma pasiva que consiste en dos partes básicamente: identificación del cifrado y uso del navegador para descifrarlo 
También están las herramientas (más adelante hare un post de las herramientas y scripts más útiles al momento de encriptar/desencriptar), así cómo los ataques de diccionario o fuerza bruta y los scripts programados.

Esperamos que este post haya sido de su utilidad, cualquier duda o sugerencia pueden dejarla en los comentarios.

Síguenos en Facebook, Twitter, unete a nuestra charla en Riot, únete a IRC o únete a Telegram.

0 comentarios:

Publicar un comentario