弱口令密码破解

弱口令和暴力破解

弱口令

弱口令( weak password ) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令。

公共弱口令

公共弱口令就是常见的密码,也就是根据大量的密码数据统计得出的出现频率较高的弱口令。

条件弱口令

往往与这个人的个人信息(姓名,生日,手机号,特殊昵称,爱好,社交软件账号,常用 username ,邮箱...),关系成员(家庭成员,男女朋友...),所处环境(车牌号,公司信息比如公司名称,公司成立时间或地点,公司 domain 等...),还有特殊的指定字符(数字,单词...)等相关

弱口令原因

与个人习惯、意识相关,为了避免忘记密码,使用一个非常容易记住的密码,或者是直接采用系统的默认密码等。相关的安全意识不够,总认为不会有人会猜到我这个弱口令的。

弱口令示例

简单数字组合 : 000000 111111 11111111 112233 123123
顺序字符组合: abcdef abcabc abc123 a1b2c3 aaa111
临近字符组合: 123qwe Qwerty qweasd
特殊含义组合: admin password p@ssword Iloveyou 5201314

暴力破解

顾名思义,暴力破解的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。因为理论上来说,只要字典足够庞大,枚举总是能够成功的!

但实际发送的数据并不像想象中的那样简单——“ 每次只向服务器发送用户名和密码字段即可!”,实际情况是每次发送的数据都必须要封装成完整的 HTTP 数据包才能被服务器接收。但是你不可能一个一个去手动构造数据包,所以在实施暴力破解之前,我们只需要先去获取构造HTTP包所需要的参数,然后扔给暴力破解软件构造工具数据包,然后实施攻击就可以了。Web暴力破解通常用在,已知部分信息,尝试爆破网站后台,为下一步的渗透测试做准备。

密码破解

密码破解介绍

指用枚举的方式来爆破用户信息。具体的流程是用事先收集好的数据集成一个字典,然后用字典不断进行枚举,直到枚举成功

暴力破解工具

Burpsuite

Hydra

Metasploit

SNETCracker

暴力破解字典

  • Default Password

历年弱口令 top100 , github 上搜索弱口令字典

https://github.com/k8gege/PasswordDic

https://github.com/danielmiessler/SecLists

https://192-168-1-1ip.mobi/default-router-passwords-list/

https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/default-passwords.csv

https://github.com/Dormidera/WordList-Compendium

  • 创建自定义字典

使用 Cewl、pydictor、safe6pwd等工具

暴力破解场景

  • 不含验证码后台
  • 不失效的验证码(验证码失效时间较长)
  • 各种常见应用程序,比如: phpmyadmin tomcat mysql
  • 各种协议:ftpsshrdp
  • 爆破大马
### 如何生成弱口令密码 生成弱口令密码通常涉及以下几个方面: #### 收集已知的弱口令 可以通过多种途径获取现有的弱口令集合,这些集合可以作为基础数据来构建更全面的弱口令字典。常见的来源包括但不限于: - **公开开源弱口令库**:许多安全社区提供了开放共享的弱口令数据库,可以直接下载并使用[^1]。 - **行业特定弱口令**:不同行业的业务场景下可能存在特有的敏感字符组合或常见习惯用语,因此可以根据具体需求定制化弱口令列表。 #### 使用自动化工具生成 利用专门设计用于检测系统安全性漏洞的应用程序也可以帮助创建个性化的弱口令词典。例如SNETCracker就是一个典型代表,在实际操作过程中能够实现高效扫描目标网络内的潜在风险点[^2]。 #### 示例代码展示 下面给出一段Python脚本用来演示简单的基于规则扩展的基础版弱密码生成逻辑: ```python import base64 import hashlib def generate_weak_passwords(): common_passwords = ["password", "123456", "admin"] passwords_with_encodings = [] for pwd in common_passwords: # Add Base64 encoded version of the password b64_encoded = base64.b64encode(pwd.encode()).decode() passwords_with_encodings.append(b64_encoded) # Add MD5 hash of the password md5_hashed = hashlib.md5(pwd.encode()).hexdigest() passwords_with_encodings.append(md5_hashed) return set(common_passwords + passwords_with_encodings) weak_password_list = list(generate_weak_passwords()) print(weak_password_list) ``` 此段代码会输出一系列由原始字符串及其Base64编码形式还有MD5散列值组成的候选弱密码项。 #### 注意事项 无论采用何种方式生产此类信息资源都应严格遵守法律法规规定,未经授权擅自尝试访问他人账户属于非法行为,务必合法合规地运用相关技术手段[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shadow_143

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值