一步步设计DBcrack数据库爆破 | 技术精选0136
2022-6-16 15:7:38 Author: www.secpulse.com(查看原文) 阅读量:24 收藏

自己的设计动机,来自于一次内外渗透代理隧道扫描速度太慢。尝试超级弱口令等exe,发现.net版本不支持。同时也发现,部分exe无法运行。

搜集了一下信息,发现很少有人分享用JAVA所写的、类似超级弱口令的这种集成在一起的爆破程序。因此,想做一个这种集成的程序。方便日常工作。

1
实现过程
先来设计GUI:
爆破测试console打印:
测试过程输出和结果输出:
同时在jar相同文件下输出,sucess.txt成功文件:

存在问题

IP、用户名字典、密码字典都是采用文件读取方式;
结果和过程录入输出在一起;
多线程结果输出一个文件卡死IO占用高;
界面感觉不美观。
2
优化设计
考虑到展示效果的多样性,和界面的优化处理效果,不是全部的操作日志和最终想要的数据都要汇总在一起。完全可以把不同的数据输出展示到不同的位置——比如小米范-alive的程序。
接下来,由Swing绘制GUI界面,转换到JFX绘制GUI界面。
初始设计
字典还是通过文件读取方式:
多次测试发现还是IO占用问题,字典不能太大。
最后修改为字典不再使用导入的加入方式,通过粘贴即可,节省IO读取。
大体的UI设计:
爆破成功输出页面:
成功txt文件页面,可直接粘贴出来:
爆破错误日志:
过程中的难点
主要是Redis和Ftp这两个连接协议具有多状态的特性,输入的参数的类别不一样,连接状态也多种多样,需要添加多重判断和适配,从而减少误报情况。
基本上功能目前支持:Mysql、Oracle、Sqlserver、Ssh、PostgreSql、Ftp、Redis、MongoDB、Tomcat。
RDP实现难度大,目前没有找到很好的解决办法。Telnet不同终端要求不相同,认证输入方式不同,还在研究中。
最近考虑添加SOCKS代理检测,目前界面已经写好,可能需要修改代理判断的实现方法。
SOCKS代理扫描:
HTTP代理扫描:
目前功能还在持续更新中。
3
免责声明
该程序及其相关技术仅用于安全自查检测。
由于传播、利用此程序所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。
本人拥有对此程序的修改和解释权。未经网络安全部门及相关部门允许,不得善自使用本程序进行任何攻击活动,不得以任何方式将其用于商业目的。
4
参考
https://www.cnblogs.com/fsqsec/p/5501657.html
https://blog.csdn.net/guanjungao/article/details/24873215
https://blog.csdn.net/FlyLikeButterfly/article/details/95362798

文章来源: https://www.secpulse.com/archives/181213.html
如有侵权请联系:admin#unsafe.sh