背景

对加密的ZIP压缩包进行密码破解的方式有很多,网上也有很多文章,今天只介绍一种——JohnTheRipper。

JohnTheRipper

摘自百度百科:

John the Ripper,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法。如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。

其实JohnTheRipper的主要功能是破解经过加密的密码,这里简单的举个例子。
比如你在某网站的账户名是:abc123,密码是:password123。

用户名 密码
abc123 password123

网站是不可能明文保存你的密码password123的,它会对你的这个密码进行加密,比如储存password123的md5值(实际中不会这么简单,这里涉及到很多加密的知识,不做展开)。
实际储存的是:

用户名 密码
abc123 7576f3a00f6de47b0c72c5baf2d505b0

这样即使该网站的数据库被黑了,黑客也不能反向推测出你的密码。

但是不可逆不代表不可破解,简单理解就是JohnTheRipper是一款可以通过你储存的这组hash值能够反向算出你的密码的软件。

ZIP破解

但是我们今天用到的是JohnTheRipper的另一个功能,破解ZIP文件。

fcrackzip

在介绍JohnTheRipper的使用前,顺便提一下fcrackzip,也是一款对ZIP文件进行暴力破解的软件,用法简单,但是早已不维护,而且效率远低于JohnTheRipper。不过我当时正是由fcrackzip才发现JohnTheRipper的,感谢这些真正牛逼的人为开源世界作出的贡献~~~

下面言归正传…

源码下载

下载地址:https://github.com/magnumripper/JohnTheRipper

git clone https://github.com/magnumripper/JohnTheRipper.git
安装依赖

编译前需要先安装依赖的库,我们可以先看官方安装说明:

The Jumbo versions requires OpenSSL 0.9.7 or later. To get all functionality
you need 1.0.1. For building, not only the run-time libs are needed but also
“devel” stuff like header files. This is often a separate package, so, e.g.,
for Ubuntu you need “libssl-dev” as well as “libssl”
A few helper tools need C++. Some helper tools are written in Python. A couple
helper tools (vncpcap2john and SIPdump) need libpcap. A couple of formats need
extra libraries in order to get included:

mozilla     libnss
krb5-18/23  libkrb5
wowsrp      libgmp (will build without it, but is slower then)

Again, you also need e.g. libnss-dev, libkrb5-dev and libgmp-dev in order to
build.

这里因为我需要的库都已经安装,就不另外写安装说明了,没有的库可以自行安装 。
ubuntu安装库的命令一般是:

apt-get install libxxx-dev

这样同时包含链接库和需要的头文件。

编译

这里演示的是最基本功能的编译,还有很多可配置项,具体可以阅读INSTALL文件。

cd JohnTheRipper-bleeding-jumbo
cd src
./configure && make -sj4

不出意外的话,很快就能编译完成,下面就是破解阶段了!

暴力破解

我们首先自己先创建一个有密码的zip压缩包,命名为target.zip
将target.zip拷贝至JohnTheRipper-bleeding-jumbo目录
这时候运行下面的代码:

./run/zip2john target.zip > hash
./run/john hash

下面就静静地等待密码破解即可!
比如我这次设的密码是shang
JohnTheRipper破解后显示的信息是:

0g 0:00:00:07  3/3 0g/s 21199p/s 21199c/s 21199C/s 123456
shang            (target.zip)
1g 0:00:00:08 DONE 3/3 (2018-01-01 21:35) 0.1206g/s 23319p/s 23319c/s 23319C/s 123456..013355

需要注意的是,纯暴力破解的话8位以内的密码相对快一点,8位以上的话就基本很难了。

软件还有很多其他选项,比如使用字典,知道密码长度,给出密码的部分字符串加速等待。感兴趣的可以深入研究,毕竟JohnTheRipper功能非常强大,今天介绍的只是它很小的一个功能。

使用JohnTheRipper对有密码加密的ZIP压缩包文件进行暴力破解相关推荐

  1. 能绕过密码解压ZIP压缩包文件嘛?

    zip压缩包设置了加密,需要输入密码才能够解压文件,但是我们没有密码就没办法解压出文件,如果没有密码,有什么方法可以绕过密码直接解压文件吗?答案是 没有办法. 想要解密zip压缩包文件的密码,我们还是 ...

  2. 5.3使用凯撒密码加密和解密英文文件python

    1本关任务:使用凯撒密码加密和解密英文文件.具体要求如下: (1)接收一个字符串为参数,如果参数值为加密,要求用户输入一个要加密的文件名,再输入一个单词做为密钥发生器,用于计算偏移量,对文件中的内容进 ...

  3. 暴力破解(一)——python脚本暴力破解 加密的zip压缩文件

    简介: zip格式是常见的压缩文件格式,它支持压缩时设置解压密码:有两种加密方式:1传统加密方式和普通的加密方式.传统加密方式是一种比较简单的加密方式,现在一般很少有人使用,而且压缩时 系统默认选择的 ...

  4. 已加密的Zip压缩包暴力破解方式Archpr+John

    本文主要记录已加密zip压缩包的破解,密码为数字的暴力破解方式,仅用于实验研究. 我只尝试了两种破解方式,一种是利用Archpr工具(仅windows平台可用),另一种利用了John(kali系统内置 ...

  5. ZIP压缩包文件删除密码的方法

    压缩包想要删除密码,一般来说是将压缩包文件解压然后重新压缩,重新压缩的压缩包不要设置密码,这就相当于是删除了压缩包的密码. 但是zip格式的压缩包还有另一种删除密码的方法,如下: 右键压缩包,然后选择 ...

  6. 20220215-CTF-MISC-BUUCTF-小明的保险箱-binwalk分析-dd命令分离出RAR文件-ARCHPR暴力破解密码

    CTF-MISC-BUUCTF-小明的保险箱 小明有一个保险箱,里面珍藏了小明的日记本,他记录了什么秘密呢?...告诉你,其实保险箱的密码四位纯数字密码.(答案格式:flag{答案},只需提交答案) ...

  7. 逆向:《加密与解密》TraceMe的暴力破解

    文章目录 资源 参考 准备工作 OD打开 查看导入表 跟随 输入 返回至调用处 找返回值 修改返回值 去掉跳转指令 保存 资源 百度云 提取码: bdq1 参考 博客园 准备工作 首先先打开原版的Tr ...

  8. 忘记RAR、ZIP压缩包密码,如何解决?

    在线RAR/ZIP解密.找回密码.RAR/ZIP压缩包解密,简单易操作! 具体步骤如下:第一步,打开百度搜索,输入关键词"密码帝官网",找到官网链接:第二步,点击"立即开 ...

  9. 忘记RAR、ZIP压缩包密码?尝试这3个绝妙解决办法!

    解密.找回RAR/ZIP密码.RAR/ZIP压缩包解密,从来不是一件容易的事情.很多人可能会遇到这样的困扰,无从下手.那么,如何以最简单的办法解决这个问题呢?下面给大家分享一个安全.简单易操作.实惠的 ...

最新文章

  1. 计算机网络计算机应用答案,计算机网络与应用(含答案).doc
  2. 图形结构:克隆图,图的遍历的应用,递归和迭代
  3. flask中数据库的基本操作-增删改查【备忘】
  4. C++ opengl 点的绘制
  5. 7,复习,多对多表的三种创建,form组件,cookie,session
  6. c语言如歌输出空字符,沈阳航空航天大学毕业设计(论文).doc
  7. 系统学习NLP(八)--中文分词整理
  8. 修改mysql连接回收时间_Druid无效链接回收策略(源码分析)(mysql 8小时连接失效问题)...
  9. 管理感悟:当领导就要敢于,及时做出决策
  10. vmlinuz 文件解压缩(zImage|bzImage)
  11. 别总写代码,这120多个网站比涨工资都重要
  12. Math.round(-1.5) 等于多少
  13. 电子技术基础——基本共射放大电路
  14. SCI期刊最权威的信息查询步骤!
  15. 优秀宝宝都有的6个特点
  16. 苹果mac有什么用_苹果的T2“安全芯片”在Mac中有什么作用?
  17. 接口和继承知识点总结
  18. 企业做网络推广和软文发布都有哪些营销渠道?
  19. PV、PVC、StorageClass详解
  20. JZOJ 3388. 【NOIP2013模拟】绿豆蛙的归宿

热门文章

  1. 阿里云Landing Zone系列--场景说明
  2. 想吃水果的朋友进来吧,水果类英文单词收集
  3. 如何通过weblogic下载文件
  4. python格式化输出
  5. html中this的作用,JavaScript 中的 this :工作原理和陷阱
  6. Atitit 工程师程序员技术级别对应表与主要特征 P1--p6 说明 类别 职称 对应技术标志 P5 高级工程师 工程师类 一般四五年 P6 资深开发 工程师类 78年经历 P7 P7
  7. 01背包问题 —— 【算法设计】动态规划
  8. 计算机网络--DHCP分析实验
  9. 结对项目-数独程序扩展
  10. 完美解决idea2020一直indexing,无法操作的问题