1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 密码暴力破解漏洞(kali crunch)

密码暴力破解漏洞(kali crunch)

时间:2023-08-21 14:33:03

相关推荐

密码暴力破解漏洞(kali crunch)

目录

1.密码安全

2.漏洞利用

3.不安全的密码

4.密码猜解思路

5.字典wordlist

5.1 kali字典

5.2 github字典

6.专用字典

6.1指定格式字典

6.2 社工字典

6.3文章内容字典

kali 工具crunch

0x00 安装

0x01 基础语法

1.Lalpha

2.Ualpha

3. Numeric

4.Speical

1.-b指定文件输出的大小,避免字典文件过大

2.-c指定文件输出的行数,即包含密码的个数

3.-d限制相同元素出现的次数-

4. -e定义停止字符,即到该字符串就停止生成

5. -f 调用库文件 /usr/share/crunch/charset.lst

6. -i改变输出格式,即aaa,aab -> aaa,baa

7. -l通常与-t联合使用,表明该字符为实义字符

8. -m用-p替代

9. -o将密码保存到指定文件

10.-p

11.-q 读取密码文件,即读取pass.txt

12. -r告诉crunch继续从它离开的地方恢复生产密码字典

13. -s指定一个开始的字符,即从自己定义的密码xxxx开始

14. -t指定密码输出的格式

15. -u禁止打印百分比(必须为最后一个选项)

16. -z压缩生成的字典文件,支持gzip,bzip2,lzma,7z

7.Dvwa爆破

7.1 python

7.2 Burp suite**

7.2.1加入intruder

1.Sniper 狙击手

2.Battering ram 攻城锤

3.Pitchfork 草叉

4.Cluster bomb 榴霰[xiàn]弹

7.2.2 payloads

7.2.3 Resource Pool

7.3.1Battering ram 攻城锤

7.4.1Pitchfork 草叉

7.5.1Cluster bomb 榴霰[xiàn]弹**

8.密码暴力破解的防御

8.1 Dvwa

8.1.1 Medium

8.1.2 High

8.1.3 Impossible

9.暴力破解防御

9.1限制次数

9.2二次验证

9.3reCAPTCHA(IP验证)

9.4行为识别

9.5 WAF

9.6强制修改密码

9.7 建议

1.密码安全

可以分为存储安全、传输安全和输入安全(登录界面),权限管理进行认证和授权。

2.漏洞利用

从数据库获取密码,解密 窃听通信数据数据,解密 直接从登录框猜测密码

3.不安全的密码

/most-common-passwords-list/ 裤子

密码字典生成器|CTF论坛-Tools

4.密码猜解思路

1、密码长度 2、密码内容 0-9 a-z A-Z !@#$%^&*

5.字典wordlist

5.1 kali字典

我们先进入wfuzz字典里面

wfuzz自带字典

.├── Injections│ ├── All_attack.txt│ ├── SQL.txt│ ├── Traversal.txt│ ├── XML.txt│ ├── XSS.txt│ └── bad_chars.txt├── general│ ├── admin-panels.txt│ ├── big.txt│ ├── catala.txt│ ├── common.txt│ ├── euskera.txt│ ├── extensions_common.txt│ ├── http_methods.txt│ ├── medium.txt│ ├── megabeast.txt│ ├── mutations_common.txt│ ├── spanish.txt│ └── test.txt├── others│ ├── common_pass.txt│ └── names.txt├── stress│ ├── alphanum_case.txt│ ├── alphanum_case_extra.txt│ ├── char.txt│ ├── doble_uri_hex.txt│ ├── test_ext.txt│ └── uri_hex.txt├── vulns│ ├── apache.txt│ ├── cgis.txt│ ├── coldfusion.txt│ ├── dirTraversal-nix.txt│ ├── dirTraversal-win.txt│ ├── dirTraversal.txt│ ├── domino.txt│ ├── fatwire.txt│ ├── fatwire_pagenames.txt│ ├── frontpage.txt│ ├── iis.txt│ ├── iplanet.txt│ ├── jrun.txt│ ├── netware.txt│ ├── oracle9i.txt│ ├── sharepoint.txt│ ├── sql_inj.txt│ ├── sunas.txt│ ├── tests.txt│ ├── tomcat.txt│ ├── vignette.txt│ ├── weblogic.txt│ └── websphere.txt└── webservices├── ws-dirs.txt└── ws-files.txt

5.2 github字典

GitHub - TgeaUs/Weak-password: 字典大全 dictionary

GitHub - fuzz-security/SuperWordlist: 基于实战沉淀下的各种弱口令字典

GitHub - k8gege/PasswordDic: -Top100弱口令密码字典 Top1000密码字典 服务器SSH/VPS密码字典 后台管理密码字典 数据库密码字典 子域名字典

/xjrelc/Blasting_dictionary/TgeaUs/Weak-password/fuzz-security/SuperWordlist/k8gege/PasswordDic/TheKingOfDuck/fuzzDicts/Ifonly-go/FuzzDict/ppbibo/PentesterSpecialDict/huyuanzhi2/password_brute_dictionary/download

其他的建议在github搜索:字典、dict、wordlist之类的关键词

注意使用场合:

比如Web网站密码字典、WiFi密码字典、操作系统用户密码字典、数据库密码字典……

6.专用字典

6.1指定格式字典

比如生日、手机号、QQ号

crunch -h

6.2 社工字典

cupp、ccupp

6.3文章内容字典

cewl -w dict.txt

kali 工具crunch

0x00 安装

crunch -h

0x01 基础语法

Usage

crunch <min-len> <max-len> [<charset string>] [options]
min-len和max-len是必选项(-p)Content

1.Lalpha

abcdefghijklmnopqrstuvwxyz

2.Ualpha

ABCDEFGHIJKLMNOPQRSTUVWXYZ

3. Numeric

0123456789

4.Speical

!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/
option

1.-b指定文件输出的大小,避免字典文件过大

2.-c指定文件输出的行数,即包含密码的个数

3.-d限制相同元素出现的次数-

4. -e定义停止字符,即到该字符串就停止生成

5. -f 调用库文件 /usr/share/crunch/charset.lst

6. -i改变输出格式,即aaa,aab -> aaa,baa

7. -l通常与-t联合使用,表明该字符为实义字符

8. -m用-p替代

9. -o将密码保存到指定文件

10.-p

字符串 或者-p 单词1 单词2 ...以排列组合的方式 来生成字典 生成不重复的字符串 必须放在最后 不能和-s一起使用 会忽略最小长度和最大长度

11.-q 读取密码文件,即读取pass.txt

12. -r告诉crunch继续从它离开的地方恢复生产密码字典

13. -s指定一个开始的字符,即从自己定义的密码xxxx开始

14. -t指定密码输出的格式

15. -u禁止打印百分比(必须为最后一个选项)

16. -z压缩生成的字典文件,支持gzip,bzip2,lzma,7z

7.Dvwa爆破

7.1 python

思路

从字典读取值,生成密码

pwds = open("password.txt")for pwd in pwds: print(pwd)pwds.close()

HTTP连接到需要暴破的地址(URL F12看网络连接即可获得)

import requests# 如果第一个密码就提示成功,是 PHPSESSID 没有替换的问题pwds = open("password.txt")for pwd in pwds:url = "http://localhost/dvwa/vulnerabilities/brute/"# PHPSESSID务必替换为登录以后的PHPSESSIDresp = requests.get(url = url, params = {"username":"admin", "password":pwd.strip(), "Login":"Login"}, headers = {"Cookie":"security=low; PHPSESSID=himu84h1ia6vsvklt76c9juhqd"})#print(resp.text)if 'Username and/or password incorrect.' in resp.text:print('破解失败:'+pwd, end='')else:print('破解成功:'+pwd, end='')break;pwds.close()

获得HTTP响应,分析响应结果,看看有没有错误提示 “Username and/or password incorrect.” 如果有提示,就继续下一次循环 如果没有,就代表暴破成功

7.2 Burp suite**

7.2.1加入intruder

我们的目的是利用BP里面的字典来暴力破解password的值,进入intruder模块

在positions里面有Attack type模块,4个参数类型

1.Sniper 狙击手

2.Battering ram 攻城锤

标题

3.Pitchfork 草叉

4.Cluster bomb 榴霰[xiàn]弹

我们以Sniper为例,先clear后添加需要爆破的字段

7.2.2 payloads

Payload set只有一个,但是Payload type类型有很多,以Simple list为例

Add 可以添加自己想加入的字段,Add from list 是BP自带的字典

7.2.3 Resource Pool

这里先不改,用默认即可,如果有二次竞争则需要修改,现在可以发起攻击了,

FLAG将length进行降序排序即可、

7.3.1Battering ram 攻城锤

它的admin和password保存一致

7.4.1Pitchfork 草叉

可以分别设置二个list,进行验证。

7.5.1Cluster bomb 榴霰[xiàn]弹**

可以分别设置二个list,交叉尝试,n x m 型

8.密码暴力破解的防御

8.1 Dvwa

8.1.1 Medium

sleep()响应时间延长了,

8.1.2 High

添加了token校验,使得请求必须串型

添加token

第二个token字段,添加递归字段

Option add 规则,先请求一次,后选中接收到的token值,复制

再回到payload选项,选中,在Initial payload for first request:粘贴

再创造一个单线程,Token

get flag

or

8.1.3 Impossible

懂的都懂

9.暴力破解防御

sleep Token 限制尝试次数,锁定账户

9.1限制次数

9.2二次验证

9.3reCAPTCHA(IP验证)

9.4行为识别

9.5 WAF

9.6强制修改密码

9.7 建议

使用复杂密码 不同网站使用不同密码 定期修改密码 防止被钓鱼

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。