密码暴力破解漏洞(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.1 Battering ram 攻城锤
7.4.1 Pitchfork 草叉
7.5.1 Cluster 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.3 reCAPTCHA(IP验证)
9.4 行为识别
9.5 WAF
9.6 强制修改密码
9.7 建议
1.密码安全
可以分为存储安全、传输安全和输入安全(登录界面),权限管理进行认证和授权。
2.漏洞利用
- 从数据库获取密码,解密
- 窃听通信数据数据,解密
- 直接从登录框猜测密码
3.不安全的密码
https://nordpass.com/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: 2011-2019年Top100弱口令密码字典 Top1000密码字典 服务器SSH/VPS密码字典 后台管理密码字典 数据库密码字典 子域名字典
- https://github.com/xjrelc/Blasting_dictionary
- https://github.com/TgeaUs/Weak-password
- https://github.com/fuzz-security/SuperWordlist
- https://github.com/k8gege/PasswordDic
- https://github.com/TheKingOfDuck/fuzzDicts
- https://github.com/Ifonly-go2019/FuzzDict
- https://github.com/ppbibo/PentesterSpecialDict
- https://github.com/huyuanzhi2/password_brute_dictionary
- https://weakpass.com/download
其他的建议在github搜索:字典、dict、wordlist之类的关键词
注意使用场合:
比如Web网站密码字典、WiFi密码字典、操作系统用户密码字典、数据库密码字典……
6.专用字典
6.1 指定格式字典
比如生日、手机号、QQ号
crunch -h
6.2 社工字典
cupp、ccupp
6.3 文章内容字典
cewl https://sqlmap.org -w dict.txt
kali 工具crunch
0x00 安装
crunch -h
0x01 基础语法
Usage
crunch <min-len> <max-len> [<charset string>] [options]
1.Lalpha
abcdefghijklmnopqrstuvwxyz
2.Ualpha
ABCDEFGHIJKLMNOPQRSTUVWXYZ3. Numeric
01234567894.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
- 字符串 或者-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.1 Battering ram 攻城锤
它的admin和password保存一致
7.4.1 Pitchfork 草叉
可以分别设置二个list,进行验证。
7.5.1 Cluster 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.3 reCAPTCHA(IP验证)
9.4 行为识别
9.5 WAF
9.6 强制修改密码
9.7 建议
- 使用复杂密码
- 不同网站使用不同密码
- 定期修改密码
- 防止被钓鱼
密码暴力破解漏洞(kali crunch)相关推荐
- kali-linux教程 ssh密码暴力破解和防御实战
1 hydra[海德拉] Hydra是世界顶级密码暴力破解工具,支持几乎所有协议的在线密码破解,功能强大,其密码能否被破解关键取决于破解字典是否足够强大,在网络安全渗透过程中是一款必备的测试工具. 指 ...
- Linux SSH密码暴力破解技术及攻防实战
对于Linux操作系统来说,一般通过VNC.Teamviewer和SSH等工具来进行远程管理,SSH是 Secure Shell的缩写,由IETF的网络小组(Network Working Group ...
- SSH密码暴力破解及防御实战
前言:本文对目前流行的 SSH 密码暴力破解工具进行实战研究.分析和总结,对渗透攻击测试和安全防御具有一定的参考价值. 首先介绍几款常用的ssh暴力破解工具: 1. hydra [海德拉] 指定用户破 ...
- linux密码暴力破解之SHA-512破解
linux密码暴力破解 由于MD5加密已经发展了很多年,现在市面上已经积累了大量的MD5数据,这样,MD5的安全性也就受到了威胁,所以,从centos6.x版本开始,系统密码开始采用SHA-512加密 ...
- 你的Root账号安全吗?-看我用phpmyadmin密码暴力破解工具攻破你的系统
你的Root账号安全吗?-看我用phpmyadmin密码暴力破解工具攻破你的系统 simeon phpmyadmin密码暴力破解是指通过指定账号和密码对mysql数据库进行登录尝试,如果字典中的密码跟 ...
- 一个最简单的博客园文章密码暴力破解器-python3实现
一个最简单的博客园文章密码暴力破解器-python3实现 我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手. 博客园的博客有个功 ...
- python密码破解工具_一个最简单的博客园文章密码暴力破解器-python3实现
一个最简单的博客园文章密码暴力破解器-python3实现 我之前想写路由器的密码暴力破解器,我手上只有极路由,发现极路由有安全限制,只能允许连续10密码错误,所以我改拿博客园练手. 博客园的博客有个功 ...
- OSCP-课外1(http万能密码、hydra密码暴力破解http、代码审计、Win缓存区溢出)
目录 难度 主机发现&端口扫描 信息收集 万能密码 hydra密码暴力破解
- linux密码暴力破解之SHA-512破解(转载)
原文来自:linux密码暴力破解之SHA-512破解 由于MD5加密已经发展了很多年,现在市面上已经积累了大量的MD5数据,这样,MD5的安全性也就受到了威胁,所以,从centos6.x版本开始,系统 ...
最新文章
- Java项目:在线小说阅读系统(读者+作者+管理员)(java+SSM+jsp+mysql+maven)
- php运行资源库,如何在sublime上运行php
- Leangoo到底好在哪里?
- SpringMVC、Spring、Mybatis框架整合及使用
- uva11054 - Wine trading in Gergovia(等价转换,贪心法)
- 实现连接池技术的样例
- 机器学习入门之——动手演示线性模型无法表示的XOR问题
- sonar jacoco 覆盖率为0_接口测试代码覆盖率(jacoco)方案分享
- FLASH PLAYER 谷歌浏览器浏览网站无法正常显示的问题
- 基因家族分析-蛋白互作网络分析
- 总结1_1:常用周期函数
- iOS开发-Tom猫
- ORACLE分配DBA权限
- Proxy Server源码及分析(TCP Proxy源码 Socket实现端口映射)
- 刚性仿射变换算法_一种视觉定位中的点集仿射变换算法的制作方法
- 据结构学习(冒泡、选择、插入、快速排....
- python语言基础(六)列表、元组、字典、集合
- udc-core: couldn‘t find an available UDC - added [g_ether] to list of pending drivers
- 关闭/删除“设备和驱动器”里的图标(如迅雷下载、WPS网盘)
- 同一计算机打印机无法连接,打印机无法连接到计算机怎么处理呢?