弱口令审计-工具用法大全
用户口令审计工具介绍
本课程《用户口令审计》是『Kali Linux工具大全』技术系列的第5部分。我们将详细介绍Kali Linux中全部在线/离线弱口令审计工具的用法,以帮助大家提前发现系统中的弱口令问题。
1、crunch
在面对妥善保护的系统时,我们可能很难发现其漏洞和可渗透的突破口。作为渗透测试人员,我们应尝试对目标系统进行弱密码的检测。密码破解的关键在于字典的质量,crunch是一个密码字典生成器,它可以根据规则生成定制的密码字典。为了方便使用,它内建了常用的字符集文件,并支持自定义密码构成元素。
2、wordlists / SecLists
在面对妥善保护的系统时,我们可能很难发现其漏洞和可渗透的突破口。作为渗透测试人员,我们应尝试对目标系统进行弱密码的检测。密码破解的关键在于字典的质量。为了方便使用,Kali中已默认包含了大量通用密码字典,它们分别存放在wordlists、seclists两个目录中。除密码字典之外,以上目录中还包含大量漏洞挖掘和Fuzz用途的字典文件。
3、hashid / hash-identifier
单向加密算法是将可变长度输入数据加密生成固定长度的密文输出值,即所谓的HASH值。此加密算法通常被认为是不可逆的。但我们可以提前计算常见数据的HASH值,并利用其进行反查匹对应的明文,实现HASH破解。由于HASH算法种类众多,因此需要hashid、hash-identifier来提前判断生成密文的HASH算法,以便查询对应明文。
4、findmyhash
单向加密算法是将可变长度数据加密生成固定长度的密文输出值,即所谓的HASH值。此加密算法通常被认为是不可逆的。但有众多网站会提前计算常见数据的HASH值,并利用其进行反查匹对应的明文,以此实现HASH值破解。findmyhash可在线查询多个站点的HASH值数据库,批量完成HASH值匹配的破解,其新版本查询效果更佳。
5、fcrackzip
存有机密数据的文件经常会被其所有者加密压缩保存。作为数据安全审计者,我们应对加密文件进行弱口令检查,以确保数据安全性。fcrackzip是一款快速的ZIP压缩文件密码破解工具,其支持基于字典和爆破的两种工作模式。同时,它内建了字符集和密码规则指定功能,免去了使用者提前准备和保存密码字典文件的繁琐。
6、cupp3 / cewl / fab-cewl
由于人性与生俱来的弱点,使得弱口令成为很多系统都存在的安全问题,即使是那些安全防护较好的站点也不例外。作为渗透测试者,如果能够获得目标系统的密码,则无需繁琐的漏洞挖掘,即可直接接管目标系统。密码破解的关键在于字典的命中率,cupp3可依据个人信息生成专属字典,cewl则通过收集企业信息生成专属字典。使用这些有针对性的字典,使得密码破解的成功率更高。
7、pwdump / samdump2
出于安全性的考虑,Windows系统并不会保存用户账号的明文密码,而是以加密的形式存储于本机的SAM数据库中。不过密码虽为密文保存,但如果密码过于简单,仍然存在被破解的可能性。在可以物理接触电脑的情况下,我们可以利用pwdump、samdump2来读取SAM数据库文件中的密文密码,然后再使用其他工具进行密码破解。
8、chntpw
为了保护信息安全,Windows系统通常会将用户账号的密码以加密形式存储于本机的SAM数据库中。如果我们不小心忘记了密码而无法修改硬件参数时,可以使用chntpw工具本地读取并修改SAM数据库,将账号密码清空,从而避免受到勒索。
9、hydra
密码破解可以分为在线破解和离线破解两种。在线破解是通过不同的密码向目标服务器发起重复的身份验证请求,然后根据服务器的反馈信息判断登录是否成功。hydra是开源世界在线密码破解工具中的王者,它支持常见的所有协议类型,同时也支持不同形式的WEB表单认证破解。它功能强大,使用灵活简洁。
10、pw-inspector
由于人性与生俱来的弱点,弱口令成为很多系统都存在的安全问题,即使是很多安全防护较好的站点也不例外。密码破解的关键在于字典的命中率,如果你知道密码的字符构成规则,可以使用pw-inspector对已有密码字典进行过滤筛选,以提高密码破解的效率。pw-inspector不能凭空生成字典,它只是对现有字典的过滤筛选工具。
11、medusa
密码破解分为在线破解和离线破解两种。在线破解是使用不同的账号密码重复向目标服务器提交身份验证请求,然后根据服务器的反馈信息判断登录是否成功。medusa是开源世界在线密码破解工具中的又一王者(与hydra齐名),它支持常见的所有协议类型,同时具有超高的稳定性,是密码破解领域的必备工具。
12、cmospwd
计算机开机后运行的第一个程序是POST,即加电自检程序。其检测到的硬件参数和使用者的设置参数都存储于CMOS内存芯片中,这些配置参数中也包括CMOS密码。在你不小心忘记了密码而无法修改硬件参数时,我们可以使用debug命令或comspwd工具清空或找回CMOS密码,其中cmospwd工具兼容众多BIOS生产厂商的产品,同时对某些品牌机的BIOS还有自动解锁的功能,是一个优秀的跨平台解密工具。
13、gpp-decrypt
从Windows Server 2008开始,微软为其活动目录域新增加了20多项组策略首选项(GPP)设置,其中包括通过GPO统一修改客户端账号密码的功能。出于安全的考虑,微软使用了强密钥的AES算法来加密下发的密码。但乌龙事件使得微软在其开发者网站上直接公布了该密钥,因此使得安全目标完全破灭。gpp-decrypt是一个基于泄漏密钥的工具,用于解密还原加密密码。
14、dbpwaudit
dbpwaudit是一个由Java语言编写的数据库在线密码破解工具,它支持MSSQL、MySQL、DB2、Oracle等四种数据库类型。请注意,最新版的Kali Linux中已不再包含此工具,因此需要手动下载才能使用。在审计不同数据库时,我们还需要单独下载相应数据库的JDBC驱动,才能使其正常工作。
15、crowbar
crowbar是一个在线的密码破解工具,与同为密码破解工具的hydra、medusa相比,crowbar支持的协议类型有限(只有四种),但个性十足。crowbar支持的认证破解方式可以很好地补充hydra、medusa的不足,它支持OpenVPN以及基于密钥方式身份认证的SSH、VNC服务,可作为其他强大密码破解工具的重要补充。
16、brutespray
在渗透测试初期,我们通常会通过nmap进行主机发现、端口发现、服务发现等步骤,以确认可进行密码爆破的服务类型,然后再使用hydra、medusa等工具进行破解。如果相关端口数量众多,我们就需要一个一个输入,非常繁琐。brutespray可以自动读取和解析nmap的扫描报告,并从中识别出可进行密码破解的服务类型,然后自动调用medusa进行破解,大大提高工作效率。
17、polenum
为了保护信息安全,企业网络通常会制定密码策略,强制要求员工设置足够安全的系统账号密码。但人永远都是安全中最薄弱的环节,由于人性中与生俱来怕麻烦和懒惰等特性,大家总是趋向于给自己设置简单的弱口令。作为企业中的安全和审计人员,有责任发现并纠正密码策略失效的情况,polenum是一个正向的安全检查工具,能够帮助我们高效快捷地进行操作系统的密码策略审计。
18、rsmangler
通过密码破解来渗透目标的技术门槛相对较低,而且一旦成功其渗透行为也更加隐秘,因此密码破解成为了渗透过程中不可缺少的重要步骤。密码破解的成功关键在于密码字典的命中率,基于大多数人构造密码的习惯(姓名-生日-爱好等),rsmangler可以基于有限的个人信息,变形生成数量巨大的针对性专属密码字典,从而大大提高密码破解的成功率。
19、ophcrack
Windows系统会将用户账号的密码以加密形式保存在用户账号数据库中。由于加密算法公开通用,因此明文密码加密后的密文是不变的,这直接导致了密码碰撞破解思路的产生,即攻击者先计算出全部明文对应的密文,再通过比对密文来破解明文。ophcrack是一个基于彩虹表的Windows密码破解工具,它提供了大量现成的彩虹表下载,从而大大提高了密码的破解效率。
20、rainbowcrack
虽然单向加密算法通常被认为是不可能被破解的,但黑客却找到了碰撞破解的思路。即先计算出全部明文对应的密文,然后再通过比对密文来倒推明文。在碰撞破解的过程中计算明文对应密文的过程最耗时,因此有人提出了彩虹表的概念,将明文加密后对应的密文结果保存下来,以便日后重复使用,即彩虹表。rainbowcrack内含一套彩虹表的生成、优化、破解工具,并支持众多加密算法,更可利用GPU提高运算速度。
21、ncrack
ncrack是由nmap项目共同维护的在线密码破解工具,其命令格式和参数的用法与nmap命令非常相似,降低了新用户的学习成本。它模块化的架构使其可以满足更多应用场景的需求。虽然它的名气不大,但在密码破解能力方面不逊色于同类的hydra、medusa等著名在线密码破解工具,并且在速度和稳定性方面表现更优异。
22、maskprocessor
根据目前计算机的运算能力,实现全键盘空间字符的密码破解是不可能的。因此,我们通常采用基于字典的密码破解方式,而此时字典的命中率成为密码破解成败的关键。为了构成命中率更高、更有针对性的密码字典,maskprocessor提供了众多的规则选择,是自定义密码字典的首选利器。
23、sucrack
通常渗透测试者在通过应用程序漏洞获得系统shell之后,会发现自己只拥有普通用户帐号的权限,因此需要进一步提权操作,将自己提升为root权限。su是所有Linux系统都支持的用户切换命令,而切换过程中需要提供目标帐号的密码。因此,我们可以利用此功能,使用不同的密码重复向系统进行身份验证,以此来实现密码的暴力破解,sucrack是自动实现这一过程的首选工具。
24、thc-pptp-bruter
为防止内部系统暴露在公网之上,很多公司会采用VPN的解决方式,而微软的MSChapV2则是VPN最广泛被采用的身份验证方法。不幸的是,微软系统的早期版本在实现身份验证的过程中存在漏洞,微软虽然为此发布了补丁,但并未彻底修复该漏洞,使得所有采用该身份验证方式的VPN都会遭受到密码的暴力破解攻击。thc-pptp-bruter是利用此漏洞,专门针对PPTP VPN进行密码爆破的工具之一。
25、patator
虽然hydra、medusa、ncrack等工具都是优秀的在线密码破解工具,但仍然无法满足所有场景的破解需求。因此,在厌倦了以上所有工具之后,作者开发了patator。这是一款高度定制化的密码破解工具,使用者可以按照当前实际场景,灵活定义破解成功与否的判断依据。但同时也使其学习成本明显高于其他工具。同时,patator还包含部分在线枚举和离线密码破解功能,使其成为一个综合型的密码破解工具。
26、hashcat
如果只能选择一个离线密码破解工具,那么我的选择一定是hashcat。hashcat不仅开源免费,而且是世界上速度最快的离线密码破解工具。它提供多系统、多算法、多硬件平台、分布式等几乎全特性的功能支持,同时还支持OpenCL、CUDA等编程标准。目前hashcat已经实现了所有版本的合并统一,使得初学者无需再迷茫地寻找适合自己的软件版本,现在hashcat会自动检测你的CPU和GPU,从而最大限度发挥你的计算能力。
27、sipcrack
利用廉价共享带宽的IP网络承载实时语音通话的技术称为VoIP,SIP则是目前使用最广且接受度最高的VoIP信令协议。SIP是一种基于文本的信号控制协议,主要负责在客户端与服务期(PBX)间进行身份认证、会话建立和会话管理等工作。如果攻击者可以嗅探身份认证的通信过程,则可以利用sipcrack基于字典破解其中的加密摘要信息。
28、oclGaussCrack
2009年震网病毒的出现,标志着政府背景的武器化攻击程序已经走入现实。随后出现的火焰病毒再次证明,网络空间的战争其实每天都在我们身边悄悄进行。2011年出现的高斯病毒使用了与震网、火焰病毒相同的基础代码、软件构造以及与CC服务器的通信方式,种种迹象表明它们全部出自同一开发团队。由于采用了高级加密方式,最初高斯病毒的payload无法解密,直到ocalgausscrack工具的出现。
29、mimikatz
最近安全社区的一篇文章评出了黑客最经常使用的5个工具,其中就包括mimikatz,此工具堪称Windows系统凭据收集领域的瑞士军刀,即在统一框架下集成了众多身材小巧且功能强大的工具集合。凭据包括账号密码、HASH、证书、令牌、cookie等众多类型的信息,一旦获取将可能完全控制目标系统。但由于该工具涉及过多的背景知识,因此几乎没有人能发挥其全部功能(一般只用两条命令),本课我竭尽所能向大家展示这个神一样的存在。
30、PtH / WCE / xfreerdp
密码破解是个耗时耗资源的事情,如果可以不必忍受这个煎熬的过程,相信每个渗透测试者都会兴奋不已。在密码破解领域有一种称为Pass the Hash的攻击思路,即在已经获得密码密文的情况下,并不进行破解,而是直接提交密文从而实现身份认证。其最典型的应用场景就是攻击Windows操作系统,Windows早期版本的密码加密过程不加盐,因此很容易遭受PtH攻击。本课为大家介绍的PtH工具包共包含10个具体工具,分别适合在不同需求环境下使用。
31、Statsprocessor / hcstatgen
依靠现代计算机的运算能力,并不足以在可接受的时间范围内完成全键盘字符空间的密码破解任务,这正是现代密码学仍然可以提供安全性的前提,因此纯暴力的密码破解是不现实的,同样也使得基于密码字典的破解方式成为普遍的选择。如何减小字典的体积,同时提高命中率是所有破解者的共同目标。本课重点向大家介绍“马尔科夫链”在密码破解领域的实际应用,同时利用本课的两个工具,我们可以轻松生成接近真实的密码字典。
32、John / Johnny / unshadow
John the Ripper是你必须掌握的一个离线密码破解工具,它可以自动识别并解密200多种加密算法和应用。其功能之丰富强大,已经达到了令人震惊的程度。为了降低使用者的难度,John通过配置文件保存大部分常用参数,因此使用者并不会觉得太过复杂。它支持4种破解模式,可以满足所有用户和场景的需要,强大的掩码和规则更可对现有密码字典进行丰富的变形,最大程度提高密码破解成功率。Johnny是图形化界面的John。