十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Cybersecurity-Projects:从零构建C++字典Hash爆破工具,测一测你的密码到底多脆弱

Cybersecurity-Projects:从零构建C++字典Hash爆破工具,测一测你的密码到底多脆弱 Cybersecurity-Projects从零构建C字典Hash爆破工具测一测你的密码到底多脆弱【免费下载链接】Cybersecurity-ProjectsBuilding 70 Projects ranging from beginner to advanced so anyone can — learn from, build upon, use as a reference, or even copy directly. Gamified Cybersecurity learning 项目地址: https://gitcode.com/gh_mirrors/cy/Cybersecurity-ProjectsCybersecurity-Projects仓库中的hash-cracker是一个用 C23 编写的多线程Hash 爆破工具哈希破解器它内置 1 万条常见密码字典支持 MD5 / SHA1 / SHA256 / SHA512 四种算法的字典攻击、暴力破解与规则变形一条命令就能告诉你——你的密码在攻击者手里能活多久。跟着本文从零构建这个 C 字典 Hash 爆破工具亲眼看password在 1 秒内被打穿。⚠️ 安全提醒请仅对自己的练习哈希做测试不要用于攻击他人系统。为什么值得动手测一次密码强度数据库泄露后攻击者拿到的不是明文密码而是哈希值。而破解速度取决于哈希算法有多快算法十六进制长度状态现实教训MD532 位早已不安全遗留系统仍在用SHA140 位已不安全2012 年 LinkedIn 泄露 650 万条90% 在 72 小时内被破解SHA25664 位对数据校验安全但存密码太慢对攻击者而言现代框架仍常见SHA512128 位同上Linux/etc/shadow常见自己写一个字典 Hash 爆破工具是理解为什么不能拿 MD5 存密码最快的方式——这也是 learn/01-CONCEPTS.md 中真实泄露案例章节想教给每个初学者的内容。↑ 字典攻击实时进度多线程把 1 万条字典分片到所有 CPU 核心破解速度可达每秒数百万次哈希一键安装构建你的 C 哈希破解器工具采用 CMake Ninja 构建install.sh 会自动识别你的包管理器apt / dnf / pacman / brew装好依赖g、CMake、Ninja、OpenSSL、Boost.program_options并编译安装git clone https://gitcode.com/gh_mirrors/cy/Cybersecurity-Projects cd Cybersecurity-Projects/PROJECTS/beginner/hash-cracker ./install.sh构建完成后二进制会软链到~/.local/bin/hashcracker。项目还提供 Justfile 封装了构建、测试等常用命令输入just即可查看全部任务。环境要求GCC 14需要 C23、CMake 3.25。详见 learn/00-OVERVIEW.md 的前置条件清单。三种攻击方式30 秒打穿一个弱密码1️⃣ 字典攻击用泄露过的人话碰运气人起的密码大多有迹可循。工具用内存映射mmap零拷贝读取字典配合--wordlist逐条试算并自动根据哈希长度识别算法hashcracker --hash 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 \ --wordlist wordlists/10k-most-common.txt # ✔ CRACKED: password 不到 1 秒仓库自带 3 份字典10k-most-common.txt1 万条、john-the-ripper.txt3106 条经典密码、mixed_it.txt。2️⃣ 暴力破解用数学碾压短密码不知道密码内容那就从短到长把所有组合都试一遍hashcracker --hash 187ef4436122d1cc2f40dc2b92f0eba0 \ --bruteforce --charset lower --max-length 4 --type md5 # ✔ CRACKED: ab 约 35 万候选搜索空间呈指数增长4 位小写只要 45.7 万种组合而 8 位全字符集高达 6.6×10¹⁵ 种。learn/01-CONCEPTS.md 里有完整的破解耗时表——结论只有一个长度比复杂度更重要。3️⃣ 规则变形专治为了满足密码策略的密码网站强制必须含大写数字特殊字符大多数人会变成Password1!这种可预测模式。规则引擎会把字典词做首字母大写、Leet 替换a→、e→3、追加数字、反转等变换把 1 万条字典瞬间膨胀成千万级候选hashcracker --hash ed9d3d832af899035363a69fd53cd3be8f71501c \ --wordlist wordlists/10k-most-common.txt --rules↑ 规则变形攻击password在规则引擎下会生成Password、p$$w0rd、password123等变体轻松绕过复杂度策略源码导览这个工具是怎么快起来的整个项目不到 2000 行结构清晰非常适合 C 初学者阅读完整走读见 learn/03-IMPLEMENTATION.md模块路径亮点引擎核心src/core/Engine.hpp策略模板 std::jthread线程池工作分片零锁竞争哈希器src/hash/EVPHasher.hppOpenSSL EVP 统一封装4 种算法只是类型别名算法识别src/hash/HashDetector.cpp按十六进制长度自动判断 MD5/SHA1/SHA256/SHA512字典攻击src/attack/DictionaryAttack.cppmmap 零拷贝读词表暴力破解src/attack/BruteForceAttack.cpp字符集可配置、键空间按线程切分规则引擎src/rules/RuleSet.cppC23std::generator协程惰性生成变体进度显示src/display/Progress.cpp独立线程渲染进度条、速度与 ETA架构思想一句话概括哈希器与攻击策略在编译期绑定策略模板模式哈希调用可被内联进破解主循环——这是 learn/02-ARCHITECTURE.md 花整章对比运行时多态讲透的核心设计。从爆破结果吸取教训密码安全清单 ️跑完上面几条命令后建议记住这几条攻防结论源自 learn/01-CONCEPTS.md别用词表里的词你的密码若曾出现在任何一次数据泄露中就已经躺在破解字典里长度 复杂度12 位以上随机字符如密码管理器生成的x7$kQ2!mR9pL远比Pssw0rd!难破——规则变形专打后者加盐不能防定向爆破盐能废掉彩虹表、阻止批量比对但攻击者拿到盐后照样能逐个猜本工具--salt参数就是演示这种攻击服务端该用慢哈希bcrypt / argon2 每次哈希慢几百倍同一份 1 万条字典SHA256 下 3 毫秒破解bcrypt 下要 33 秒——慢就是安全。继续深入测试套件与扩展挑战 tests/38 个 GoogleTest 用例覆盖哈希器、规则、引擎与三种攻击策略想学安全工具怎么写测试从这里入手learn/04-CHALLENGES.md10 个由易到难的扩展练习——给工具加 SHA3 支持、批量破解百万级哈希、实现可断点续跑的进度文件、写 hashcat 风格自定义规则文件……做完你就相当于亲手造了一个迷你 hashcat。hash-cracker 是 Cybersecurity-Projects 中 70 个从入门到进阶的网络安全学习项目之一。把测一测你的密码做成一次动手实验比任何安全科普都更让人印象深刻。【免费下载链接】Cybersecurity-ProjectsBuilding 70 Projects ranging from beginner to advanced so anyone can — learn from, build upon, use as a reference, or even copy directly. Gamified Cybersecurity learning 项目地址: https://gitcode.com/gh_mirrors/cy/Cybersecurity-Projects创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表