news 2026/2/16 10:40:46

❿⁄₅ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击 ➱ 密码破解理论(下)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
❿⁄₅ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击 ➱ 密码破解理论(下)

郑重声明:本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。

🔋点赞| 能量注入 ❤️关注| 信号锁定 🔔收藏| 数据归档 ⭐️评论| 保持连接💬

🌌立即前往👉晖度丨安全视界🚀​​​

​​​​

▶ 信息收集
▶ 漏洞检测
▶ 初始立足点 ➢ 密码攻击 ➢ 密码破解理论(下)🔥🔥🔥
▶ 权限提升
▶ 横向移动
▶ 报告/分析
▶ 教训/修复

目录

1.密码破解理论

1.1 密码破解流程

1.1.1 哈希破解五步流程图

1.1.2 各步骤详细说明

1.1.2.1 提取哈希值

1.数据库表提取

①MySQL/MariaDB

②PostgreSQL

③MSSQL

2.系统文件提取

①Linux/Unix系统

②Windows系统

3.内存提取

①Windows系统

②Linux系统

4.网络流量提取

①通用抓包

②提取Web认证哈希

③提取数据库通信哈希

1.1.2.2 格式化哈希值

1.哈希格式处理

2.哈希类型识别

1.1.2.3 计算破解时间

1.1.2.4 准备变异字典

1.1.2.5 攻击哈希值

1.关键检查点

2.破解成功验证

3.常见陷阱与规避方法

1.1.3 迭代优化循环

1.1.4 方法论核心原则

欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论


1.密码破解理论

1.1 密码破解流程

1.1.1 哈希破解五步流程图

📊 破解步骤详解:

步骤名称关键操作工具/方法注意事项
提取哈希值从目标系统获取哈希- 数据库转储
- 内存提取
- 文件提取
确保哈希完整性,避免截断
格式化哈希值识别并转换格式- hash-identifier
- hashid
- 专用转换工具
精确识别哈希算法,避免格式错误
计算破解时间评估可行性公式:
破解时间 = 密钥空间 ÷ 哈希速率
考虑测试时间窗口,避免不切实际的尝试
准备变异字典增强字典攻击效果- 基于规则变异
- 分析密码策略
- 参考泄露数据
优先使用变异字典而非原始字典
攻击哈希值执行破解操作Hashcat、John the Ripper等注意哈希值输入格式,确认算法类型

1.1.2 各步骤详细说明

1.1.2.1 提取哈希值
来源位置提取方法具体命令/工具输出示例
数据库表SQL查询转储MySQL:SELECT user, password FROM users;
PostgreSQL:SELECT usename, passwd FROM pg_shadow;
admin:5f4dcc3b5aa765d61d8327deb882cf99
系统文件文件读取Linux:cat /etc/shadow
Windows:reg save HKLM\SAM sam.save
root:$6$...:18959:0:99999:7:::
内存内存转储分析Windows:procdump.exe -ma lsass.exe lsass.dmp
Linux:gcore -o core.pid
LSASS进程内存文件
网络流量抓包分析tcpdump -i eth0 -w capture.pcap
tshark -r capture.pcap -Y "http.authbasic"
HTTP Basic认证头

🛠️ 实用工具集

工具用途示例命令
hashcat密码破解hashcat -m 0 hash.txt rockyou.txt
john密码破解john --format=raw-md5 hash.txt
mimikatzWindows凭据提取sekurlsa::logonpasswords
pwdumpWindows哈希提取pwdump.exe system.save sam.save
tcpdump网络抓包tcpdump -i eth0 -w capture.pcap
Wireshark网络分析GUI分析或tshark命令行
sqlmap数据库渗透sqlmap -u "http://site.com" --passwords
1.数据库表提取
①MySQL/MariaDB
-- 标准查询(需适当权限)SELECTuser, authentication_stringFROMmysql.user;-- 旧版本或特定格式SELECTuser, passwordFROMmysql.user;-- 导出到文件(命令行)mysql-u root-p-e "SELECT user, authentication_string FROM mysql.user">hashes.txt
②PostgreSQL
-- 查询用户密码哈希SELECTusename, passwdFROMpg_shadow;-- 导出到文件\copy(SELECTusename, passwdFROMpg_shadow)TO'/tmp/pg_hashes.csv'WITHCSV;
③MSSQL
-- SQL ServerSELECTname, password_hashFROMsys.sql_logins;-- 配合解密(需特权)SELECTname,CAST(passwordASvarchar(100))FROMsys.syslogins;

2.系统文件提取
①Linux/Unix系统
# 读取shadow文件(需root)sudocat/etc/shadow# 仅提取用户名和哈希sudo awk -F:'{print $1":"$2}'/etc/shadow# 备份文件(历史哈希)cat/etc/shadow-# 备份文件cat/etc/passwd# 部分旧系统密码哈希# 提取特定用户sudo grep -E'^(root|admin):'/etc/shadow
②Windows系统
# 方法1:使用reg命令导出SAMreg save HKLM\SAM C:\sam.save reg save HKLM\SYSTEM C:\system.save# 方法2:使用Mimikatz(需管理员)privilege::debug token::elevate lsadump::sam# 方法3:PowerShell提取Copy-Item C:\Windows\System32\config\SAM C:\temp\sam.bak Copy-Item C:\Windows\System32\config\SYSTEM C:\temp\system.bak

3.内存提取
①Windows系统
# 方法1:使用Procdump(微软官方工具)procdump.exe -accepteula -ma lsass.exe lsass.dmp# 方法2:使用Mimikatz(内存提取)mimikatz.exe privilege::debug sekurlsa::logonpasswords full# 方法3:使用Task Manager# 右键lsass.exe → Create dump file
②Linux系统
# 提取所有进程内存sudo gcore -o /tmp/core.pid [PID]# 查找特定进程ps aux | grep [process_name]# 提取SSH密钥等sudo strings /proc/[pid]/mem | grep -i"ssh"# 使用LiME内核模块insmod lime.ko"path=/tmp/memdump.lime format=lime"

4.网络流量提取
①通用抓包
# 使用tcpdumpsudo tcpdump -i eth0 -s 0 -w capture.pcap port 80 or port 443# 使用tshark过滤tshark -r capture.pcap -Y"http.request.method == POST"-T fields -e http.authbasic# 实时监控HTTP认证sudo tcpdump -i eth0 -A -s 0'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'| grep -E'Authorization:|password=|passwd='
②提取Web认证哈希
# 提取HTTP Basic认证tshark -r capture.pcap -Y"http.authbasic"-T fields -e http.authbasic |base64-d# 提取Cookie/Sessiontshark -r capture.pcap -Y"http.cookie"-T fields -e http.cookie# 提取表单提交的密码tshark -r capture.pcap -Y"http.request.method == POST"-T fields -e http.file_data | grep -i password
③提取数据库通信哈希
# MySQL认证抓取sudo tcpdump -i eth0 -s 0 -w mysql.pcap port 3306# 分析MySQL握手包tshark -r mysql.pcap -Y"mysql"-T fields -e mysql.auth_response# PostgreSQL认证tshark -r capture.pcap -Y"pgsql"-T fields -e pgsql.auth_response

1.1.2.2 格式化哈希值
1.哈希格式处理
# 清理提取的哈希值# 移除空格和特殊字符sed -i's/[[:space:]]//g'hashes.txt# 仅保留有效哈希行grep -E'^[a-fA-F0-9]{32,128}$'hashes.txt > clean_hashes.txt# 分割用户名和哈希awk -F:'{print $2 > "hashes_only.txt"}'extracted.txt
2.哈希类型识别
任务工具使用示例输出目标
识别算法hash-identifierhashid "5f4dcc3b5aa765d61d8327deb882cf99"MD5、SHA1等
验证格式人工检查查看长度、字符集符合工具要求格式
转换格式脚本工具john --format=raw-md5 hash.txt标准哈希文件格式
# 使用hash-identifierhash-identifier# 粘贴哈希值进行识别# 使用hashidhashid 5f4dcc3b5aa765d61d8327deb882cf99# 文件批量识别hashid -j hashes.txt

1.1.2.3 计算破解时间

计算公式:

破解时间(秒) = 密钥空间大小 ÷ 哈希计算速率(次/秒)
参数定义如何确定
密钥空间所有可能密码的组合数字符集长度^密码长度
哈希速率每秒可尝试的哈希次数工具基准测试或硬件规格
实际时间考虑概率的期望时间密钥空间 ÷ 2 ÷ 哈希速率

可行性判断标准:

时间范围建议行动
< 1小时立即执行
1小时 - 1天安排进行
1天 - 1周评估必要性
> 1周放弃或换方法

1.1.2.4 准备变异字典

本部分的内容,具体详见上一篇文章。

准备策略实施方法优势
规则变异使用规则文件自动修改覆盖用户常见修改模式
策略分析研究目标密码策略要求针对性更强,效率更高
泄露数据整合已知泄露密码利用用户重复使用密码习惯
混合攻击组合多个字典和规则覆盖更广泛的可能性

1.1.2.5 攻击哈希值
1.关键检查点
检查项常见问题解决方法
哈希值多余空格/换行使用cat -A检查隐藏字符
算法类型多种算法特征相似使用多个工具交叉验证
工具配置参数错误先用已知哈希测试工具
输出结果破解成功但未显示检查工具输出级别设置
2.破解成功验证
# 验证破解结果$echo"破解出的密码"| hashcat -m 算法ID 目标哈希 --stdout# 比较输出的哈希值与目标是否一致
3.常见陷阱与规避方法
陷阱表现规避方法
哈希识别错误长时间无结果使用多个识别工具交叉验证
格式错误工具报错"无效哈希"检查样例格式,使用转换脚本
时间估计偏差远超过预估时间定期检查进度,设置时间限制
字典不足多次尝试无结果组合多个来源字典,添加规则变异
硬件限制破解速度极慢考虑GPU加速或云服务

1.1.3 迭代优化循环

尝试破解 → 分析结果 → 调整策略 → 再次尝试 ↑ ↓ └───────────────────────────────┘
现象可能调整
无任何命中扩大字典范围,增加规则
部分相似密码命中针对性地设计新规则
时间过长缩小密钥空间,聚焦高概率密码

1.1.4 方法论核心原则

  1. 准备优于蛮力:充分的准备(字典、规则)比单纯增加计算能力更有效

  2. 验证先行:在长时间运行前验证哈希格式、工具配置

  3. 时间意识:始终考虑时间成本,设置合理的期望和截止点

  4. 迭代优化:基于每次尝试的结果不断优化策略

  5. 多样化尝试:不依赖单一方法,准备多种攻击路径

成功的关键在于系统化的方法和持续的优化,而非单纯依赖计算能力。

下文开始按照本文的流程,进行完整的密码破解的实践。


欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论

每一份支持,都是我持续输出的光。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 1:01:19

JAVA打造:宠物自助洗澡无人共享物联网方案

以下是一套基于JAVA的宠物自助洗澡无人共享物联网方案&#xff0c;整合微服务架构、边缘计算、AI情绪识别、多端交互四大核心能力&#xff0c;实现从设备控制到用户服务的全流程智能化&#xff0c;同时保障系统安全性与可扩展性&#xff1a;一、系统架构设计&#xff1a;四层分…

作者头像 李华
网站建设 2026/2/14 22:59:01

ue 编译

"D:\Program Files\Epic Games\UE_5.6\Engine\Build\BatchFiles\Build.bat" ^ MetahumanHeiXiEditor Win64 Development ^ -Project"D:\soft\ue\MetahumanHeiXi_56_dong\MetahumanHeiXi_56_dong\MetahumanHeiXi.uproject"

作者头像 李华
网站建设 2026/2/6 20:34:38

org.mockito : mockito-core 中文文档(中英对照·API·接口·操作手册·全版本)以4.11.0为例,含Maven依赖、jar包、源码

文章目录完整文档下载地址&#xff08;类、方法、参数说明&#xff09;mockito-core-4.11.0.jar中文-英文对照文档.zip 中包含以下内容使用方法组件信息简介Maven依赖Gradle依赖寒水馨 Java 组件中文文档系列说明版权声明与来源信息本组件包含的 Java package&#xff08;包&am…

作者头像 李华
网站建设 2026/2/16 5:47:10

程序员的终身学习:如何应对技术迭代的加速?

程序员的终身学习&#xff1a;如何应对技术迭代的加速&#xff1f;关键词&#xff1a;程序员、终身学习、技术迭代、学习策略、职业发展摘要&#xff1a;在当今科技飞速发展的时代&#xff0c;技术迭代的速度不断加快&#xff0c;这对程序员提出了极高的要求。程序员需要进行终…

作者头像 李华
网站建设 2026/2/13 19:04:41

AI辅助设计:用Z-Image-Turbo快速生成产品原型图

AI辅助设计&#xff1a;用Z-Image-Turbo快速生成产品原型图 作为一名产品经理&#xff0c;你是否经常遇到这样的困境&#xff1a;需要在短时间内准备大量产品概念图&#xff0c;但传统设计流程耗时耗力&#xff1f;现在&#xff0c;借助Z-Image-Turbo这款AI图像生成工具&#…

作者头像 李华