0×01 简单说明

lasercrack是一款爆力破解工具,现如今市面上常见的暴力工具如hydra,medusa都有着不错的破解效率,不过我还没有找到ruby写的,一方面是想从原理上理解下暴力破解漏洞,另一方面练习一下ruby语言。此工具配置成交互式终端界面,服务爆破脚本可自定义。

0×02 工具结构

主目录中lasercrack.rb控制整体流程,接受用户参数并作出响应。

渗透测试框架 | LaserCrack 一款可扩展的暴力破解框架-孤独常伴

utils目录中framework.rb是框架核心文件,控制与线程池相关,提供了三种方式的爆破,即单用户<=>单密码,单用户<=>多密码,单密码<=>多用户,目前暂不支持的多用户<=>多密码。其余文件是服务爆破相关文件,其中分为service.rb和serviceattack.rb。

渗透测试框架 | LaserCrack 一款可扩展的暴力破解框架-孤独常伴

0×03 源码说明

初始化函数定义了一些基本变量可以让用户自行设置,同时载入所有可用的服务爆破类。

参数校验函数针对用户输入或未输入的信息进行判断可以使用哪种爆破模式,对还未达到利用条件的参数抛出未定义。

爆力破解函数载入线程池并批量对服务进行穷举尝试。其中在verbose为false的情况下使用processbar模块动态显示进程条信息。

服务登录验证函数对用户提供的信息进行验证,返回true或false表明是否可登录成功。用ftp举例,其他服务脚本类似,不做赘述。

0×04 样例测试

测试本地mysql。

渗透测试框架 | LaserCrack 一款可扩展的暴力破解框架-孤独常伴

由于字典比较小很快就可以出结果。

渗透测试框架 | LaserCrack 一款可扩展的暴力破解框架-孤独常伴

设置verbose为true,显示攻击详细信息。

渗透测试框架 | LaserCrack 一款可扩展的暴力破解框架-孤独常伴

0×05 扩展支持服务

如需自己扩充暴力破解服务,需要修改下面几个地方:

lasercrack.rb中将对应的服务添加到数组和字典中,字典里指定对应的端口信息。

渗透测试框架 | LaserCrack 一款可扩展的暴力破解框架-孤独常伴

framework.rb中引入对应的attack文件,默认都在utils目录中编写。

渗透测试框架 | LaserCrack 一款可扩展的暴力破解框架-孤独常伴 同时init函数中添加exploithash,show函数中增加显示。

渗透测试框架 | LaserCrack 一款可扩展的暴力破解框架-孤独常伴

0×06 项目地址

https://github.com/Lucifer1993/lasercrack