0x01 前言

在CTF比赛中,压缩包密码的爆破一直是一个热门话题。在这个过程中,简洁高效的方法是至关重要的。本文将介绍一些实用的技巧和工具,帮助您高效地爆破ZIP文件密码,而不失优雅。我们将探讨一些关键要素,如线程数量、密码字典数量、可自定义程度和速度等,并提供一些实用的工具供大家尝试。通过本文的学习,您将能够找到适合自己的方式,提高爆破的效率和准确性。

0x02 方式方法

ARCHPR

Advanced Archive Password Recovery(高级存档密码恢复)简称ARCHPR,是一款用于恢复压缩文件(如ZIP和RAR)密码的软件。该软件使用多种攻击方法,包括字典攻击、暴力攻击、彩虹表攻击等,以尝试破解密码并访问被保护的存档文件。

ARCHPR支持多种文件格式,包括ZIP、RAR、ARJ、ACE和MS Office文档等。该软件可以在多个操作系统上运行,包括Windows和Linux。此外,ARCHPR还具有用户友好的界面,可以方便地设置攻击选项和运行攻击。

zip2john

zip2john 是一个命令行工具,用于将一个加密的 ZIP 压缩文件的密码哈希转换成 John the Ripper 可以识别的格式,以便于使用 John the Ripper 这个密码破解工具来破解 ZIP 文件的密码。

使用 zip2john,您可以将加密的 ZIP 压缩文件的密码哈希提取出来,并将其保存到一个文件中,以便于将其输入到 John the Ripper 中进行破解。zip2john 支持多种不同类型的 ZIP 压缩文件,包括标准的 PKZIP 压缩文件和 WinZip 压缩文件。

使用 zip2john 的基本语法为:

zip2john [options] zipfile > output_file

其中,zipfile 是要破解的 ZIP 压缩文件的名称,output_file 是要将密码哈希保存到的文件名称。options 是可选的命令行选项,可以用于指定要使用的 ZIP 文件类型、压缩方法等。

一般情况下,options是可以忽略的,直接跟文件名即可。

接着使用hashcat或者john进行解密即可。

rarcrack

rarcrack可以指定爆破文件的类型,如rar、zip、7z,还可以定义最大长度等,不过有很多次爆破没有出结果,而且速度好像不是很好,最大支持12线程。

rarcrack 123.zip -threads 12 -type zip

fcrackzip

这个工具可以指定爆破方式,如暴力破解,指定密码字典等,还可以设置长度、暴力破解字符集等。

-c 指定字符集,字符集 格式只能为 -c 'aA1!:'
a 表示小写字母[a-z]
A 表示大写字母[A-Z]
1 表示阿拉伯数字[0-9]
! 感叹号表示特殊字符[!:$%&/()=?{[]}+*~#]
: 表示包含冒号之后的字符(不能为二进制的空字符),例如 a1:$% 表示 字符集包含小写字母、数字、$字符和%百分号

自己动手,丰衣足食

这是我自己闲来无事觉得自己“肝”太好了,自己去写的一个集成化模块,集成了大部分的CTF功能,其中就包括了ZIP的爆破。

其原理是使用queue队列和threading实现多线程爆破,其可以自定义的东西很多,如线程数、冷却时间、密码表、解压地址等,通过这个脚本可以很方便的融合到网站、机器人等,这也是我自己觉得他好用的地方。

项目地址:https://github.com/Moxin1044/qsnctf-python

0x03 总结

爆破压缩包的方式很多,还是找到自己习惯的方式是最好的。那么今天的文章分享就到这里了,期待下次与大家相间于字里行间。

【分享】如何才能简洁高效不失优雅的爆破ZIP文件?的更多相关文章

  1. jQuery --checkbox全选和取消全选简洁高效的解决办法

    最近在公司做了一个小项目,其中有一个全选和取消全选的这么一个模块,搞了半天找不到一种最佳的解决方案!后来通过各种努力找到了一种简洁高效的解决办法,这里想和大家分享一下.有问题的话,还望各路大神指导一二 ...

  2. [C#] BarcodeLib -- 一个精简而不失优雅的条形码生成库

    BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言 在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成.今天我所介绍的是另一款类库 Bar ...

  3. BarcodeLib -- 一个精简而不失优雅的条形码生成库

    BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言 在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成.今天我所介绍的是另一款类库 Bar ...

  4. 2015.1.15 利用Oracle函数插入表结构 Bulk collect into 不用循环,简洁高效

    如果表结构只对应一个字段,可以 select col1 bulk collect into 变量,不用游标循环,简洁高效 create or replace function get_airway_s ...

  5. A1128 | 逻辑想象能力、简洁高效美观的代码、memset的使用情景

    写了三遍才AC,这真是对智商极大的侮辱 C++代码: #include <stdio.h> #include <memory.h> #include <math.h> ...

  6. Chrome简洁高效管理下载项

    每次要查看下载记录时,Chrome新建下载标签页的速度能让我抓狂 之前用的 Chrono 界面太过传统,而且还不能点击打开.所以一直在寻找好用的下载管理插件,经过多次在拓展商城搜索比对,找到了这款拓展 ...

  7. 你要是还学不会,请提刀来见 Typora+PicGo+Gitee + node.js 打造个人高效稳定优雅图床

    你要是还学不会,请提刀来见 Typora+PicGo+Gitee + node.js 打造个人高效稳定优雅图床 经过前面两弹的介绍,相信大家对图床都不陌生了吧, 但是小魔童觉得这样做法还是不方便,使用 ...

  8. R数据分析:如何简洁高效地展示统计结果

    之前给大家写过一篇数据清洗的文章,解决的问题是你拿到原始数据后如何快速地对数据进行处理,处理到你基本上可以拿来分析的地步,其中介绍了如何选变量如何筛选个案,变量重新编码,如何去重,如何替换缺失值,如何 ...

  9. 阿里 EasyExcel 7 行代码优雅地实现 Excel 文件生成&下载功能

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  10. delphi中的idhttpserver如何才能收到idhttp发送来的exe\rar文件呢

    http://zhidao.baidu.com/link?url=-q2oXqYCKBZ9OgFDEHAcQwQEY_NroHcqGvVfKW67X5sF9LdjAAB_HPXQo04VxStFVS7 ...

随机推荐

  1. C#处理医学影像(四):基于Stitcher算法拼接人体全景脊柱骨骼影像

    在拍摄脊柱或胸片时,经常会遇到因设备高度不够需要分段拍摄的情况, 对于影像科诊断查阅影像时希望将分段影像合并成一张影像,有助于更直观的观察病灶, 以下图为例的两个分段影像:       我们使用Ope ...

  2. PM系统成本科目挂接教程-如何查手册和看帮助文档

    如果这么简单的问题都无法入门只能说回炉重造吧孩子. ---by SheZQ 正文 成本科目挂接作为PM系统最基本的取数依据,数据汇总的根本,是必须要会的技能.如果没有挂接,就会出现空值或者0值. 摘自 ...

  3. 前端Vue项目打包性能优化方案

    一.前言 Vue 框架通过数据双向绑定和虚拟 DOM 技术,帮我们处理了前端开发中最脏最累的 DOM 操作部分, 我们不再需要去考虑如何操作 DOM 以及如何最高效地操作 DOM:但 Vue 项目中仍 ...

  4. 2023-01-01:remix-ide是浏览器的ide,官方已经提供地址,但是需要连接外网。如果是内网,需要自己在服务器里搭建remix-ide;另一种方式是用remix-ide的桌面版。这里只讨论

    2023-01-01:remix-ide是浏览器的ide,官方已经提供地址,但是需要连接外网.如果是内网,需要自己在服务器里搭建remix-ide:另一种方式是用remix-ide的桌面版.这里只讨论 ...

  5. 2022-04-02:你只有1*1、1*2、1*3、1*4,四种规格的砖块。 你想铺满n行m列的区域,规则如下: 1)不管那种规格的砖,都只能横着摆, 比如1*3这种规格的砖,3长度是水平

    2022-04-02:你只有11.12.13.14,四种规格的砖块. 你想铺满n行m列的区域,规则如下: 1)不管那种规格的砖,都只能横着摆, 比如1*3这种规格的砖,3长度是水平方向,1长度是竖直方 ...

  6. 选择结构do...while语句

    // do..while语句 #include<stdio.h> int main() { int a = 0; do { a++; printf("HelloWorld\n&q ...

  7. shell编程-文件归档

    需求说明:设置定时任务,每天凌晨1点进行将指定目录(/root/scripts)下文件按照archive_目录名_年月日.tar.gz的格式归档存放到/root/archive 路径下. 1.编写脚本 ...

  8. IM1281B电能计量模块_C语言例程

    一.前言 毕设采用了艾锐达公司的IM1281B电量计能模块,找了一圈没发现具体的51单片机的例程,现在写个能使用的C语言例程,方便以后的开发者们. 二.事前准备 引脚定义: 引脚 功能说明 V+ 供电 ...

  9. MAUI Blazor 项目实战 - 从0到1轻松构建多平台应用UI

    前言 最近在项目中尝鲜了MAUI,总体感受下来还是挺不错的,优缺点并存,但是瑕不掩瑜,目前随着.Net版本的迭代升级对它的支持也越来越友好,相信未来可期!感兴趣的朋友欢迎关注.文章中如有不妥的地方,也 ...

  10. 从零实现俄罗斯方块(c语言+思路分析)

    俄罗斯方块 文章说明: 本文大部分参考至俄罗斯方块(C语言实现)_c语言俄罗斯方块_2021dragon的博客-CSDN博客,本人经过修改编辑,改变了文章的一些思路顺序,使得新手便于理解(个人想法). ...