You are on page 1of 7

Inicio

Blog

Foro

Contacto

Quines somos?

Marcadores

Acceder

Reg

Creando un cluster casero para cracking en Linux


! 00000000 " octubre 3, 2012 # RIC Criptografa Creando un cluster casero para cracking en Linux $3
Twittear 36 Compartir 32

Buscar

Buscar

Encuntranos en

Red Informatica Colombiana


Me gusta 418

Seguir a @redinfocol

Amigos

Colombia Maztor

El tiempo de procesamiento de un hash depende de muchos factores, uno de estos es la potencia que evala el hash sobre el procesador, por este motivo se hace necesario implementar nuevas soluciones a nuevos algoritmos que hacen la tarea mas difcil pero no imposible de descifrar estos hash. Crear un cluster para el procesamiento distribuido hace esta tarea mas amena y mucho mas agradable tendiendo los tiempos a logartmicos y aumentando la capacidad de respuesta para mltiples escalas de complejidad.

Neobits Seguridad Informtica Colombiana World of wargame Yashira

Qu vamos hacer?
En este proyecto utilizaremos un clster en una distro Linux para distribuir el proceso de cracking en diferentes maquinas con el n de lograr un rendimiento mayor que en un solo computador.

Conceptos bsicos
Qu es un clster? Conjuntos o conglomerados de computadoras construidos mediante la utilizacin de componentes de hardware comunes y que se comportan como si fuesen una nica computadora. (Wikipedia) Qu es Cracking? Es un proceso informtico que consiste en descifrar la contrasea de determinadas aplicaciones elegidas por el usuario. Se busca codicar los cdigos de cifrado en todos los mbitos de la informtica. Se trata del rompimiento o desciframiento de claves. (Wikipedia) Qu es Mpi? Es un estndar que dene la sintaxis y la semntica de las funciones contenidas en una biblioteca de paso de mensajes diseada para ser usada en programas que exploten la existencia de mltiples procesadores. (Wikipedia)

Manos a la obra
Para crear este proyecto necesitaremos una distribucin Linux en este caso para comodidad del usuario usaremos Ubuntu 10.10, lo pueden descargar aqu, Para este ejemplo usaremos maquinas virtuales con virtual box para facilitar en entendimiento de lo que se est haciendo.

Hay que recordar que se necesitarn dos maquinas virtuales para esta prueba una que ser el servidor y otro que ser el nodo, las maquinas virtuales tienen que estar conguradas con esta caracterstica:

Lo que debemos hacer es instalar las dos maquinas virtuales Ubuntu 10.10, luego que tengamos instaladas las dos procedemos con abrir una y en ella abrir una terminar y escribir los siguientes paquetes que vamos a instalar. Esta mquina donde descargaremos nuestros paquetes ser nuestro servidor. Paquetes a instalar 1. Jhon the ripper: Es un programa para cracking que aplica fuerza bruta para descifrar contraseas. Es capaz de romper varios algoritmos de cifrado o hash, como DES, SHA-1 y otros. 2. Openssh-server: Es un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a travs de una red, usando el protocolo SSH. Fuecreado como una alternativa libre y abierta al programa Secure Shell, que es software propietario. 3. libmpich1.0-dev: PICH es un programa de biblioteca de desarrollo de libre disposicin implementacin portable de MPI, una norma estndar de paso de mensaje para aplicaciones de memoria distribuida que utilizan computacin paralela. MPICH es software gratuito y disponible para la mayora de sistemas Unix (incluyendo Linux y Mac OS X) y Microsoft Windows. libmpich1.0-dev libmpich-mpd1.0-dev libmpich-shmem1.0-dev mpich2 En resumen para instalar dichos paquetes escribimos en la consola: 1 2 sudo apt-get install libmpich1.0-dev libmpich-mpd1.0-dev libmpich-shmem1.0-dev mpich2 john openssh-server

Con este mini script descargaremos y instalaremos todos los paquetes necesarios para crear nuestro clster para cracking. Ahora lo siguiente es congurar la red del clster para que cada nodo se pueda comunicar entre si, en la misma terminal escribimos 1 gedit /etc/hosts

En ese archivo nos aparecern dos primeras lneas las cuales debemos cambiar la segunda, la direccin ip que aparece (127.0.0.1) por la direccin interna que poseemos, en este caso sino tenemos direccin basta hacer un ifcong para verla.

Ahora para crear una direccin IP con su mscara hacemos dentro de la terminal: 1 sudo ifconfig eth1 192.168.0.3 netmask 255.255.255.0

Donde 192.168.0.3 es la IP de tu maquina. Con esto ya tenemos habilitada nuestra tarjeta de red dentro de la red interna con su respectiva direccin IP. Ahora si cambiamos y guardamos nuestros datos dentro del archivo hosts: 127.0.0.1 localhost 192.168.0.3 virus-laptop servidor Ahora lo que haremos sera crear el ususario cluster con el cual nos comunicaremos con los demas nodos , en la misma consola escribimos: 1 2 3 4 5 6 sudo useradd -m -s /bin/bash cluster //creamos el usuario cluster sudo passwd cluster // creamos la contrasea para el usuario cluster Enter new UNIX password: // Retype new UNIX password: passwd: password updated successfully sudo su - cluster -c "mkdir ~/bin;export PATH=~/bin:$PATH" // Creamos la carpeta en la cual podremos dejar pblico hacia los dems nodos la informacin que se necesite procesar.

Congurando MPICH Creamos un archivo que va hacer nuestro men de conguracin del clster este debe ir en el directorio ~ 1 touch ~/.mpd.conf

Lo abrimos y ponemos dentro: 1 2 Gedit ~/.mpd.conf secretword=ricteam

Guardamos y listo. Esta conguracin la tenemos que hacer en todos los nodos.

Ahora crearemos el archivo donde estar la informacin de los procesadores de cada nodo , esto servir para que el programa MPICH sepa cuantos procesadores puede utilizar: 1 2 touch ~/mpd.hosts gedit ~/ mpd.hosts

Lo abrimos y escribimos el numero de procesadores que queremos que utilice. Para saber el nmero de procesadores que tiene nuestra PC escribimos en la terminal 1 sudo cat /proc/cpuinfo

De esta forma podemos poner el numero de procesadores deseado para el procesamiento de MPICH. Luego que sepamos cuantos procesadores vamos a poner en la conguracin de mpd.hosts escribimos dentro de este archivo 192.168.0.3:1 en este caso es 1 procesador el que deseamos poner con MPICH. Ahora probaremos si el servidor clster funciona correctamente para eso haremos uso de tres comandos: Mpdboot: Poner en marcha el entorno MPICH2Mpdtrace : devuelve las mquinas que se encuentran dentro del cluster. mpd help : informacin del comando mpdallexit : Apaga el entorno MPICH2 Si todo sale bien podemos continuar con la siguiente etapa sino es porque posiblemente no le hemos dado permiso al archivo ~/mpd.hosts Congurando a Jhonsito (Jhon The Ripper) Vamos a descargar el paquete que permite utilizar a nuestros programas de craking para varios procesadores: 1 cluster@virus-laptop:~$ mkdir source

2 3 4

cluster@ virus-laptop:~$ cd source cluster@ virus-laptop:~/source$ wget http://www.bindshell.net/tools/johntheripper/john-1.7.2-bp17mpi8.tar.gz mpi8.tar.g

Desempaquetamos el jtr 1 tar zxvf john-1.7.2-bp17-mpi8.tar.gz

Nos cambiamos de directorio 1 cd john-1.7.2-bp17-mpi8/src

Lo instalamos 1 make generic

Para comprobar que el Jhon The Ripper quede bien congurado ejecutamos la siguiente instruccin ubicndonos en la carpeta john-1.7.2-bp17-mpi8/run: 1 john -format=DES test

Movemos todo a la carpeta bin para manejar el jhon de forma ms cmoda 1 mv * ~/bin

Como podemos ver la ejecucin fue satisfactoria y procedemos a continuar congurando los nodos del clster. Ahora debemos congurar los nodos los cuales debern tener la misma contrasea y el mismo usuario que anteriormente llamamos clster. Primero: repetimos la segunda etapa y agregamos esto 1 sudo ifconfig eth1 192.168.0.2 netmask 255.255.255.0

Con esto ya tenemos habilitada nuestra tarjeta de red dentro de la red interna con su respectiva direccin ip. Segundo: pasamos a congurar el MPICH. Todo esto lo haremos desde el usuario clster del servidor

cluster@radical es el mismo cluster@virus-laptop

Lo que hicimos all arriba fue crear una llave de identicacin pblica la cual nos servir para que todos los nodos nos reconozcan , ahora el siguiente paso es mandar nuestra llave publica a los dems nodos para que nos reconozcan:

Con esto lo que hicimos fue crear una carpeta para alojar nuestras llaves

Mandamos nuestra llave al nodo

Le decimos cuantos procesadores tenemos para utilizar

Donde dice passphrase colocamos ricteam. Por ltimo abrimos nuestro men de conguracin de clster y ingresamos el nuevo nodo. 1 gedit ~/mpd.hosts

Escribimos dentro :192.168.0.2:0 Scp: es un programa que reemplaza al FTP, y a diferencia de ste, es seguro. Es decir la informacin de usuario y claves, as como el contenido de los archivos transferidos son encriptados antes de ser transferidos para evitar que puedan ser espiados en su paso por la red. Ahora ejecutamos este script: for i in `cut delimiter=: -f1 ~/mpd.hosts`; // desde i vamos a delimiter los campos para que cada maquina copie del servidor el archive mpd.hosts do scp ~/.mpd.conf cluster@$i:~;// para cada uno de las maquinas que posean este usuario haga una copia scp ~/mpd.hosts cluster@$i:~;done // copiamos el archivo mpd.hosts en cada mquina con el usuario cluster

Crackeando diferentes cifrados


Mpiexec: Asume una estructura de directorios homognea en el clster, buscando el ejecutable por defecto en el directorio actual de trabajo. Sobre la terminal del usuario clster del servidor escribimos: 1 2 3 echo 497b0bd7178e735eef67720b00c9fc96> dato.txt mpdboot for i in `cut --delimiter=: -f1 ~/mpd.hosts`;do scp ~/dato.txt cluster@$i:~;done //repartimos el archivo para su ejecucion conjunta

Por ultimo ejecutamos: 1 mpiexec -np 3 john --format:raw-MD5 dato.txt // manda seal a cada nodo para que haga el trabajo uno por parte del archivo pero todos al mismo tiempo.

Hasta aqu ya deberas tener tu propio cluster para cracking distribuido

% cluster, cracking, hash

Por 00000000 Radical es ingeniero de sistemas, le gusta estar en constante aprendizaje y crear aplicaciones que automaticen procesos. Es un apasionado por los patrones en ingeniera social, procesamiento del lenguaje natural y la interaccin hombre mquina. Portavoz de RIC.

Artculos Relacionados

Ingeniera inversa en aplicaciones de Android II

Hash: Cmo identicarlos y crackearlos

Podcast: Cluster balanceador de carga, divide y vencers

3 Comentarios
pedro - julio 24, 2013, 7:31 pm
Responder

quiero hacer un clouster con ubuntu 10.10 y 4 laptops q deberia hacer sin lo craking

t - octubre 19, 2013, 9:06 pm

Responder

hola, en la parte que dice Creamos un archivo que va hacer nuestro men de conguracin del clster este debe ir en el directorio ~ 1 touch ~/.mpd.conf Lo abrimos y ponemos dentro: 1 Gedit ~/.mpd.conf 2 secretword=ricteam Guardamos y listo. Esta conguracin la tenemos que hacer en todos los nodos. solo voy a guardar secretword=ricteam? o tambin gedit? y a todos los nodos te reeres a las maquinas que conectare? quiero usar aparte del servidor otras dos laptop mas

gustavo - diciembre 19, 2013, 3:14 pm

Responder

Hola, y para hacer ese procedimiento con maquinas reales que necesito para unir las maquinas?, algn cable que las una?, si es as como se llama el cable?

Deja un comentario
Tu email no ser publicado.

Nombre *

Email *

Sitio Web

Comentar

Comentar
Acceder con Facebook

Usuarios

Nuevos

Activo

Popular

UrbaN77
activo hace 17 horas, 58 minutos

Adnanref Zerreitug
activo hace 1 semana, 5 dias

Juan Carlos Herrera Betanco


activo hace 2 semanas, 2 dias

Mario Martnez Jr.


activo hace 4 semanas, 1 dia

Zarek Zama
activo hace 1 mes, 3 semanas

Categoras

Bases de datos Criptografa CTF Desarrollo Documentacin Esteganograa Eventos

General Herramientas Humor Ingeniera inversa Laboratorios Maratones Papers Podcast Proyectos Seguridad Informatica SO Utilidades Web WriteUp

RedInfoCol 2007 - 2013 Todos los derechos reservados bajo licencia Creative Commons Colombia

You might also like