【网络安全】John the Ripper 散列密码,PDF密码

John the Ripper

1. John the Ripper 散列密码

假设我们已经获取到一个数据泄露中包含的散列密码文件 hash1.txt,并需要还原原始密码。步骤如下:

  1. 识别散列类型 通过 hash-id.py 工具,我们确认 hash1.txt 的散列类型是 SHA-256。

    user@machine:~/AOC2024 cat hash1.txt d956a72c83a895cb767bb5be8dba791395021dcece002b689cf3b5bf5aaa20ac user@machine:~/AOC2024 python hash-id.py
    #########################################################################
    #########################################################################
    # __ __ __ ______ _____ #
    # /\ /\ \ /\ \ /__ \ /\ _ \ # # \ \ \_\ \ __ ____ \ \ \___ \/_/\ \/ \ \ \/\ \ # # \ \ _ \ /'__\ / ,__\ \ \ _ \ \ \ \ \ \ \ \ \ # # \ \ \ \ \/\ \_\ \_/\__, \ \ \ \ \ \ _\ _ \ \ _\ \ #
    # \ _\ _\ ___ _/_/ \ _\ _\ /_\ \ _/ #
    # /
    //
    /////// //// /__/ // v1.2 #
    # By Zion3R #
    # www.Blackploit.com #
    # Root@Blackploit.com #
    #########################################################################

    HASH: d956a72c83a895cb767bb5be8dba791395021dcece002b689cf3b5bf5aaa20ac

    Possible Hashs:
    [+] SHA-256
    [+] Haval-256

    Least Possible Hashs:
    [+] GOST R 34.11-94
    [+] RipeMD-256
    [+] SNEFRU-256
    [+] SHA-256(HMAC)
    [+] Haval-256(HMAC)
    [+] RipeMD-256(HMAC)
    [+] SNEFRU-256(HMAC)
    [+] SHA-256(md5(pass)) [+] SHA-256(sha1(pass))

    HASH: ^C

    Bye!

  2. 初次尝试破解 使用 John the Ripper 和常见密码字典 rockyou.txt 进行尝试:

bash 复制代码
john --format=raw-sha256 --wordlist=/usr/share/wordlists/rockyou.txt hash1.txt
复制代码
user@machine:~/AOC2024$ john --format=raw-sha256 --wordlist=/usr/share/wordlists/rockyou.txt hash1.txt 
Using default input encoding: UTF-8
Loaded 1 password hash (Raw-SHA256 [SHA256 256/256 AVX2 8x])
Warning: poor OpenMP scalability for this hash type, consider --fork=2
Will run 2 OpenMP threads
Note: Passwords longer than 18 [worst case UTF-8] to 55 [ASCII] rejected
Press 'q' or Ctrl-C to abort, 'h' for help, almost any other key for status
0g 0:00:00:03 DONE (2024-11-03 09:49) 0g/s 4765Kp/s 4765Kc/s 4765KC/s (4510458faruk)..*7¡Vamos!
Session completed.

如果直接破解失败,可能是因为目标密码进行了变形处理。

  1. 添加规则提升破解能力

使用规则 --rules=wordlist,John the Ripper 会对字典中的密码进行常见变形,如替换字符(例如 a -> @)、追加数字等:

bash 复制代码
john --format=raw-sha256 --rules=wordlist --wordlist=/usr/share/wordlists/rockyou.txt hash1.txt

若成功,结果可以通过以下命令查看:

bash 复制代码
john --format=raw-sha256 --show hash1.txt

2. PDF 密码保护

当面对一个密码保护的 PDF 文件时,我们需要将其转化为 John the Ripper 可识别的散列格式,然后尝试破解。

生成 PDF 散列 利用 pdf2john.pl 工具生成 PDF 的散列值:

bash 复制代码
pdf2john.pl private.pdf > pdf.hash

尝试标准字典破解 使用 RockYou 字典结合规则:

bash 复制代码
john --rules=wordlist --wordlist=/usr/share/wordlists/rockyou.txt pdf.hash

自定义字典破解 如果常用字典失败,可根据目标的背景信息(如偏好、宠物名等)创建自定义字典:

bash 复制代码
echo -e "Fluffy\nFluffyCat\nMayor\nMalware\nMayorMalware" > wordlist.txt
john --rules=single --wordlist=wordlist.txt pdf.hash
相关推荐
weixin_4024863418 分钟前
直接将ppt导出成pdf 图片失真严重,选中整个图片和需要的对象后保存成图片,格式选择为.svg
pdf
TextIn智能文档云平台20 分钟前
LLM 文档处理:如何让 AI 更好地理解中文 PDF 中的复杂格式?
人工智能·pdf
liliangcsdn22 分钟前
使用Deepseek解析PDF文件
pdf
Red Car22 分钟前
如何向文件夹内所有PDF增加水印
python·pdf
老K的Java兵器库3 小时前
Collections 工具类 15 个常用方法源码:sort、binarySearch、reverse、shuffle、unmodifiableXxx
java·开发语言·哈希算法
网安INF3 小时前
Python核心数据结构与函数编程
数据结构·windows·python·网络安全
我命由我123454 小时前
Photoshop - Photoshop 工具栏(14)抓手工具
ui·职场和发展·pdf·求职招聘·职场发展·photoshop·美工
我命由我123454 小时前
PDFBox - PDFBox 加载 PDF 异常清单(数据为 null、数据为空、数据异常、文件为 null、文件不存在、文件异常)
java·服务器·后端·java-ee·pdf·intellij-idea·intellij idea
骥龙5 小时前
2.8、权限的终极目标:提权与持久化
安全·网络安全
SuperherRo6 小时前
JS逆向-安全辅助项目&Yakit热加载&魔术方法&模版插件语法&JSRpc进阶调用&接口联动
javascript·安全·yakit·jsrpc·热加载