代码分享:用Python编写的多协议弱密码审计工具集
"前几日与大伙儿共享了自己用C++建立的用以公司內部自然环境的ssh弱密码财务审计专用工具。在实际上的工作上,人们还必须对多种多样常用的协议书每季度开展弱密码财务审计。以便灵便地融入公司內部繁杂的网络空间,及其领导干部期待平稳可控性的要求,我还在Linux自然环境下应用场景Python和有关的库建立了telnet、smb、mssql、mysql、ftp等好几个协议书的弱密码财务审计专用工具,并获得了非常好的实际效果,再此也与大伙儿共享有关的编码和工作经验,期待可以给大伙儿做弱密码财务审计时可以产生协助。
一、弱密码审计工作的实行步骤
下边是各种各样协议书相通的弱密码财务审计实行步骤:
(1)应用开源系统专用工具zmap对各大网站开展有关协议书端口号的扫描仪,发觉全部潜在性的总体目标服务器;
(2)运作相对协议书的弱密码财务审计专用工具对全部总体目标服务器实行财务审计,必需时开展再次认证和过虑;
(3)将寻找的弱密码纪录存进mysql数据库查询;
当全部的每日任务跑完以后,依照单位统计分析弱密码总数,绘图遍布数据图表和整体发展趋势数据图表,輸出详尽的弱密码目录,再交到承担系统漏洞管理方法的朋友分发送给各义务企业规定开展整顿。
二、用Python建立弱密码财务审计专用工具的优点和缺点
在做弱密码财务审计专用工具这种事情上,Python较大的益处是:程序流程简易通俗易懂易建立;有丰富多彩的库資源,每个协议书都能寻找适用的库。而它的缺陷则有:多线程的特性和可靠性不足理想化,比如线程数超出150个也不平稳挺大几率出現假死;一部分协议书库在复杂网络自然环境下将会会发现异常,比如接收数据时沒有请求超时体制,造成永久性的等候。
而解决它的缺陷,因为我试着了至少的方法,离开了某些弯道,最后的处理工作经验是:
(1)一起应用多系统进程和多线程来在高并发与可靠性中间获得均衡,例如一起起30个系统进程,每一系统进程30个进程,建立350个高并发;
(2)深入分析有关的协议书库源码,对有关的编码开展提升改动,比如smb协议书我是改动的impacket库的某文档,提升了timeout主要参数。一些状况下,将会也会应用场景原文件做一下下大改,近似于重写了,例如telnet协议书我是修改了许多;
(3)明白适度舍弃,另寻它径。ssh协议书就是说这般,尽管它的paramiko库很强劲,可是大高并发的那时候就会有各种各样难题,协议书繁杂,编码量又挺大,因此坚决舍弃,继而应用C++融合libssh2库建立关键作用,再在表层用Python包裝一下下,进行主要参数和统计数据的传送工作中就好啦。
三、Python弱密码财务审计专用工具的设计理念
有别于ncrack、hydra等集多种多样协议书于全身、功能齐全的弱密码专用工具,人们实际上是为每这种协议书独立编写程序,尽管将会会较为零碎,可是根据融合crontab、shell脚本制作等,也可以非常好地达到目标。
大伙儿能够参照我的github文件目录:https://github.Com/penoxcn/PyWeakPwdAudit,我将最关键的Python编码放到里边了。置于zmap扫描仪及其与数据库查询的存储一部分,则沒有包括在文中范围之内,但相信聪慧的小读者应当会依据自个的具体情况灵便建立的。
下边说一下下编码的架构及其每个编码的功效:
(1)BruteThread.py 是个多线程生产调度的库。
(2)BruteRunner.py 本文档出示1个接口类Bruter来进行词典文档的载入、总体目标的载入、扫描仪系统进程的建立、扫描仪結果的储存。该文档必须大家填补某些编码来进行实际上的总体目标载入和扫描仪結果储存工作中,不论是从文件或是数据库查询。下边编码片断展现了Bruter类起动弱密码扫描仪每日任务的全过程:
(3)XxxBrute.py 每个协议书的客户认证编码,通常有个XxxAuth类进行单一化多次的登陆认证全过程,1个XxxBruteTester类来进行单独服务器的依密码字典财务审计全过程。比如mssql的登陆认证就是说在MssqlBrute.py里建立的,它调用以pymssql来进行多次Mssql Server的登陆认证试着。如下边的编码片断所展现的:
(4)XxxBruteScan.py 每个协议书的主程序通道,在github搞我仅出示了MssqlBruteScan.py做为事例,其他的协议书基本上相同的。在程序流程main涵数中,你必须分析命令行参数,复位系统日志,载入配置文件,随后建立Bruter案例,实行案例的start涵数就全自动进行该协议书的弱密码财务审计每日任务了。如下边的编码片断所展现的:
我觉得这一main涵数针对协议书而言,绝大多数编码类同,仅仅Bruter传送的类不一样,彻底能够提升为1个通用性的涵数,防止每一协议书建立时都复制看一遍。
(5)密码字典文档,文件格式和样例请参照dictionaries文件目录下的每个txt文档。弱密码内容应当依据自个公司的具体情况开展调节提升,大而全的字
相关文章
- 4条评论
- 囤梦挽鹿2022-05-31 08:20:28
- 书相通的弱密码财务审计实行步骤:(1)应用开源系统专用工具zmap对各大网站开展有关协议书端口号的扫描仪,发觉全部潜在性的总体目标服务器;(2)运作相对协议书的弱密码财务审计专用工具对全部
- 只影辙弃2022-05-31 07:16:41
- 对协议书的弱密码财务审计专用工具对全部总体目标服务器实行财务审计,必需时开展再次认证和过虑;(3)将寻找的弱密码纪录存进mysql数据库查询;当全部的每日任务跑完以后,依照单位统计分析弱密码总数,绘图遍布数据图表和整体发展趋势数据图表,輸
- 拥嬉嘻友2022-05-31 06:38:38
- ruter类起动弱密码扫描仪每日任务的全过程:(3)XxxBrute.py 每个协议书的客户认证编码,通常有个XxxAuth类进行单一化多次的登陆认证全过程,1个XxxBruteTester类来
- 莣萳厌味2022-05-31 08:36:08
- 审计全过程。比如mssql的登陆认证就是说在MssqlBrute.py里建立的,它调用以pymssql来进行多次Mssql Server的登陆认证试着。如下边的编码片断所展现的:(4)XxxBruteScan.py 每个协议书的主程序通道,在github搞