初探开源分布式WPA破解程序moscrack

最近玩moscrack这个开源的分布式破解程序,但苦于网上没有一篇step by step的使用指南(不管中文还是英文),跟着说明自己摸索了两个晚上,记录下来供有需要的同学参考。感兴的朋友可以和我一起讨论如何更好地利用这个项目。

项目地址:https://sourceforge.net/projects/moscrack/

一、简要说明

1.运行模式:Moscrack根据字典文件的共享机制不同,分两个运行模式,copy和share,copy模式比较简单,本文也是基于该模式介绍。

2.网络连接模式:moscrack的主机和节点间的网络连接可以有ssh、rsh、mosix等多种模式,本文基于最常见的ssh。

ssh的配置请参考:http://blog.163.com/lgh_2002/blog/static/44017526201011333227161/。配置成功后,主机应能够无需输入密码就连接上各节点。注意,ssh连接各个节点的用户名必须相同,后面设置时会用到。

3.破解工具:moscrack默认调用的破解工具是aircrack-ng,这个必须要有吧。

4.本文是在kali linux 下调试通过。

二、安装

在项目网站下载压缩包,目前最新版是moscrack-2.08b.tar.gz,解压后开始安装。Moscrack的安装分主机(Master)和节点(Node),过程差不多,但Master的设置比Node稍多几个步骤,下面先说主机的设置。

1. 运行./install_modules,检查运行环境,如果有缺项,根据提示进行安装;如果符合要求,显示全部模块安装完成:

Looking for required modules:
 
  Switch
  DateTime
  Math::Round
  Getopt::Lucid
  Acme::Tools
  Storable
  File::Basename
  Struct::Compare
  LWP::UserAgent
  HTTP::Request
  Config::Std
  Socket
  Net::SSH2
  File::Copy
  IPC::Open3
  Term::ANSIColor
  Term::ReadKey
  DateTime::Format::Duration
  CGI
  JSON
 
All modules are installed

2. 将moscrack(主程序), mosctop(命令行版运行情况监视程序), moscapid(主服务)等几个关键文件加入运行路径(README中推荐复制到/usr/local/bin),这个看个人喜好。

3. 将moscrack.cgi(网页版的运行状态监视程序)复制到cgi的运行目录中,一般来说是/var/www/cgi-bin(至于如何设置apache2服务可运行cgi程序,请自行搜索)。

4. 建立程序设置文件的存放目录,mkdir /etc/moscrack,并将moscrack.conf文件和plugins目录复制到该目录下。

5. 建立程序运行的主目录,mkdir /opt/moscrack,并将解压包里的其他文件都复制到这个目录下。

6. 设置nodes.dat,也就是设置计算网络的各个节点,这是moscrack运行成功关键的步骤之一,nodes.dat里自带说明和示例,以我的运行环境为例:一台主机,一台节点计算机(192.168.1.100),ssh连接,那么核心内容就下面两句:

    127.0.0.1:local::1500
    192.168.1.100:ssh::2500

冒号分隔的四段内容意义是:“名称或IP:类型:过期时间:破解速度(key/秒)”

第一行,主机设置,名称可随意设置,这里我就写的127.0.0.1,类型就是“local”,过期时间留空代表该节点始终有效,运算速度是我参考aircrack-ng单机破解时的数据,可以看到,我的主机(笔记本电脑)设置为1500个key每秒。

第二行,节点设置,IP为192.168.1.100,类型是ssh,不过期,运行速度设置为2500个key/秒。

Nodes.dat还支持运行过程中动态增减节点,条件所限,我还没有试过。

7. 设置/etc/moscrack/moscrack.conf,这是成功运行moscrack的第二个关键步骤。打开后,所有需要设置的地方都有说明,几个必须设置好的地方如下。一是路径设置,要与本机安装moscrack的相关路径对应上:

[paths]
 
home = /opt/moscrack
 
nodeTmp = /tmp
 
nodesFile = /opt/moscrack/nodes.dat
 
logFile = /opt/moscrack/moscrack.log
 
plugins = /etc/moscrack/plugins
 
capFiles = /opt/moscrack/cap
 
wordFiles = /opt/moscrack/words

二是网络连接设置,本文是基于ssh连接,就修改ssh部分内容,主要是明确ssh连接的用户名(这里是root),私钥和公钥的位置。

[ssh]
# user - User name to use for SSH nodes. If commented out, it defaults to the current user.
user = root 
 
# privateKey - Your ssh private key, used to access ssh nodes
privateKey = /root/.ssh/id_rsa
 
# publicKey - Your ssh public key, matching pair to privateKey above (required by moscd)
publicKey = /root/.ssh/id_rsa.pub

其他内容,大家可以参照README进行,但上面这个部分设置完,程序就可以运行。

到这里,主机的安装和设置工作告一段落。下面看一下节点计算机如何安装。在网络节点安装moscrack的步骤,从1到5完全一样,步骤6直接跳过(网络节点无须设置nodes.dat),步骤7主要将路径设置好,无须设置ssh。

三、运行

1. 启动ssh服务(主机和节点):/etc/init.d/ssh start

2. 运行moscapid(主机和节点)

3. 根据需要,另开一个终端,运行mosctop,从命令行监视程序运行状况;也可以选择运行/var/www/cgi-bin/moscrack.cgi,从浏览器上进行监视。

4. 运行moscrack进行破解:

moscrack -c /XXXX/XXXX.cap -e "XXXX_ESSID" -w /XXXX/XXXX.dic

四、使用效果

下图所示是一个破解程序正在进行之中,每秒破解速度达到3955个key。由于网络传输会损耗一定时间,实际提速效果无法完全达到两台计算机运行能力之和,但确实比单机提速明显。

Moscrack项目还提供了一个livecd的镜像文件,里面已安装moscrack并做好各项设置,理论上在节点计算机上运行即可,无赖与我的网卡不兼容,启动后找不到网卡。

本文只是初步介绍moscrack的使用,很多功能尚未深入发掘,本人也很有兴趣和大家探讨如何更广泛的利用网络资源(比如云计算资源)来提升破解速度的话题,有兴趣的来我博客(http://tankaiha.blog.51cto.com)共同讨论。

初探开源分布式WPA破解程序moscrack,布布扣,bubuko.com

时间: 08-08

初探开源分布式WPA破解程序moscrack的相关文章

如何快速写一个分布式实时应用程序

在开源搜索引擎Iveely的0.8.0中,我们有提到Iveely Computing实时计算平台,因为Iveely搜索引擎也是基于这个平台做的开发,因此,我们可以利用这个平台,轻松构建分布式实时应用程序.在开始构建程序之前,请按照这里部署Iveely Computing,确定部署无误之后,我们可以从下面代码开始学习. 不管是hadoop还是storm,都会在入门的时候,有一个WordCount示例,Iveely Computing也不例外. 首先,WordCount代码如下: /* * To c

(第8篇)实时可靠的开源分布式实时计算系统——Storm

摘要: 在Hadoop生态圈中,针对大数据进行批量计算时,通常需要一个或者多个MapReduce作业来完成,但这种批量计算方式是满足不了对实时性要求高的场景.那Storm是怎么做到的呢? 博主福利 给大家赠送一套hadoop视频课程 授课老师是百度 hadoop 核心架构师 内容包括hadoop入门.hadoop生态架构以及大型hadoop商业实战案例. 讲的很细致, MapReduce 就讲了 15 个小时. 学完后可以胜任 hadoop 的开发工作,很多人学的这个课程找到的工作. (包括指导

Java 开源分布式缓存框架Ehcache

Ehcache 是一个Java实现的开源分布式缓存框架,EhCache 可以有效地减轻数据库的负载,可以让数据保存在不同服务器的内存中,在需要数据的时候可以快速存取.同时EhCache 扩展非常简单,官方提供的Cache配置方式有好几种.你可以通过声明配置.在xml中配置.在程序里配置或者调用构造方法时传入不同的参数. 以下是EhCache 的架构图: Ehcache有以下特点: 存取速度非常快,性能很不错. 可以应用多种缓存策略. 分级缓存,用户可以指定哪些数据在硬盘中缓存,哪些数据在内存中缓

.NET开源分布式日志框架ExceptionLess实战演练(公开版)

一.课程介绍 在以前,我们做日志收集大多使用 Log4net,Nlog 等框架,在应用程序变得复杂并且集群的时候,可能传统的方式已经不是很好的适用了,因为收集各个日志并且分析他们将变得麻烦而且浪费时间.相信大家的项目中日志功能已经做为基础设施里必不可少的一部分了,日志记录不仅可以更好的记录用户行为,还可以记录系统运行日志,从而看到判断系统运行的健壮性.了解决实时日志监控问题,ELK提供的一套的解决方案就应运而生了 ,作为NET技术的我们,开源的轻量级分布式ExceptionLess 日志框架或许

asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

原文:asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionless的学习做下笔记! Exceptionless是什么?能做什么呢? “Exceptionless”这个词的定义是:没有异常.Exceptionless可以为您的ASP.NET.We

个人第一个开源分布式项目distributeTemplate的实现三 网络通讯netty传输大文件

今天 我将讲讲网络通讯,这里我初始版本 由于采用的事Netty框架  所以 这里讲网络Netty在我们这里是怎么使用的,下周开始添加rpc lucene内容了 实现之后的0.2 0.3版本,后面将会去掉netty依赖 采用原生的NIO2 (aio) 异步非阻塞方式 实现自己网络通讯,也就是说 这部分可能会实现一个简单的但是比netty精简高效的网络框架,后期做出来 可能会单独开一个分支开源出来,netty说白了 就是 事件驱动 以及 NIO 加一些协议 以及 异常 处理,废话不多说了. 我最近

开源分布式游戏服务端引擎kbengine

服务端引擎: http://www.kbengine.org 什么是KBEngine? 一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互, 使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d, HTML5, 等等)技术结合形成一个完整的客户端. 服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术, 将精力真正集中到游戏开发层面上来,快速的打造各种网络游戏. (经常被问到承

动网论坛密码暴力破解程序代码

我们通常这么写 using (SqlDataReader drm = sqlComm.ExecuteReader()) { drm.Read();//以下把数据库中读出的Image流在图片框中显示出来. MemoryStream ms = new MemoryStream((byte[])drm["Logo"]); Image img = Image.FromStream(ms); this.pictureBox1.Image = img; } 我的写数据 private void b

elk开源分布式日志分析平台

elk 开源分布式日志分析平台 一.简介1.核心组成2.三大组件3.elk 的工作流程4.elk 的帮助手册二.Logstash 和 elasticsearch(elasticsearch 和 logstash 依赖 java环境)1.java2.nginx 的安装3.redis 的安装4.安装 elasticsearch5.安装 logstash6.安装 kibana三.检验 elk 的日志结果 一.简介1.核心组成>.elk 由 Elasticsearch,Logstash 和 Kibana