Tag Archives: Cripto

Criptografía – Segunda Parte

Criptografía con Maquinas

Ya entrando en el Siglo XIX, las grandes mentes y la evolución de las tecnologías permiten una evolución en los sistemas criptográficos un gran ejemplo es el Código Morse que fue desarrollado por  Alfred Vail quien colaboraba con Samuel Morse y este código era trasmitido por medio del telégrafo doble (Thomas Alva Edison), que permitía trasmitir un impulso eléctrico a una distancia importante por medio de un tendido eléctrico, ¿Pero realmente en que consistía el Código Morse? su interpretación es muy sencilla a cada letra se le asigno un símbolo digamos que binario porque solo se utilizaban dos tipos “.” y “-” quedando algo así

y la forma de ingresar estos símbolos es por medio del tiempo que se mantenía pulsado el contacto eléctrico.-

Ya en el siglo XX los telégrafos fueron reemplazados por las señales de RADIO, brindando mayo posibilidad de trasmisión y de igual manera brindando la posibilidad de interceptar esas señales, de esta manera uno de los hechos mas importantes de la criptografía se dio durante la Primera Guerra Mundial con el Famoso ” Telegrama Zimmermann ” el mismo se encontraba bajo el cifrado conocido por los alemanes como “ADFGVX“, el cual era utilizado por los Alemanes para trasmitir de forma segura sus mensajes diplomáticos, esta tipo de cifrado es del tipo Sustitución y Transposición el siendo la tabla de cifrado algo similar a el siguiente ejemplo:

A

D

F

G

V

X

A

b

o

g

r

0

e

D

v

1

9

i

z

q

F

4

d

x

t

l

m

G

h

u

8

5

c

3

V

6

y

k

n

f

p

X

j

s

7

2

w

a

la tabla se compone de 36 celdas donde se insertan las letras del abecedario más los 10 números y la primera fila y la primer columna lleva la cifra ADFGVX el modo de cifrar es muy sencillo se busca la letra a cifrar y se pone el valor de que le corresponde a su fila y columna, hagamos un ejemplo, vamos a cifrar “mkit argentina”.-

m

k

i

t

a

r

g

e

n

t

i

n

a

XF

FV

GD

GF

XX

GA

FA

XA

GV

GF

GD

GV

XX

quedando el cifrado XF FV GD GF XX GA FA XA GV GF GD GV XX

si observamos bien el cifrado en este caso podemos ver un patrón se repite “XX”, “GD” y “GV”. la Oficina Central de Cifras perteneciente a Francia tenia un Criptoanalista de nombre George Painvin el cual se avoco a descifrar este sistema a principios de junio de 1918 logro descifrar un mensaje el el cual decía lo siguiente “Envíen municiones rápidamente. Incluso durante el día si no los ven“, en el mismo mensaje se sabia que había enviado desde una ciudad ubicada a unos 80 km de París, y gracias a Painvin lograron detener el avance sobre la ciudad de París.-

ahora este Código es muy funcional para trasmitirlo por Telégrafo ya que solo se utiliza un código muy acotado del abecedario solo utilizando los siguientes símbolos:

“A .- ; D -.. ; F ..-. ; G –. ; V …- ; X  -..- “

Ya en los años 1923 un ingeniero Alemán llamado “Arthur Scherbius“,  presentaba una de las maquinas más famosas de la historia de la Criptografía, la cual se llamaba Enigma siendo esta un sistema que mejoro el disco de Alberti

 disco de Alberti

Maquina Enigma

Este sistema Criptográfico se volvió una prioridad para los países que se encontraban enfrentados a los Alemanes, siendo así que los servicios de Inteligencia de Polonia y el Reino Unido siendo el matemático polaco, Marian Rejewski, llevo a cabo una de las tareas más importantes en la historia del criptoanálisis combinando cálculos de matemáticos y estadísticos notó un patrón en el código que se repitió dos veces al principio del mensaje, esto permitía suponer que el cableado de un rotor no por las letras, sino por la manera que estas cambiaban.-

A continuación dejo un Flash de enigmaco.de que muestra el funcionamiento de la clave Enigma

Alan Turing que trabajo en el Bletchley Park (hoy actual museo de la Criptografía), convocado por  el gobierno Británico junto a otros con el objetivo de romper el Código Enigma para esta tarea construyo una la maquina llamada Colossus y fue uno de los responsables de la ruptura de la clave enigma II

Otros Algoritmos Criptográficos

El codigo Navajo

El Código Navajo fue un sistema de cifrado norteamericano utilizado en la  Segunda Guerra Mundial en el frente del Pacífico. Este sistema utilizaba el idioma navajo, el cual era prácticamente imposible de aprender sin ser de la cultura Navajo, este código fue utilizado en el frente de batalla y los responsables de cifrar y descifrar eran los mismos navajos. si bien este código es bastante rudimentario jamas fue descifrado durante su uso.-

Parte del Código Navajo Empleado en la Segunda Guerra Mundial

Letra Navajo Significado Traducción
A Wol-la-chee Ant Hormiga
B Shush Bear Oso
C Moasi Cat Gato
D Be Deer Ante
E Dzeh Elk Impulso
F Mi-e Fox Zorro
G Klizzie Goat Cabra
H Lino Horse Caballo
I Tkin Ice Hielo
J Tkele-cho-gi Jackass Baudet
K Klizzie-yazzie Kid Cabrito
L Dibeh-yazzie Lamb Cordero
M Na-as-tso-si Mouse Ratón
N Nesh-chee Nut Avellana
O Ne-ahs-jah Owl Buho
P CBiSodih Pig Cerdo
Q Ca-yeilth Quiver Aljaba
R Gah Rabbit Conejo
S Dibeh Sheep Oveja
T Than-zie Turkey Pavo
U No-da-ih Ute Piel-rojo
V A-keh-di-glini Victor Vencedor
W Gloe-ih Weasel Comadreja
X Al-an-as-dzoh Cross Cruz
Allí Tsah-as-zih Yuca Yuca
Z Besh-do-gliz Cinc Cinc

En futuros post vamos a ver algunos de los métodos más conocidos de la criptografía.-

Cristian Amicelli Rivero

Criptografía – Primera Parte

Criptografía Antigua

La siguiente serie de blogs sobre criptografía están dirigidos a aquéllos que no tiene un amplio conocimiento de la criptografía y les interesa el tema.-

Para comenzar hay que definir que es la criptografía que según la Real Academia Española es el arte de escribir con clave secreta o de un modo enigmático.  la palabra criptografía proviene del griego krypto, (oculto), y graphos, (escribir), que literalmente sería escritura oculta, con esta definición podemos decir que es arte más que antiguo.-

Podemos decir que la criptografía fue utilizada por los Babilonios alrededor de 2.500 A.C en una especie de tablilla en donde aparecen términos a los que les quitaron su primer consonante o así mismo el uso de caracteres pocos habituales con el objetivo de ocultar formulas para la creación de arcilla, ó el caso de los eruditos hebreos que hicieron uso de cifrados por sustitución monoalfabéticos (cifrado Atbash) que data desde el 600  A.C aproximadamente.

Pero el primer sistema de cifrado que se describió fue el usado por los espartanos durante la Guerra del Peloponeso, en donde se enfrentaron con los atenienses entre el año 431 A.C y el 404 A.C.  el método descripto por Plutarco es el primer sistema de cifrado por transposición que se conoce llamado scitala espartana en este método se tomaban dos varas de madera exactamente iguales en cuanto a su grosor (la que podemos llamar clave) Para escribir el mensaje secreto se enrollaba una tela en la vara y se escribía el mensaje encima de dicha tela. Al desenrollarlo, el texto no era legible, quedando de esta manera el mensaje cifrado.-

“el método de transposición cifra el texto en claro cambiando el orden de las letras.”

 A este le siguió en año 150 A.C uno llamado el cifrado de Polibio (203-120 A.C) el famoso historiador Griego, este sistema está compuesto por una tabla como la que se muestra a continuación.-

1

2

3

4

5

1

A B C D E

2

F G H I, J K

3

L M N O P

4

Q R S T U

5

V W X Y Z

como se observa la letras i,j estan juntas para dar un total de 25 posiciones, siendo este sistema un método de de sustitución.-

hagamos una prueba, supongamos que queremos cifrar la palabra mkit

texto claro: mkit

tomamos la “M” y buscamos su celda y vemos que con los números de fila y columna formamos el 32 por lo tanto a “M” le corresponde el 32.-

CIFRADO: 32252444

para descifrar hay que separar en grupos de 2 cifras y ubicar la letras sabiendo que el primer número son las filas y el segundo las columnas.-

 Aunque el método criptográfico más conocido y más estudiado de la antigüedad es el que se llamo Código Cesar, el cual se creó en el año 50 A.C  aproximadamente y muy utilizado por el emperador Romano Cayo Julio Cesar (100-44 A.C). Este método es de cifrado por desplazamiento, su funcionamiento es muy simple y permite el estudio de la aritmética modular.-

Su funcionamiento es muy sencillo ya que es de desplazamiento y la clave radica en cuanto desplazamos el alfabeto, veamos un ejemplo

Alfabeto original:    ABCDEFGHIJKLMNÑOPQRSTUVWXYZ
Alfabeto codificado:  XYZABCDEFGHIJKLMNÑOPQRSTUVW

En este caso el desplazamiento es de 24 espacios a la derecha y con esta acción podemos modificar la clave de cifrado.-

Una vez que ya establecimos su calve tenemos que cifrar, así que vamos a utilizar nuevamente la palabra mkit.-

texto claro: mkit

la tarea para cifrar consiste en buscar cada letra en el alfabeto original y tocar la correlativa en el alfabeto codificado y para descifrar es el proceso inverso.-

 Texto Claro   mkit
 Texto Cifrado JHFQ

La vulnerabilidad en este método se da por un análisis de frecuencia, ya que sin saber la cantidad de desplazamiento del alfabeto pero si teniendo una tabla de frecuencia del uso de las letras (ver imagen), se puede deducir el contenido del mensaje.-

 ”El  análisis de frecuencia es el estudio de la frecuencias de las letras o grupos de letras en un texto cifrado. siendo este un método para la ruptura de cifrados clásicos”

 

 Cristian Amicelli Rivero


Cafe-Latte Attack – Segunda Parte

Cafe Latte Attack

Como lo prometido es deuda, vamos a ver en este articulo un poco más en detalle de que se trata el Cafe-Latte Attack visto desde un punto de vista mas Técnico.
Para comprender y contextualizar el ataque deberían leer el artículo anterior “Wi-Fi Roaming Hacking”.

El ataque consiste en varios pasos que iremos disectando a lo largo del artículo, y vamos a comenzar viendo cómo funciona una conexión Wirless con encriptación WEP.

La secuencia para lograr la transferencia de datos con el Access Point es la siguiente:

-El cliente envía un “Probe Request”: Es una petición para obtener información mas detallada de otra “Estación”.

-El AP devuelve un “Probe Response”: Este Frame contiene información sobre las capacidades propias de la estación, como por ejemplo información que soporta.

-El cliente envía un “Autentication Request”: Dentro de este frame simplemente se envía una petición de identificación por parte de ambas partes, el cliente envía la petición. (En el caso de OPN authentication) (Si la autenticación fuese “Shared key” se enviara un Challenge).

-El AP envía un “Authentication Response”: En este frame se Acepta la identidad del cliente.

-El cliente envía un “Association Request”: Carga información sobre el SSID o nombre de la RED mas información propia de las capacidades del cliente.

-El AP envía un “Association Response“: Contiene la aceptación o la negación del cliente más información extra sobre el tipo de comunicación, etc.

-El cliente envía un paquete ARP Gratuitous.

Para verlo de forma grafica acá hay un dibujo:

Conexion Wireless

 

Una vez entendido el funcionamiento básico, voy a proceder a hablar un poco sobre la estructura de los paquetes, para poder comprender el funcionamiento interno del ataque del Cafe-Latte.

Partiendo desde la información que se debe enviar a través de la red, el proceso mediante el cual tiene que pasar, es el siguiente:

1) El texto plano es procesado por un Algoritmo llamado CRC dando origen a un ICV (Integrity Check Vector 0 Vector de chequeo de integridad).

2) El texto plano es Concatenado con el ICV.

3) La CLAVE concatenada con un IV (Vector de inicialización (El talón de Aquiles de WEP)) son ingresados en un algoritmo llamado RC4.

4) Se hace un XOR de las operaciones del punto 2) y 3) para dar lugar al Texto Encriptado. Luego, se concatena con el mismo IV de dichas operaciones, lo que da lugar al Paquete que va a viajar a través de la red.

Flujo WEP

Lo que se descubrió, hace ya varios años, es que teniendo un paquete valido se podría llegar a crear un nuevo paquete igual de valido gracias al proceso de creación del mismo. (No vamos a entrar en detalles)

Básicamente, se toma un texto plano cualquiera, se crea un parche de ICV y luego se aplica una operación XOR entre el paquete valido, y la data a inyectar. Este resultado pasa nuevamente por una operación XOR con el RC4 Keystream, proceso mediante el cual se obtiene un paquete encriptado con información irrelevante, pero que es aceptado por el AP! Esto significa, que podríamos lograr aumentar el flujo de información, para así lograr capturar mas data para crackear la WEP key.

O mejor aún, y como en el caso de nuestro ataque, podríamos fingir ser el AP, esperar la conexión del usuario y generar tráfico VÁLIDO entre el atacante y la víctima sin necesidad de desencriptar ni interpretar la información intercambiada, ya que el objetivo principal es obtener la clave WEP para lo cual necesitamos generar la mayor cantidad de paquetes posibles para poder crackearla.

Como vimos anteriormente, si un equipo tiene configurado por defecto la conexión automática a ciertas redes, este envía “Probe Requests” continuamente con el SSID de la red que está buscando. Esto sucederá con todas y cada una de las redes a las que se haya conectado anteriormente y haya configurado como “Favoritas” o con “Conexión automática“.

Airodump

Como podemos apreciar en la imagen, la captura del airodump nos muestra un equipo que no está asociado a ningún Bssid, que está enviando “Probe Requests” hacia diversas redes. Si miramos más detalladamente, también podemos observar que ninguna de esas redes se encuentra dentro de las redes disponibles. Esto nos da una idea sobre que conexiones por defecto aceptaría el cliente.

Procedemos a hacer un AP rogue para engañar al cliente y que se conecte de forma automática. Dentro de airbase podemos seleccionar además, algunas opciones extras, entre las cuales se encuentra el ataque de Cafe-Latte que consiste en aplicar la técnica del XOR para inyectar paquetes y genera trafico extra.

Airbase

Como vemos, la MAC adress del AP fue seteada en AA:AA:AA:AA:AA:AA y nuestra AP ya está enviando beacon frames para atrapar a nuestra víctima. El ESSID fue seteado como “Optimus” que es una de las redes configuradas por defecto en el cliente.

El airodump, nos muestra si el cliente ha iniciado el proceso de iniciación y como vemos abajo, el proceso fue iniciado exitosamente !

Cliente Asociado

Y para entender lo explicado anteriormente, un screenshot de Wireshark que nos da un entendimiento más profundo a nivel Red:

Wireshark - Probe Request/Response - Authentication Reques/Response - Association Request/Response

También al mismo tiempo, vemos como el Airbase detecta y nos advierte sobre un usuario conectándose a nuestro Fake AP. Una vez conectada la víctima, Aribase lanza automáticamente el Cafe-Latte Attack!!!!!!!

Attack Lunched

Una vez obtenida la Data suficiente como para crackear la clave (Si todo sale bien, puede ser en cuestión de 4 minutos):

Crackeo de clave

Si leyeron el artículo anterior de Cristian Amicelli Rivero, ARPSPOOF , podrán idearse muchos ataques nuevos una vez conseguida la autenticación dentro de una red Local. Desde la redacción de Mkit, vamos a seguir mostrando paso a paso, los diversos tipos de ataque que pueden llevarse a cabo utilizando como punto de partida, las técnicas presentadas en estos últimos artículos, así que recomiendo prestar detallada atención y de ser necesario, ampliar un poco más la información presentada.

En conclusión: Habiendo visto la facilidad con la que alguien puede hacerse de nuestra clave Wi-Fi inclusive estando a kms de distancia del Access point y sabiendo que ni siquiera las claves WPA/WPA2 son infalibles, la mejor opción es desactivar la configuración de conexión automática / redes favoritas. Nunca sabemos quién puede estar tras nuestra información, y querer conseguir acceso a nuestra red casera. Dar esa ventaja seria como aceptar un caballo de Troya pero sin siquiera saber de su existencia. Apretar un botón cada vez que iniciamos la sesión, no es mucho esfuerzo en comparación con el riesgo que corremos dejando que nuestro S.O se encargue de hacerlo por nosotros.

Gustavo Nicolas Ogawa