Descripción

Objetivos:
El objetivo principal del proyecto es el de realizar ensayos y evaluaciones de diferentes métodos de obtención de contraseñas, especialmente mediante técnicas de fuerza bruta. Para esto se definieron dos objetivos secundarios que son: a) construir un cluster de PC's que permita realizar cálculos en paralelo a alta velocidad y b) diseñar una aplicación que efectúe el obtención de contraseñas sobre ese cluster. Si bien existen publicados varios sistemas muy eficientes para la obtención de contraseñas (por ejemplo: l0phtcrack, john the ripper, etc.) en este caso se decidió desarrollar un sistema específicamente preparado para operar en cluster.

Cluster:
Un cluster es un conjunto o arreglo de computadoras, conectadas a la misma red LAN, que posee la habilidad de compartir la capacidad de procesamiento de todos los nodos de dicha red en uno de ellos.
Dado que el cisilia es un sistema multiproceso, su mayor potencia es la de poder realizar la tarea de obtención de contraseñas, en paralelo, sobre un cluster. En este caso se decidió utilizar openMosix que es un cluster del tipo balanceo de cargas de modo que el sistema mismo es totalmente transparente a las aplicaciones que corren sobre él. El openMosix es un derivado de código abierto del Mosix, y consiste en un parche al núcleo (kernel) de Linux que permite la migración automática los procesos entre los nodos en función de la disponibilidad de los recursos de los mismos. La utilización de sistemas como openMosix o Mosix permite además la construcción muy rápida de clusters, mediante el agregado como nodos de equipos que no posean estos sistemas instalados. Esto puede realizarse utilizando distribuciones especiales en CD´s booteables de sistemas como Clump/OS o Plump/OS.

Cisilia:
C isilia es un sistema de obtención de contraseñas en paralelo. La versión actual cisilia 0.7.3 obtiene contraseñas de sistemas Windows NT/2000/XP o Samba mediante el cálculo de hashes DES/MD4. Si bien cisila tiene incorporado un esquema de obtención de contraseñas mediante diccionario, el objetivo principal es el de realizar ataques de fuerza bruta en paralelo. Por ese motivo se programó como sistema multiproceso con la capacidad de ejecutarse tanto en sistemas multiprocesador (SMP) como en clusters de PC´s del tipo balanceo de carga. Cisilia divide los rangos de contraseñas que va a calcular cada subproceso y crea dichos "n" subprcesos hijos. Si cisilia se ejecuta en un cluster del tipo balanceo de carga, los diferentes subprocesos son migrados automáticamente a los diferentes nodos aumentando así la velocidad de cálculo.
Cisilia cuenta además con un esquema flexible de alimentación de conjuntos de caracteres que permitirá realizar pruebas con diferentes conjuntos con el objetivo de acelerar la obtención de contraseñas.

Xisilia:
El xisilia es una interfase gráfica (front-end) del cisilia que corre sobre Xwindow. La misma permite iniciar el cisilia pasándole los parámetros de inicio y verificar en una ventana de estadística los resultados de los procesos de obtención de contraseñas.

Condiciones iniciales:
Para la construcción del cluster se decidió utilizar Linux como sistema operativo dada su versatilidad, su calidad de sistema abierto y su potencia para poder integrarse fácilmente a un cluster. Como sistema de conexión en cluster se utilizó openMosix por la posibilidad de creación de clusters heterogéneos a través de la distribución de carga de acuerdo al nivel de disponibilidad de los recursos, además de su facilidad de instalación. Se decidió además programar una aplicación en lenguaje "C" que calcule contraseñas a partir de sus funciones "hash" de los sistemas Windows NT/2000/XP ó Samba y Unix mediante los algoritmos DES/MD4 y MD5 respectivamente.

Estado actual (24-oct-2004):
Se construyó y configuró en el CISIar un cluster de prueba basado en openMosix con 4 PC's conectadas en una LAN.
Se desarrolló una aplicación (cisilia) en lenguaje “C” que calcula contraseñas a partir de "hashes" de Windows NT/2000/XP ó Samba mediante el algoritmos DES/MD4.
Se desarrolló una interfase gráfica (xisilia) para la aplicación mencionada anteriormente.
Ambos sistemas están diseñados específicamente para ejecutarse en un cluster de PC´s sobre Linux.
El proyecto ha sido migrado del CISIar a nuestro laboratorio SI6 de CITEFA.