最近玩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