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

devtools/2024/12/28 22:31:13/

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: d956a72c83a895cb767bb5be8dba791395021dcece002b689cf3b5bf5aaa20acPossible Hashs:
[+] SHA-256
[+] Haval-256Least 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: ^CBye!
  1. 初次尝试破解 使用 John the Ripper 和常见密码字典 rockyou.txt 进行尝试:
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 -> @)、追加数字等:

john --format=raw-sha256 --rules=wordlist --wordlist=/usr/share/wordlists/rockyou.txt hash1.txt

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

john --format=raw-sha256 --show hash1.txt

2. PDF 密码保护

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

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

pdf2john.pl private.pdf > pdf.hash

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

john --rules=wordlist --wordlist=/usr/share/wordlists/rockyou.txt pdf.hash

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

echo -e "Fluffy\nFluffyCat\nMayor\nMalware\nMayorMalware" > wordlist.txt
john --rules=single --wordlist=wordlist.txt pdf.hash

http://www.ppmy.cn/devtools/145178.html

相关文章

[cisco 模拟器] ftp服务器配置

首先确保 PC能ping通 FTP服务器 服务器端配置 打开FTP服务配置FTP用户名密码 客户端使用 > ftp {ftp服务器的IP} > 输入用户名密码 > put {文件路径}# dir不加盘符直接是从C盘开始定位; 可以使用dir看c盘下有什么文件 > get {文件名}例如 C:\>ftp 210.31.2…

Redis 初相识:开启缓存世界大门

Redis 概述 什么是 Redis Redis 是一个开源(BSD 许可)的,内存中的数据结构存储系统,它可以充当数据库、缓存以及消息中间件等多种角色。从数据存储角度来看,它基于内存,通过键值对的方式来存储各种类型的…

npm error code ETIMEDOUT

参考:https://blog.csdn.net/qq_38572963/article/details/142052986 二、解决办法 1、清空缓存 npm cache clean --force 2、查看当前的npm镜像设置 npm config get registry 3、切换新镜像源 npm config set registry https://registry.npmmirror.com 4、查看新源是否设置成功…

如何获取 ABAP 内表中的重复项

要识别 ABAP 内表中的重复项,可以结合使用排序和循环。下面的示例展示了如何查找内部表中的重复条目: DATA: BEGIN OF itab OCCURS 0,field1 TYPE i,field2 TYPE c LENGTH 10,END OF itab,wa LIKE LINE OF itab.* Add sample data to internal table it…

Web前端基础知识(一)

前端是构建网页的一部分,负责用户在浏览器中看到和与之交互的内容。 网页是在浏览器中呈现内容的文档或页面。 通常,网页使用HTML、CSS、JavaScript(JS)组成。 HTML:定义了页面的结构和内容。包括文本、图像、链接等。 CSS:定义页面的样式…

java 构建树型结构

构建属性结构 public static List<Map<String, Object>> buildTree(List<AreaInfo> dataList) {Map<String, Map<String, Object>> nodeMap new HashMap<>();List<Map<String, Object>> result new ArrayList<>();for…

C语言中的宏定义:无参宏与带参宏的详细解析

C语言中的宏定义&#xff1a;无参宏与带参宏的详细解析 在C语言中&#xff0c;宏定义是一种非常强大的预处理功能&#xff0c;通过#define指令可以定义一些常量或者代码片段&#xff0c;用来减少代码重复&#xff0c;提高可读性。本文将详细讲解无参宏与带参宏的使用方法&…

Windows10 下通过 Visual Studio2022 编译 openssl 3.4 + POCO 1.14.1

Windows10 下通过 Visual Studio2022 编译 POCO库 1 POCO库简介2 环境准备2.1 VS Studio 2022 安装2.2 openssl 安装3 编译 POCO 1.14.13.1 下载源码3.2 修改编译配置3.2.1 修改 poco\Crypto 工程 引用 openssl 的配置3.2.2 修改 poco\NetSSL_OpenSSL 工程 引用 openssl 的配置…