转载

利用MPI在Kali Linux集群上并行破解密码

1.配置环境与安装

1.1所需环境和软件

运行环境:

至少两台装有kali-linux 的电脑。

kali-linux-1.0.7 内核版本:3.14。

两台电脑需要能互联,且需要有静态IP,可用PING命令测试。

所需软件与简介:

1. mpich2

MPI是一个跨语言的通讯协议,用于编写并行计算机。支持点对点和广播。MPI是一个信息传递应用程序接口,包括协议和和语义说明,他们指明其如何在各种实现中发挥其特性。MPI的目标是高性能,大规模性,和可移植性。MPI在今天仍为高性能计算的主要模型。而MPICH是MPI标准的一种最重要的实现,可以免费从网上下载。MPICH的开发与MPI规范的制订是同步进行的,因此MPICH最能反映MPI的变化和发展。

2. openssh

OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。

3. john the ripper 1.8.0 (或者john the ripper 1.7.1)

John the Ripper免费的开源软件,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。目前的最新版本是John the Ripper 1.8.0版,针对Windows平台的最新免费版为John the Ripper 1.7.9版。

1.2安装过程

把两台主机分为一个主节点,一个从节点,配置基本相同,先从主节点为例开始配置

1.2.1安装配置MPICH

MPICH跟大多的Linux软件一样,有两种安装方式:apt-get和源码编译安装

第一种比较简单,可以网上自行搜索,命令为

sudo apt-get install mpich2

不再赘述。

第二种步骤如下:

1).下载源码包 

root@localhost:~/Desktop# cpmpich2-1.0.2p1.tar.gz ~/

复制到当前用户的主目录  (~指的是你当前用户的主目录,这里必须注意,两台主机需要配置相同的路径,否则会找不到文件)

2).解压

root@localhost:~# tar -zxvfmpich2-1.0.2p1.tar.gz

3).安装

root@localhost:~/mpich2-1.0.2p1#./configure --prefix=/usr/mpich2-1.0.2  #/usr/mpich2-1.0.2 为安装目录 root@localhost:~/mpich2-1.0.2p1# make root@localhost:~/mpich2-1.0.2p1# makeinstall

4).配置HOSTS文件

root@localhost:~/mpich2-1.0.2p1#leafpad /etc/hosts

#127.0.0.1 localhost

192.168.1.119 node1  #为主节点在局域网IP地址

192.168.1.105 node2   #为从节点在局域网IP地址

利用MPI在Kali Linux集群上并行破解密码

1.配置MPICH

有两个配置文件需要建立

1).mpd.conf

root@localhost:~/mpich2-1.0.2p1#leafpad /etc/mpd.conf

(kali默认的是leafpad 用不习惯安装个gedit 或者使用vi都可以)

编辑内容为

secretword=密码  –> 这个为集群密码所有节点的密码都需要一致才能进行集群通信

root@localhost:~# chmod 600/etc/mpd.conf

#这里必须设置chmod600 否则会报错

利用MPI在Kali Linux集群上并行破解密码

2).mpd.hosts

用到前面HOSTS文件里配置的信息

root@localhost:~/mpich2-1.0.2p1#leafpad /etc/mpd.hosts

利用MPI在Kali Linux集群上并行破解密码

设置环境变量

exportPATH=$PATH:/usr/mpich2-1.0.2/bin/

测试环境变量

利用MPI在Kali Linux集群上并行破解密码

1.2.2配置SSH

安装openssh-server

root@localhost:~# apt-get install openssh-server

启动ssh服务

root@localhost:~# service ssh start

启动成功

利用MPI在Kali Linux集群上并行破解密码

配置SSH免密码登录

root@localhost:~#ssh-keygen -t rsa    #生成.ssh目录  主节点和从节点分别运行 root@localhost:~#scp node2:~.ssh/*  ~/.ssh   拷贝node2上的.ssh目录到本地的.ssh

测试SSH,成功会进入控制台

root@localhost:~# ssh node1 root@localhost:~# ssh node2

到此已经配置完MPICH环境测试一下

在主节点上设置

root@localhost:~# hostname node1

在从节点上设置

root@localhost:~# hostname node2
root@localhost:~# mpdboot -n 2  -f mpd.hosts –verbose

利用MPI在Kali Linux集群上并行破解密码

然后测试

mpirun –n 2 hostname #输出主机名

测试结果

利用MPI在Kali Linux集群上并行破解密码

1.2.3安装支持MPI的John TheRipper

John在 1.7.7-jumbo-5版本开始已经支持MPI,下面介绍一下支持MPI版本和MPI补丁版本各自的安装方式

1) MPI补丁版本 例如john-1.7.3.1-all-2-mpi8

编译john the ripper

解压

root@node1:~/john-1.7.3.1-all-2-mpi8/src#make clean root@node1:~/john-1.7.3.1-all-2-mpi8/src#make

选择合适的版本

利用MPI在Kali Linux集群上并行破解密码

这里linux-x86-sse2适合我的电脑所以选择编译

root@node1:~/john-1.7.3.1-all-2-mpi8/src#make linux-x86-sse2

是否安装成功可进入run 输入./john –test进行测试

root@node1:~/john-1.7.3.1-all-2-mpi8#cd run/ root@node1:~/john-1.7.3.1-all-2-mpi8  /john -test

利用MPI在Kali Linux集群上并行破解密码

2) 支持MPI版本,例如最新版本

在Makefile中修改如下

CC = mpicc -DHAVE_MPI -DJOHN_MPI_BARRIER-DJOHN_MPI_ABORT MPIOBJ = john-mpi.o

也就是将原来的 CC= gcc

改为

CC = mpicc -DHAVE_MPI-DJOHN_MPI_BARRIER -DJOHN_MPI_ABORT

并添加一行

MPIOBJ = john-mpi.o

然后

root@node1:~/john-1.8.0/src#make clean root@node1:~/john-1.8.0/src#make

选择合适的版本

是否安装成功可进入run 输入./john –test进行测试

最后测试一下MPI+Joan是否安装成功,成功的话,就可以进行接下来激动人心的并行密码破解了。

root@node1:~/john-1.8.0# cdrun/ root@node1:~/john-1.8.0 /john-test

2.利用John+MPI 破解密码

2 .1利用John+MPI 破解raw-MD5

这里演示john-1.7.3.1-all-2-mpi8版本

root@node1:~/#  echo username:efa4231e24c356d525a259f0b204404e > test.md5

从节点上需要配置相同的文件

root@node2:~/#scp -r node1:~/test.md5  ~/  # #从节点,两台主机需要待破解文件,配置在相同路径下

root@node1:~/#mpirun -n 2~/john-1.7.3.1-all-2-mpi8/run/john --format=raw-MD5~/john-1.7.3.1-all-2-mpi8/run/test.md5

Raw-MD5结果

利用MPI在Kali Linux集群上并行破解密码

2.2利用John+MPI 破解linux密码

这里演示john-1.8.0最新版本

root@node1:~/John/john-1.7.3.1-all-2-mpi8/run#tail -n 1  /etc/shadow >>  linux.password root@node1:~/John/john-1.7.3.1-all-2-mpi8/run#cp linux.password ~/

root@node2:~/#scp -r node1:~/linux.password ~/  #从节点

root@node1:~/mpich2-1.0.2p1/bin# ./mpirun -n 4~/john-1.8.0/run/john  ~/linux.password

破解linux密码结果

利用MPI在Kali Linux集群上并行破解密码

正文到此结束
Loading...