domingo, 4 de mayo de 2014

Cryptcat - Creando un chat simple, pero cifrado.




Después de que se diese a conocer el espionaje masivo que se esta haciendo en todo el mundo, la gente se ha echado las manos a la cabeza y ahora se siente todo el mundo inseguro.

Aunque profesionales de TI ya avisaban desde mucho antes que la seguridad no era ningún juego y había que tomarsela bien en serio, es a raíz de las filtraciones como las de Edward Snowden es cuando la gente ha empezado ha reaccionar y empezar a tomar medidas seguras en Internet.

Ya que está el panorama un poco revuelto... hoy os voy a hablar de Cryptcat.


¿Qué es Cryptcat?

Cryptcat es básicamente un Netcat pero encriptado, así de simple.

Algunos diréis: vale muy bien,  ¿y que c*****s es Netcat?

"Netcat es una herramienta de red que permite a través de intérprete de comandos y con una sintaxis sencilla abrir puertos TCP/UDP en un HOST (quedando netcat a la escucha), asociar una shell a un puerto en concreto (para conectarse por ejemplo a MS-DOS o al intérprete bash de Linux remotamente) y forzar conexiones UDP/TCP." (Véase Wikipedia)

Con Netcat toda la información viaja en texto plano, es decir, que si ponemos un sniffer en medio de la comunicación entre ambas partes podremos ver toda la información transmitida.

Para solucionar este problema, se creó Cryptcat, que aumenta la seguridad encriptando la comunicación.

Cryptcat utiliza el cifrado Twofish, el cual es un algoritmo de clave simétrica cuyo tamaño de bloque es de 128 bits y el tamaño de clave es de 256 bits (2 elevado a la 256 es el número de claves posibles),  por lo que utiliza la misma clave para cifrar y descifrar la comunicación, que si bien actualmente es considerado bastante robusto, sufre del mismo inconveniente que todos los algoritmos de este tipo, que la clave debe de ser conocida tanto por el emisor y el receptor y muchas veces el intercambio de esta clave se lleva a cabo en entornos “no seguros”.

La página oficial de Cryptcat es http://cryptcat.sourceforge.net/.


PoC

Bueno, ya sabemos un poquito más sobre esta magnífica herramienta, así que ahora pasemos a crearnos nuestro chat.

Este chat no tiene dibujitos, una interfaz gráfica, emoticonos ni nada por el estilo, ya que al ser por linea de comandos básicamente va a cumplir su función de chat encriptado y nada más, bueno sí, podremos transferir archivos.

Lo primero que haremos será ver las opciones que contiene con el parámetro "-h".


Sabiendo las opciones de las que disponemos, empezaremos poniendo en el "equipo 1" cryptcat a la escucha:


Con el parámetro "-l" indicamos que se ponga a la escucha, y con "-p 4444" indicamos que sea en el puerto 4444.

Ahora con el "equipo 2" conectaremos al "equipo 1" para establecer la comunicación y empezar a conversar.

Equipo 2 manda primer mensaje
Equipo 1 recibe mensaje y responde.
Equipo2 recibe la respuesta.

Ahora, vamos a ver como podríamos enviar un archivo:

Equipo 1 a la espera del archivo.
Equipo 2 envía el archivo.


Archivo recibido.

¿Habrá capturado algún tipo de información nuestro sniffer mientras se hacía la transferencia?


Visto lo visto podemos decir que no... xD

Espero que les haya gustado.



Saludos.



Referencias:
http://sourceforge.net/projects/cryptcat/files/cryptcat-win-1.2/1.0.0/
http://cryptcat.sourceforge.net/
http://thehackerway.com/2013/04/24/pasando-de-netcat-a-cryptcat/
http://www.g-loaded.eu/2006/11/06/netcat-a-couple-of-useful-examples/



**No me hago responsable del mal uso que se de a la información presentada. Esta información es de carácter didáctico.** 


No hay comentarios:

Publicar un comentario