Hacking 101 - Aprendiendo sobre cifrado y descifrado

4 comments

Hola a todos iniciamos con este primer Hacking 101 donde bordaremos principios de cifrado y descifrado, cuyo objetivo final será que al terminal de leer la entrada pueden realizar un pequeño reto y conocer algo mas, se que para muchos sera algo básico pero la realidad esta que el dia 28 de Diciembre del 2015 me sorprendió la cantidad de dudas referentes al reto que se tuvo para el libro de Python para Pentesters, y es por ello que ahora veremos este tema.

Primero que es cifrar, es convertir la información en un formato no legible para el ser humano el cual tiene como objetivo ofuscar información, y puede ser visualizada unicamente si se conoce la llave que permita verlo en texto claro o en su defecto conozca el tipo de cifrado para verlo.

Ahora sabiendo mas o menos que significa cifrar, cabe resaltar que en ingles se dice Encrypt/Decrypt y españolizado o castellanizado Encriptar/Descencriptar a lo cual esto esta de una manera equívoca por mas que digan que la RAE esta aceptando el terminodesde mi punto de vista es un error de decir Encriptar. Pero paa mas detalle porque no siguen a la siguiente entrada donde doy a conocer mi punto de vista mas extenso del termino | ¿Encriptar o Cifrar? por cierto si no estas de acuerdo o si lo estas no dudes en realizar tu comentario en esta entrada o en la respectiva donde se aborda el termino.

Pero bueno ahora toca ver un poco sobre los diferentes tipos de cifrado los cuales se clasifican en:
  • Cifrado Clásico
  • Cifrado Moderno

A continuación veremos estos dos puntos considerando de manera superficial, debido a que como les comente en la primera entrada de Hacking 101 la idea es que ustedes tengan en base a esta serie una base y ver a donde apuntar recuerden que su sed de conocimiento tiene que ser mayor.

Cifrado Clásico 


Son conocidos como cifrados clásicos todos aquellos que abordan las tecnicas de transposición y sustitución de caracteres entre ellos tenemos los siguientes:

Cifrado Cesar

Es tambien conocido como cifrado de desplazamiento el cual consiste en que se maneja como base el alfabeto y se desplaza para cifrar el mensaje usando un valor de referencia de desplazamiento.

Caesar3.svg
Cabe resaltar que CESAR esta muy de la mano del cifrado de Vigenere y ROT los cuales tienen como base Cesar para sus respectivos tipos de cifrado.

Alfabeto en claro: A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z
Alfabeto cifrado: D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z A B C

Cifrado Vigenere

El cifrado de Vigenere hace el uso de una tabla de coordenadas para realizar el cifrado, el cual fue conocido y nombrado en su época como el Cifrado indescifrable.

ROOT 13


 
Root 13 es identico a Cesar con lo que hace es realizar una transposición de 13 caracteres.

Porque no mejor vemos un breve ejemplo o una prueba de Cesar? asi lo resuelven ustedes y dicen cual era la frase

CE WEFIW GSQS XVEFENE GIWEV FYIR XVEFENS. EXXI WRMJIV

Es cierto que necesitas la semilla o el desplazamiento pero vamos que esta fácil puedes resolverlo.

Recuerden que estos cifrados son débiles ya que es posible romper el mismo y obtener información en texto claro, en esta entrada solo mencionamos algunos puedes ir y revisar para profundizar.

Cifrado  Moderno


El cifrado moderno por decirlo así es conocido como criptografia que tiene como objetivo el de estudiar los diferentes tipos de cifrado para mantener la trinidad de la seguridad la cual es:


http://iberplanet.com/es/wp-content/uploads/2015/02/caracteristicas_ISO27001.png 

Aqui se toma en cuento cifrado simetrico y asimetrico, lo cual deben proceder a revisar e identificar a que se refiere ;). 

Ademas antes que todo es necesario conocer el termino de Hash o Hashing que es bastante usado que es?, ya que cuando comienzen a ver los cifrados actuales notaran dicha nominación.

Los hashes no son números grandes ya que se escriben en sistema hexadecimal (números entre 0 y 9 y letras entre A y F

Requisitos
– No reversible
- Evitar colision de Hash.
- Transformar cualquier texto sin importal la longitud en un resultado fijo.

Como se ve en esta entrada Verificar la integridad de una ISO con el Hash del mismo modo es usado para verificar la integridad de un fichero cuando este es descargado o en su defecto cuando se presentan documentaciones forenses validando los datos por el Hash.

Ahora se debe considerar que actualmente en los foros y algunos retos nos dan algun hash  o pistas para descifrar una contraseña o simplemente nos dan una bandera a continuación procedemos a explicar con un ejemplo como obtener una contraseña, cabe resaltar que en este ejemplo nos dan los tipos de cifrados pero en algunos no se da mas que pistas, o referencias de que cifrado puede ser un ejemplo es el que se realizo con el libro Python para Pentesters donde se tiene como referencia un hash en md5 lo cual se debe proceder de la siguiente manera:

  • Identificar si no se cuenta con el hash en texto claro.
 - Identificar que hash es  con servicios online.
 - Para ello se puede usar algun servicio online que por cierto lo mejor es probar por ese medio. 

  • Obtener los datos y referencias con la frase que nos da, considerando que esto puede ser algo generico o diferenciar de cada uno de ellos por el nivel de complejidad.
A partir de ello es necesario identificar el tipo de cifrado que maneja la cadena e ir probando hasta llegar a obtener el texto en claro, en la prueba del libro es realizado con cifrados tradicionales por lo tanto la complejidad es mínima.

Un breve ejemplo

Primero antes de todo  les paso a explicar algunas cosas:

1.- ¿Porque cifran las Pass de los Crypters y de algunas herramientas?

R.-  Las cifran para que no las quemen rapido es decir que no hagan uso de ella gente sin conocimiento, o simplemente para dejar un pequeño reto mental y que los que trabjen debidamente lo logren.

2.- ¿Como se descifra?

R.- Se descifra de derecha a Izquierda.

3.- ¿Con que herramientas desencriptamos?

R.- Existen dos maneras digo de dos formas con herramienta de escritorio y online.

Online


Ejemplo

  1. Pu9w=s9/PxXPi//1RubsSJXac2nzgdNukei7jc9LPu9NltO+n/m7SL1Sc2=zjH9/menPjKKac/DAi+1Yo2N7SL1ycZ=rOdSJR2n7ddO+n2C7cwfYPwm7ew0+kZ=6jw1MPu9zOdSJc/9AiZOUcgDPcx1Oc/87dH9QcL=6jw4uk2n0=u0QjfR7SJXYl/91iZNuku/sjxKaPu91=Y91Pui7cuXYPu9w=s9QcLDVcx1jcZ==ls9+ogN7jM1LPwe7=Y9QcLCsjx1dPt=Ndc9Qn+W7jMjRc2m7cc9ko2Ozi+0YPt=0iY9/ecet=J0+Puu7cx/1Ru=PjJXdPw=wcc9Yo2Ozi+0YPtb7ewzQkeqsSMjjPwnrjJ0+Pwb7SKKy

AER-256->HAZZ-15->MEGAN35


Bueno primero es en megan35

+KvG+d+xJbI=24HoJgyY24iF+e+F+KHo2gvG+4iMJdyd+dqGJdQoJOzbybzb+4ixJ4q=2gkM2gvo+Keb+g+Sjgj4jgiG+Ky=JKzb2OIoJKyIJK+L+KHdjgj4jgiGJKeS+4HbnKeb24kI2gqo+KeF+e+F+KHb+KvG+KHonKyYJ4Qo+gyb+dyF+e+F+KHo2gyS+4HM+Kvx+dvLJg+I+Zzbybzb+4ib+dQ=Jg+M+Ky=JdHS+dvI+bzbybzb+4+SnKiL24vY+gqdJg+d+4Qx

Luego en Hazz-15

2603347.780654182, 696002.7433707864, 2447791.966292135, 2476528.6648639203, 695002.9281897629, 2260206.4148614234, 694500.2643695382, 2238753.2477053683, 35.29861173533084

Y por ultimo AER256

Ya se sacar password gracias a artehack.net

Y ese es el resultado final..

Como ven al cifrar se hace 1 por uno poniendo el ultimo al final posteriormente para descifrar se hace de derecha a izquierda.

NOTA: Cuando descifres es en Decrypt y no Crypt estarias cometiendo un error.


Y el regalo para que prueben lo que aprendieron

Download
GILA7->ESAB-46 ->ZONG22->TIGO-3FX

cHDVDHDo4H63C4tdWdZR/gwj+86w6eYZ+R6Rw4YI1+eNDAN3c8YD4frdcyTmcfefwGWNBf5RmltDBetokkt4DAN8cAPwWkzA/A5X

Espero les agrade esta entrada, y para los que no lograron sacar los datos del libro con esto puedan realizarlo, por otra parte el fichero que descargaran cuenta con una falla relacionada al termino cifrado y encriptar el cua data de hace como 5 años y aun sigue online ;).  

Recursos para un mejor aprendizaje

Es necesario contar con fuentes de información que mejoren nuestro conocimiento sobre el tema por ello les recomiendo que revisen lo siguientes enlaces. 

 



Cualquier duda o comentario no duden en realizarlo del mismo modo si desean algun tema abordar en hacking 101 lo pueden realizar en los comentarios, por el buzón o en Telegram

Regards,
Snifer 

4 comentarios

  1. Hola snifer, aqui van algunos comentarios, todos ellos con el afan de construir. Cualquier duda, estoy a tus ordenes.

    Todos los algoritmos de cifrado usan las tecnicas de transposicion
    y sustitucion, probablemente lo que quisiste decir es que los
    cifrados clasicos usan uno u otro y no ambos al mismo tiempo (esto
    seria generalizar, pero no mentir al fin y al cabo).

    El cifrado Cesar es conocido tambien como ROT 13 no ROOT 13, esto
    seguramente es un typo, perdon por lo quisquilloso.

    Con respecto a la trinidad de la seguridad, la criptografia directamente no puede proporcionar disponibilidad, no esta en sus capacidades, en su lugar provee:

    Confidencialidad (el mas obvio de todos, es la secrecia de la informacion)
    Integridad (mediante el uso de hashes, por ejemplo, garantizando que la
    informacion no haya sido alterada, o evidenciando dicha alteracion)

    Y hasta aqui con la famosa trinidad de la seguridad. Adicionalmente proporciona:

    No-repudio, que usa Confidencialidad mas Integridad
    Autenticacion, que es otra combinacion de C+I

    Hablando de hashes, creo que es importante diferenciar entre hashes (asi
    planitos) y hashes criptograficos. Por poner un ejemplo, un hash muy basico
    es aplicar la funcion XOR entre cada byte de izquierda a derecha en una
    cadena de texto. Si bien esto seria un hash perfectamente valido, NO seria
    un hash criptografico pues como bien dices, estos ultimos requieren algunas
    caracteristicas muy especificas.

    Ya por ultimo y para no aburrirlos (si es que no lo hice ya), he notado que
    un error comun es confundir los conceptos de cifrar, hashear y codificar.

    Cifrar es hacer ininteligible la informacion
    Hashear es obtener un resumen que identifique univocamente algo*
    Codificar es representar la informacion mediante otro esquema (de caracteres, generalmente), por ejemplo en Base 64 (o Esab 46). Esto NO es cifrar.

    Por lo demas, buen articulo, entre tanto pentest y nmapmetasploitnessusburp,
    da gusto leer algo de criptografia. Un saludo.

    Victor Ramos
    @vhramosa

    *Todos estos conceptos pueden ser ampliados y refinados muchisimo mas, una disculpa
    por simplificar tanto.

    ResponderEliminar
    Respuestas
    1. No te preocupes la idea de estas entradas es tener alguna base como referencia y me agrada honestamente que alguien contribuya de esta manera, aun mas para generar debate y compartir conocimiento, se agradece los comentarios.

      No hay alguna molestia para nada gracias por los comentarios que el que quiera aprender leera tu aporte del mismo modo.

      Si nos vamos por adicionar no repudio porque no agregar tambien cumplimiento?

      En lo personal para alquien que inicia es mejor que recuerde estos tres como base para comenzar ya despues podemos ir aumentando.

      Regards,
      Snifer

      Eliminar
  2. Bastante util y muy curioso. A estas alturas pocos medios se centran en temas tan basicos como este. Un saludo.

    ResponderEliminar