Objetivos:
Intentaremos conectar todos nuestros PCs para poder tener un rendimiento mas elevado a la hora de realizar una tarea, que en este caso sera la de crackear hashes.Conceptos básicos:
¿Qué es un clúster?
Conjuntos o conglomerados de computadoras construidos mediante la utilización de componentes de hardware comunes y que se comportan como si fuesen una única computadora. (Wikipedia)¿Qué es Cracking?
Es un proceso informático que consiste en descifrar la contraseña de determinadas aplicaciones elegidas por el usuario. Se busca codificar los códigos de cifrado en todos los ámbitos de la informática. Se trata del rompimiento o desciframiento de claves. (Wikipedia)¿Qué es Mpi?
Es un estándar que define la sintaxis y la semántica de las funciones contenidas en una biblioteca de paso de mensajes diseñada para ser usada en programas que exploten la existencia de múltiples procesadores. (Wikipedia)
Comenzamos
Para este tutorial usare la ultima versión de Ubuntu y VMware (Si desean uno libre VirtuaBox) , aunque pueden usar cualquier distribución Linux y obviamente si lo que pretendemos es usar varios ordenadores no usaremos maquinas virtualizadas sino reales.
Bueno no es explicare como instalar VirtualBox ni el Ubuntu pero si tienen dudas solo devén mandarme un mensaje o dejar un comentario y gustosamente les contestare lo antes posible.
Instalando servidor:
- Necesitaremos un programa que nos permita realizar ataques de fuerza bruta que sea capaz de romper algoritmos de cifrado o hash, como SHA-1, DES, MD5 y otros. En nuestro caso usaremos Jhon the ripper pero perfectamente podreis usar otro si os familiarizais mas con el.
- Openssh-server o si no quieren usar software libre Secure Shell . Lo utilizaremos para realizar comunicaciones cifradas a traves de una red usando el protocolo SSH.
- Y por ultimo el paquete libmpich1.0-dev en el que encontraremos PICH que es un programa de biblioteca de desarrollo de libre disposición implementación portable de MPI, una norma estándar de paso de mensaje para aplicaciones de memoria distribuida que utilizan computación paralela. MPICH es software gratuito y disponible para la mayoría de sistemas Unix (incluyendo Linux y Mac OS X) y Microsoft Windows.
- libmpich1.0-dev
- libmpich-mpd1.0-dev
- libmpich-shmem1.0-dev -
- mpich2
Con este mini script descargaremos y instalaremos todos los paquetes necesarios para crear nuestro clúster para cracking. Ahora lo siguiente es configurar la red del clúster para que cada nodo se pueda comunicar entre si, en la misma terminal escribimossudo
apt-get
install
libmpich1.0-dev libmpich-mpd1.0-dev
libmpich-shmem1.0-dev mpich2 john openssh-server
1
| gedit /etc/hosts |
1
| sudo ifconfig eth1 192.168.0.3 netmask 255.255.255.0 |
127.0.0.1 localhost 192.168.0.3 virus-laptop servidorAhora lo que haremos sera crear el ususario cluster con el cual nos comunicaremos con los demas nodos , en la misma consola escribimos:
sudo useradd -m -s /bin/bash cluster //creamos el usuario cluster sudo passwd cluster // creamos la contraseña 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 público hacia los demás nodos la
información que se necesite procesar. |
Configurando MPICH
Creamos un archivo que va hacer nuestro menú de configuración del clúster este debe ir en el directorio ~
touch ~/.mpd.conf |
Gedit ~/.mpd.conf secretword=ricteam |
touch ~/mpd.hosts gedit ~/ mpd.hosts |
sudo cat /proc/cpuinfo |
- Mpdboot: Poner en marcha el “entorno” MPICH2Mpdtrace : devuelve las máquinas que se encuentran dentro del cluster.
- mpd –help : información del comando
- mpdallexit : Apaga el “entorno” MPICH2
Configurando a Jhonsito (Jhon The Ripper)
Vamos a descargar el paquete que permite utilizar a nuestros programas de craking para varios procesadores:
cluster@virus-laptop:~$ mkdir source cluster@ virus-laptop:~$ cd source cluster@ virus-laptop:~/source$ |
tar zxvf john-1.7.2-bp17-mpi8.tar.gz |
cd john-1.7.2-bp17-mpi8/src |
make generic |
john -format=DES –test |
mv * ~/bin |
Como podemos ver la ejecución fue
satisfactoria y procedemos a continuar configurando los nodos del
clúster. Ahora debemos configurar los nodos los cuales deberán tener la
misma contraseña y el mismo usuario que anteriormente llamamos clúster.
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 dirección ip.
Segundo: pasamos a configurar el MPICH. Todo esto lo haremos desde el usuario clúster del servidor
Lo que hicimos allí arriba fue crear una
llave de identificación pública la cual nos servirá para que todos los
nodos nos reconozcan , ahora el siguiente paso es mandar nuestra llave
publica a los demás 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 configuración de clúster y ingresamos el nuevo nodo.
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 información 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 máquina con el usuario cluster
Crackeando diferentes cifrados
Mpiexec: Asume una estructura de
directorios homogénea en el clúster, buscando el ejecutable por defecto
en el directorio actual de trabajo. Sobre la terminal del usuario
clúster del servidor escribimos:
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:
mpiexec
-np 3 john --format:raw-MD5 dato.txt // manda señal a cada nodo para
que haga el trabajo uno por parte del archivo pero todos al mismo
tiempo. |
hola me parece muy interesante este post, con esto me imagino que la contraseñad que esta en el archivo shadow puede ser decifrada, podrias decirme que debo hacer para conseguir esa contraseña, lo digo porque me gustaria presentarlo como proyecto de fin de curso de mi instituto gracias espero tu respuesa mi correo es tito260784@hotmail.com un saludo
ResponderEliminar