————————————————
版权声明:本文为 CSDN 博主「_PowerShell」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_51577576/article/details/128131553
转发博客:http://t.csdn.cn/BHL70
什么是暴力破解漏洞?
1 2
| 暴力破解是指采用反复试错的方法并希望最终猜对,以尝试破解密码或用户名或找到隐藏的网页,或者找到用于加密消息的密钥。这是一种较老的攻击方法,但仍然有效,并深受黑客追捧。 根据密码的长度和复杂性,破解所需的时间从几秒钟到很多年不等。有些黑客每天针对的目标实际上都是相同的系统,持续时间达到几个月甚至是几年。
|
暴力破解的危害是什么?
暴力破解不会造成直接的入侵,但攻击者通过暴力破解获得了系统 / 用户的账号和密码,以此为后续的入侵做准备。
1 2
| 1. 对于个人而言,直接从用户那里窃取金钱,或者窃取其身份,身份盗用可能导致进一步的财务损失。 2. 对于企业而言,通过暴力破解可以登录Telnet服务、POP3服务和MySQL服务等,登录成功将会导致用户信息泄露、文件共享、邮件泄露或无法正常发送邮件等高危事件。
|
暴力破解的方法有哪些?
穷举法
1 2 3
| 1、穷举法是指根据输入密码的设定长度、选定的字符集生成可能的密码全集,进行地毯式搜索。 2、例如:已知某验证码为四位纯数字,其可能共有10000种组合,因此最多尝试10000次就能找到正确的密码。理论上利用这种方法可以破解任何一种密码,但随着密码复杂度增加,破解密码的时间会指数级延长。 3、穷举法适用于猜解随机生成的短信验证码等,因为各种随机生成密码出现的概率是一样的,不受人的记忆影响。
|
字典式攻击
1 2 3
| 1、字典式攻击是将出现频率最高的密码保存到文件中,这文件就是字典,暴破时使用字典中的这些密码去猜解。 2、字典式攻击适用于猜解人为设定的口令,因为人为设定受人方便记忆影响不同密码出现的概率是不一样的,12345678、password作为密码的概率比drtdfjhlkh作为密码的概率要高得多。 3、与穷举法相比,命中率少有降低,但节省了较多的时间。
|
彩虹表攻击
1 2 3 4 5
| 1、彩虹表攻击也属于字典式攻击,但它是一种高效地破解哈希算法(MD5、SHA1、SHA256/512等)的攻击方式。 2、网站为了增加安全性,不会直接将用户密码存储在数据库中,而是将密码进行哈希,变成一长串毫无意义的字符,并且哈希算法是不可逆的,没有解密算法可以还原成原来的密码。 3、面对哈希后的密码,破解的方法有两个: 一是用穷举法组合出所有的密码可能,然后经哈希加密算法计算,将结果与目标哈希值进行比对,但边计算边比对会耗费海量的时间; 二是提前生成可能密码与对应哈希串的对照表,但是对照表将占据海量的磁盘空间,以14位字母和数字的组合密码为例,生成的密码32位哈希串的对照表将占用5.7×10^14 TB的存储空间。
|
哪些是最容易受到暴力破解的密码?
1 2 3 4
| 说白了就是简单的密码。 例如使用电话号码、出生日期、亲人或宠物的名字作为密码,或者在不同网站使用相同密码,这些行为导致密码很容易被破解。 例如使用频率最高的123456、123456789、password、12345678、111111、123123、12345、1234567890、1234567、000000、1234 ……这些纯数字或者纯字母。 又例如:qwerty、abc123 和 picture1 等常见的组合和键位。
|
如何防御暴力破解攻击?
用户增强密码安全性
1 2 3 4 5 6 7 8
| 1、提升密码长度和复杂度。 密码应由数字、大小写字母和特殊符号混合组成,且密码越长,破解密码的时间就会成指数增加,一旦密码超过了某个长度,基本上就不能用暴力破解了。 2、在不同的地方使用不同的密码 重复使用电子邮件、银行和社交媒体帐户的密码更可能导致身份被盗用。可以将网站的缩写作为密码的后缀,例如登陆微信的密码是Hl9tysY.wx,登陆QQ的密码是Hl9tysY.qq,这样每个网站都有独立的密码且不容易忘记。 3、避免使用字典单词、数字组合、相邻键盘组合、重复的字符串。 例如 password 、12345678、asdfg 、aaaa 或 123abc。 4、避免使用名字或者非机密的个人信息(电话号码、出生日期等)作为密码,或者是亲人、孩子、宠物的名字。因为当我们单击一些网站中的“忘记密码”链接时,系统有时会要求回答一系列问题。而答案通常可以在我们的社交媒体资料中找到,从而使帐户更易被破解。 5、定期修改密码
|
系统做好密码防暴力破解设计
1 2 3 4 5 6 7 8
| 1、锁定策略 输错密码几次就锁定一段时间。 2、验证码技术 3、要求用户完成简单的任务才能登录到系统,用户可以轻松完成,但暴力工具无法完成。例如图形验证码、短信等。 3、密码复杂度限制 强制用户设置长而复杂的密码,并强制定期更改密码。 4、多因子认证 结合多种不同的认证因素对用户进行认证的方法。例如密码、身份证、安全令牌、指纹、面部识别、地理信息等。
|
你了解过能进行暴力破解的工具有哪些?
1
| 我知道有burp suite、Brutus、Medusa、Hydra、Ncrack、John the Ripper、Aircrack-ng 和 Rainbow等工具,最常用的就是burp suite、Hydra了。
|
提高暴力破解漏洞效率你会从哪些方面入手?
1 2 3 4 5
| 1、做信息收集优化字典 2、确认用户名在确认密码 3、提高线程数 4、GPU 加快暴力破解尝试 通过将 CPU 和图形处理单元 GPU相结合,可使 GPU 中数以千计的计算核心加入到处理当中,使系统能够同时处理多项任务,从而加快计算性能。GPU 处理可用于分析、工程和其他计算密集型应用程序,其破解密码的速度比单独使用 CPU 要快 250 倍。
|
字典如何优化?
根据注册提示信息进行优化
1
| 对目标站点进行注册,搞清楚账号密码的一些限制,比如目标站点要求密码必须是6位以上,字母数字组合,则可以按照此优化字典,比如去掉不符合要求的密码。
|
使用频率高的密码
1
| 如爆破的是管理后台,往往这种系统的管理员是admin/administrator/root的机率比较高,可以使用这三个账号+随便一个密码,尝试登录,观看返回的结果。
|
信息收集获取有用信息
1
| 做信息收集获取可能存在的用户名、邮箱、密码等信息做简单处理做成字典。
|
能简单讲一下暴力破解漏洞测试流程吗?
确认登录接口的脆弱性
1 2
| 确认目标是否存在暴力破解的漏洞。( 确认被暴力破解的“可能性”) 比如:尝试登录—抓包—观察验证元素和response信息,判断否存在被暴力破解的可能。
|
对字典进行优化
1
| 根据实际的情况对字典进行优化,提高爆破过程的效率。
|
工具自动化操作
1
| 配置自动化工具(比如线程、超时时间、重试次数等),进行自动化操作。
|
简单介绍以下 burp suite-intruder 的 intruder 模块
target 选项卡
Pasitions 选项卡
1
| 指定需要暴力破解的参数并设置成变量,同时选择攻击模式;
|
攻击模式有如下四种:
1 2 3 4
| Sniper:设置一个payload,先将第一个变量使用字典进行测试,然后在将第二个变量使用字典进行测试; Battering ram:设置一个payload ,所有的变量-起用字典内容被替换,然后一起尝试; Ptichfork:每个变量设置一个payload ,分别使用对应的字典对变量进行同时替换; Cluster bomb:需要为每个变量设置一个payload ,分别使用字典内容组合对变量进行替换。
|
Payloads 选项卡
1
| 设置字典,并可以对字典进行统一的策略处理; 设置字典,并可以对字典进行统一的策略处理;
|
options 选项卡
1 2
| 对扫描的线程、失败重试等进行配置; 对结果设置匹配的flag:通过一个标识符来区别结果,并在结果栏中flag出来;
|
不安全的验证码常见问题有哪些?
客户端
1 2 3
| 1、使用前端js实现验证码(纸老虎); 2、将验证码在cookie中泄露,容易被获取; 3、将验证码在前端源代码中泄露,容易被获取;
|
服务端
1 2 3
| 1、验证码在后台不过期,导致可以长期被使用; 2、验证码校验不严格,逻辑出现问题; 3、验证码设计的太过简单和有规律,容易被猜解。
|
token 可以防止暴力破解漏洞吗?
1 2
| 1、可以提高安全性,但不能防止暴力破解漏洞。一般来说Token在防止CSRF上会有比较好的功效。 2、一般来说token是以type= ‘hidden’ 的形式输出在表单中,在提交的认证的时候一起提交,并在后台对其进行校验。但是,由于其token值输出在了前端源码中,容易被获取,就无法防止暴力破解。
|
暴力破解除了在登录还有其他的使用场景吗?
1 2 3 4
| 子域名暴力破解 目录扫描爆破 登录暴力破解 验证码暴力破解
|
常见的登录暴力破解字典构建方式有哪些?
1 2 3 4 5 6 7 8 9 10 11 12
| 用户名+生日 用户名@生日 用户名+特定字符 用户名@年份 姓名全拼+生日 姓名全拼@生日 姓名全拼@特定字符 用户名@domain 用户名@domain+特定字符 domain@特 定字符 键盘固定顺序及变形 各种系统的初始口令
|
常见的弱口令漏洞有哪些?
1 2 3 4 5 6 7
| ftp弱口令 Ssh弱口令 Telnet弱口令 Mysql弱口令 RDP弱口令 Ridis弱口令 ······
|