「网络安全」常见攻击篇(1)——暴力破解
暴力破解是一种针对密码或身份认证的破译方法,即通过穷举尝试各种可能性来找到突破身份认证的攻击方法。虽然暴力破解可以被恶意者利用,但在计算机安全领域中却具有重要意义,用于检查系统、网络或应用程序中使用的弱密码。
暴力破解的原理是使用攻击者自己的用户名和密码字典,逐个尝试登录。理论上来说,只要字典足够庞大,枚举总是能够成功的!然而,实际发送的数据并不像想象中的那样简单——每次只发送用户名和密码字段即可。实际情况是,每次发送的数据都必须封装成完整的HTTP数据包才能被服务器接收。因此,在实施暴力破解之前,我们需要获取构造HTTP包所需的参数,然后将这些参数提供给暴力破解软件的构造工具,然后进行攻击。
Web暴力破解通常用于已知部分信息的情况下,尝试爆破网站后台,为下一步的渗透测试做准备。在HTTP中,请求(request)和响应(response)是相对于浏览器而言的。浏览器发送请求,服务器返回响应。GET和POST是常见的HTTP请求方法,GET请求将参数放在URL中,而POST请求将参数放在HTTP的请求体中。HTTP Referer是HTTP头的一部分,当浏览器发送请求时,通常会带上Referer,告诉服务器我是从哪个页面链接而来,为服务器处理提供一些信息。
暴力破解可分为两种:针对性的密码爆破和扩展性的密码喷洒。密码爆破是针对单个账号或用户,使用密码字典不断尝试,直到找到正确的密码。破解所需的时间取决于密码的复杂度、长度和破解设备等因素。密码喷洒与密码爆破相反,也称为反向密码爆破,它使用指定的一个密码批量尝试多个用户。在信息收集阶段,可以获取大量账号信息或系统用户,然后使用固定的密码不断尝试这些用户。
常用的暴力破解工具包括:
- Hydra工具:著名黑客组织Thc开发的开源暴力破解工具,可用于破解多种密码,主要支持Telnet、FTP、HTTP、HTTPS、HTTP代理、MSSQL、MySQL等。需要自行制作密码字典。
- Burp Suite:用于攻击Web应用程序的集成平台,包含多个工具,并为这些工具提供了接口。可用于抓包、改包、截断上传、扫描、暴力破解等功能。
- DUBrute工具:用于批量暴力破解3389密码,也可针对指定目标进行暴力破解。
- Oraburte工具:专门针对Oracle数据库用户名密码登录进行暴力破解的工具,使用简单但速度较慢。
- X-Scan扫描器:国内综合性漏洞扫描和口令扫描工具,可针对大量服务进行认证,如FTP、SSH、Telnet、SQL Server等。
- ApacheTomcat弱口令扫描器:专门用于猜解Tomcat后台登录密码的工具。
针对暴力破解攻击,应用的安全设计需要综合考虑各个可能的受攻击面,结合逆向的逻辑思路,建立合理的防御机制。常见的防御措施包括:
- 限制无效登录:最佳的防止暴力破解的方法是限制无效登录尝试次数,通过这种方式,攻击者只能在有限的时间内尝试密码。这也是为什么基于网络的服务开始使用验证码,如果连续三次输入错误的密码,会对IP地址进行屏蔽。
- 强密码策略:密码的长度以及数字、字母和特殊字符的组合对暴力破解的成功与否有重要影响。使用复杂的密码组合可以增加破解的难度,使暴力破解变得困难且耗时更长。
- 加密算法选择:选择安全性较高的加密算法,增加破解的难度。
- 多因素身份认证:使用多种身份认证因素,如密码加令牌、指纹识别等,提高身份认证的安全性。
- 定期更新密码:定期更改密码,避免长期使用同一密码,减少被破解的风险。
感谢阅读,如果喜欢,请转发并关注小编。上一篇:「网络安全」网络设备篇(15)——网络负载均衡。