利用所有内核的单台PC的密码破解
3775 点击·0 回帖
![]() | ![]() | |
![]() | 通过运作的MPI建立可扩展密码破解。就目前而言,它会告诉你利用所有内核的单台PC的破解,而不是仅仅一个内核。 目标: 安装一组类似可扩展性的目录结构 安装OpenMPI 安装John的Ripper MPI 运行一个简单的测试并破解一个MD5哈希 目录结构的方法 建立一个系统,这几乎是最重要的部分,该系统的可扩展性将不会破坏你升级到最新版本的应用程序。我要迅速列出提纲,我如何为一台机器建立一个目录结构。 /apps/ /apps/myapp1/ /apps/myapp1/v1.x/ /apps/myapp1/v1.x/install/ /apps/myapp1/v1.x/x86_32/ /apps/myapp1/v1.x/x86_64/ /apps/myapp1/v2.x/ /apps/myapp1/v2.x/install/ /apps/myapp1/v2.x/x86_32/ /apps/myapp1/v2.x/x86_64/ /apps/myapp1/latest ? v2.x/ /apps/myapp1/stable ? v1.x/ /apps/myapp1/env/ /apps/ 这个基本目录为我们所有的群组用户应用。 /apps/myapp1/ 在“myapp1”这种情况下,我们为每个应用程序创建一个基本目录的子目录。 /apps/myapp1/v1.x/ 稳定版本的应用程序将低于此目录结构。将使用实际版本号作为目录名称。 /apps/myapp1/v1.x/install/ 源代码为这一特定版本将被下载、解压、并汇编于此目录。 /apps/myapp1/v1.x/x86_32/ 如果应用程序是汇编的32位处理器,那么这就将被安装并运行。 /apps/myapp1/v1.x/x86_64/ 如果应用程序是汇编的64位处理器,那么这就将被安装并运行。 /apps/myapp1/v2.x/ 最新版本的应用软件将进入下面这个目录结构。 /apps/myapp1/v2.x/install/ 源代码位这一特定版本将被下载、解压、并汇编此目录。 /apps/myapp1/v2.x/x86_32/ 如果应用程序师汇编的32位处理器,那么这就将被安装并运行。 /apps/myapp1/v2.x/x86_64/ 如果应用程序师汇编的64位处理器,那么这就将被安装并运行。 /apps/myapp1/latest ? v2.x 这是一个符号链接“latest”指向目录命名的不稳定安装的版本。 /apps/myapp1/stable ? v1.x 这是一个符号链接“stable”指向目录命名的稳定安装的版本。 这些符号链接将允许你升级软件,而不是以适应变化需要重建环境。只需修改符号连接指向新版本。如果我有“/apps/myapp1/v1.x/bin/”在所有用户.bashrc的$PATH变量,那么我将必须更新所有用户.bashrc文件,升级到“/apps/myapp1/v2.x/bin/”。通过使用“latest”和“stable”符号链接,你只需要把每个用户的.bashrc文件放置到“/apps/myapp1/stable/bin/”。当要迁移所有用户到“/apps/myapp1/v2.x/bin/”,只需修改“stable”的符号链接指向它。一个简单的更改符号链接,所有用户将自动开始使用最新版本。这对于可扩展性并可让你测试新的版本是非常重要的,不影响其他用户把“/apps/myapp1/latest/bin/”放置到你的$PATH中。 /apps/myapp1/env/ 这是脚本和修改用户环境的文件。 硬件和软件 我选择的是GNU/Linux发行版。我已经安装到一个包含“intel(R) Xeon(R) E5405 @2.00GHz”四核处理器的服务器。这就是为什么我使用“-np 4”命令。 注意:我使用的是64位的操作系统和软件,注意你的版本。 安装OpenMPI OpenMPI v1.3.2 (最新版本) / OpenMPI v1.3.1 (稳定版本) ~ # mkdir /apps ~ # mkdir /apps/openmpi 安装 v1.3.2: ~ # mkdir /apps/openmpi/v1.3.2 ~ # ln -s /apps/openmpi/v1.3.2 /apps/openmpi/latest ~ # mkdir /apps/openmpi/v1.3.2/install ~ # mkdir /apps/openmpi/v1.3.2/x86_32 ~ # mkdir /apps/openmpi/v1.3.2/x86_64 ~ # cd /apps/openmpi/v1.3.2/install ~ # wgethttp://www.open-mpi.org/software/ompi/v1.3/downloads/openmpi-1.3.2.tar.gz ~ # tar -xf openmpi-1.3.2.tar.gz ~ # cd openmpi-1.3.2 32位系统: ~ # ./configure –prefix= /apps/openmpi/v1.3.2/x86_32 64位系统: ~ # ./configure –prefix=/apps/openmpi/v1.3.2/x86_64 ~ # make ~ # make install 安装 v1.3.1: ~ # mkdir /apps/openmpi/v1.3.1 ~ # ln -s /apps/openmpi/v1.3.1 /apps/openmpi/stable ~ # mkdir /apps/openmpi/v1.3.1/install ~ # mkdir /apps/openmpi/v1.3.1/x86_32 ~ # mkdir /apps/openmpi/v1.3.1/x86_64 ~ # cd /apps/openmpi/v1.3.1/install ~ # wgethttp://www.open-mpi.org/software/ompi/v1.3/downloads/openmpi-1.3.1.tar.gz ~ # tar -xf openmpi-1.3.1.tar.gz ~ # cd openmpi-1.3.1 32位系统: ~ # ./configure –prefix= /apps/openmpi/v1.3.1/x86_32 64位系统: ~ # ./configure –prefix=/apps/openmpi/v1.3.1/x86_64 ~ # make ~ # make install ~ # mkdir /apps/openmpi/env ~ # cd /apps/openmpi/env ~ # echo ‘export PATH=${PATH}:/apps/openmpi/latest/x86_64/bin’ >prepenv_latest ~ # echo ‘export PATH=${PATH}:/apps/openmpi/stable/x86_64/bin’ >prepenv_stable 编辑/etc/env.d/00basic并修改LDPATH: LDPATH=”/usr/local/lib:/apps/openmpi/latest/x86_64/lib:/apps/openmpi/stable/x86_64/lib” ~ # env-update ;; source /etc/profile 运行OpenMPI健全检查: ~ # source /apps/openmpi/env/prepenv_latest ~ # mpirun -np 4 hostname 最后的命令,上面输出的电脑主机四倍。不低,不高,四倍。如果是的话,那么你的“最新”OpenMPI版本正在工作。 ~ # env-update ;; source /etc/profile ~ # source /apps/openmpi/env/prepenv_stable ~ # mpirun -np 4 hostname 最后的命令,上面输出的电脑主机四倍。不低,不高,四倍。如果是的话,那么你的“稳定”OpenMPI版本正在工作。 安装John the Ripper MPI John the Ripper MPI v1.7.3.1 ~ # mkdir /apps/jtr 安装 v1.7.3.1: ~ # mkdir /apps/jtr/v1.7.3.1 ~ # ln -s /apps/jtr/v1.7.3.1 /apps/jtr/latest ~ # mkdir /apps/jtr/v1.7.3.1/install ~ # mkdir /apps/jtr/v1.7.3.1/x86_32 ~ # mkdir /apps/jtr/v1.7.3.1/x86_64 ~ # cd /apps/jtr/v1.7.3.1/install ~ # wgethttp://www.bindshell.net/tools/johntheripper/john-1.7.3.1-all-2-mpi8.tar.gz ~ # tar -xf john-1.7.3.1-all-2-mpi8.tar.gz ~ # cd john-1.7.3.1-all-2-mpi8/src 32位系统: ~ # make linux-x86-sse2 64位系统: ~ # make linux-x86-64 | |
![]() | ![]() |