一步步设计DBcrack数据库爆破 | Thelostworld_DBcrack(二)
本文约1200字,阅读约需4分钟。
自己的设计动机,来自于一次内外渗透代理隧道扫描速度太慢。尝试超级弱口令等exe,发现.net版本不支持。同时也发现,部分exe无法运行。
搜集了一下信息,发现很少有人分享用JAVA所写的、类似超级弱口令的这种集成在一起的爆破程序。因此,想做一个这种集成的程序。方便日常工作。
![](https://pic1.zhimg.com/80/v2-abed483f008d1da8394f13bf9180d4cd_1440w.jpg?source=d16d100b)
1
实现过程
先来设计GUI:
![](https://pic2.zhimg.com/80/v2-2a7929d6d92927c53cb1c7a2be28626f_1440w.jpg?source=d16d100b)
爆破测试console打印:
![](https://pic2.zhimg.com/80/v2-8303d462f19b2b751429ca9af5bb1470_1440w.jpg?source=d16d100b)
测试过程输出和结果输出:
![](https://pic3.zhimg.com/80/v2-314265db83973a91f25b2f36be7b22a1_1440w.jpg?source=d16d100b)
同时在jar相同文件下输出,sucess.txt成功文件:
![](https://pic2.zhimg.com/80/v2-19f4f3a0bc1361826ae4c881b4a4e815_1440w.jpg?source=d16d100b)
存在问题
IP、用户名字典、密码字典都是采用文件读取方式;
结果和过程录入输出在一起;
多线程结果输出一个文件卡死IO占用高;
界面感觉不美观。
2
优化设计
考虑到展示效果的多样性,和界面的优化处理效果,不是全部的操作日志和最终想要的数据都要汇总在一起。完全可以把不同的数据输出展示到不同的位置——比如小米范-alive的程序。
接下来,由Swing绘制GUI界面,转换到JFX绘制GUI界面。
初始设计
字典还是通过文件读取方式:
![](https://pic2.zhimg.com/80/v2-94bfc0794e89e4e90cf7c31df3f2f9df_1440w.jpg?source=d16d100b)
多次测试发现还是IO占用问题,字典不能太大。
最后修改为字典不再使用导入的加入方式,通过粘贴即可,节省IO读取。
大体的UI设计:
![](https://pic3.zhimg.com/80/v2-f67708bc1dc8921fce060f474ab25f7f_1440w.jpg?source=d16d100b)
爆破成功输出页面:
![](https://pic2.zhimg.com/80/v2-cacbfbcca15b649ba596ad4cbde55973_1440w.jpg?source=d16d100b)
![](https://pic1.zhimg.com/80/v2-985b466ac7150a72f5eb3c18f42b4995_1440w.jpg?source=d16d100b)
成功txt文件页面,可直接粘贴出来:
![](https://pic3.zhimg.com/80/v2-8e97e11fa11ab802992a1c5a21471982_1440w.jpg?source=d16d100b)
爆破错误日志:
![](https://pica.zhimg.com/80/v2-29674839bb5d9ad5dea6bf051a45b30c_1440w.jpg?source=d16d100b)
过程中的难点
主要是Redis和Ftp这两个连接协议具有多状态的特性,输入的参数的类别不一样,连接状态也多种多样,需要添加多重判断和适配,从而减少误报情况。
![](https://pica.zhimg.com/80/v2-345d46ca880ea5831081ba72c71fd001_1440w.jpg?source=d16d100b)
![](https://pica.zhimg.com/80/v2-3c62b22db2d4171e34e8adeb675ff5e7_1440w.jpg?source=d16d100b)
![](https://pic2.zhimg.com/80/v2-1c8c7451dcd49d92cfef5ec619786b69_1440w.jpg?source=d16d100b)
基本上功能目前支持:Mysql、Oracle、Sqlserver、Ssh、PostgreSql、Ftp、Redis、MongoDB、Tomcat。
RDP实现难度大,目前没有找到很好的解决办法。Telnet不同终端要求不相同,认证输入方式不同,还在研究中。
最近考虑添加SOCKS代理检测,目前界面已经写好,可能需要修改代理判断的实现方法。
![](https://pic3.zhimg.com/80/v2-f4544e77bb0172769f7eabab8bf91673_1440w.jpg?source=d16d100b)
SOCKS代理扫描:
![](https://pica.zhimg.com/80/v2-c2c32b3a09fb99bd811c5a65ec1b9309_1440w.jpg?source=d16d100b)
HTTP代理扫描:
![](https://pica.zhimg.com/80/v2-07ab6649dbb871868d08dfbcbc88cb1d_1440w.jpg?source=d16d100b)
目前功能还在持续更新中。
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
注意:⚠️
免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
如果本文内容侵权或者对贵公司业务或者其他有影响,请联系作者删除。
转载声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
订阅查看更多复现文章、学习笔记
thelostworld
安全路上,与你并肩前行!!!!
个人知乎:https://www.zhihu.com/people/fu-wei-43-69/columns 个人简书:https://www.jianshu.com/u/bf0e38a8d400 个人CSDN:https://blog.csdn.net/qq_37602797/category_10169006.html 个人博客园:https://www.cnblogs.com/thelostworld/ FREEBUF主页:https://www.freebuf.com/author/thelostworld?type=article 语雀博客主页:https://www.yuque.com/thelostworld
![](https://pic2.zhimg.com/80/v2-4b029825345899d23992b40ada6b2840_1440w.jpg?source=d16d100b)
欢迎关注公众号:
![](https://pic1.zhimg.com/80/v2-e9764736bbb52dc51b18a5fe0b7769b0_1440w.jpg?source=d16d100b)
![](https://pica.zhimg.com/80/v2-bae764ddd5e964f246df01b00dc104dd_1440w.gif?source=d16d100b)
转载漏洞复现、代码审计、网络安全相关内容