【分享】如何才能简洁高效不失优雅的爆破ZIP文件?
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文件?的更多相关文章
- jQuery --checkbox全选和取消全选简洁高效的解决办法
最近在公司做了一个小项目,其中有一个全选和取消全选的这么一个模块,搞了半天找不到一种最佳的解决方案!后来通过各种努力找到了一种简洁高效的解决办法,这里想和大家分享一下.有问题的话,还望各路大神指导一二 ...
- [C#] BarcodeLib -- 一个精简而不失优雅的条形码生成库
BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言 在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成.今天我所介绍的是另一款类库 Bar ...
- BarcodeLib -- 一个精简而不失优雅的条形码生成库
BarcodeLib -- 一个精简而不失优雅的条形码生成库 引言 在百度进行“C# 条形码”等类似关键字搜索的时候,基本上是使用 ZXing 类库进行条形码的生成.今天我所介绍的是另一款类库 Bar ...
- 2015.1.15 利用Oracle函数插入表结构 Bulk collect into 不用循环,简洁高效
如果表结构只对应一个字段,可以 select col1 bulk collect into 变量,不用游标循环,简洁高效 create or replace function get_airway_s ...
- A1128 | 逻辑想象能力、简洁高效美观的代码、memset的使用情景
写了三遍才AC,这真是对智商极大的侮辱 C++代码: #include <stdio.h> #include <memory.h> #include <math.h> ...
- Chrome简洁高效管理下载项
每次要查看下载记录时,Chrome新建下载标签页的速度能让我抓狂 之前用的 Chrono 界面太过传统,而且还不能点击打开.所以一直在寻找好用的下载管理插件,经过多次在拓展商城搜索比对,找到了这款拓展 ...
- 你要是还学不会,请提刀来见 Typora+PicGo+Gitee + node.js 打造个人高效稳定优雅图床
你要是还学不会,请提刀来见 Typora+PicGo+Gitee + node.js 打造个人高效稳定优雅图床 经过前面两弹的介绍,相信大家对图床都不陌生了吧, 但是小魔童觉得这样做法还是不方便,使用 ...
- R数据分析:如何简洁高效地展示统计结果
之前给大家写过一篇数据清洗的文章,解决的问题是你拿到原始数据后如何快速地对数据进行处理,处理到你基本上可以拿来分析的地步,其中介绍了如何选变量如何筛选个案,变量重新编码,如何去重,如何替换缺失值,如何 ...
- 阿里 EasyExcel 7 行代码优雅地实现 Excel 文件生成&下载功能
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- delphi中的idhttpserver如何才能收到idhttp发送来的exe\rar文件呢
http://zhidao.baidu.com/link?url=-q2oXqYCKBZ9OgFDEHAcQwQEY_NroHcqGvVfKW67X5sF9LdjAAB_HPXQo04VxStFVS7 ...
随机推荐
- #Python 利用pandas 合并csv/xlsx文件
上次我们分享了利用powerquery来合并文件进行数据分析,但是Pq有一部分局限性,在现实工作中,我们往往需要合并多个文件去处理数据, 如果面对20个甚至更多的文件,pq中的每一步的步骤都会去读取每 ...
- golang在编程语言排行榜上排名第10,请不要说golang已死。
四月头条:编程语言 Zig 进入 TIOBE 指数前 50 名 最近,我们讨论了高性能编程语言的出现.由于需要处理的数据量越来越大,这些编程语言正在蓬勃发展.因此,C 和 C++ 在前十名中表现良好, ...
- 2022-10-23:给你一个整数数组 nums 。如果 nums 的一个子集中, 所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 。 比方说,如果 nums =
2022-10-23:给你一个整数数组 nums .如果 nums 的一个子集中, 所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 . 比方说,如果 nums = ...
- 2021-03-06:go中,公共变量是协程安全吗?赋值操作是原子的吗?为什么?
2021-03-06:go中,公共变量是协程安全吗?赋值操作是原子的吗?为什么? 福哥答案2021-03-06: 这是面试中被问到的.实力有限,真正的答案还不知道.我的想法是a=1是原子操作,a=b不 ...
- 2021-02-27:假设一个固定大小为W的窗口,依次划过arr,返回每一次滑出状况的最大值。例如,arr = [4,3,5,4,3,3,6,7], W = 3。返回:[5,5,5,4,6,7]。
2021-02-27:假设一个固定大小为W的窗口,依次划过arr,返回每一次滑出状况的最大值.例如,arr = [4,3,5,4,3,3,6,7], W = 3.返回:[5,5,5,4,6,7]. 福 ...
- 2022-03-25:给定一个长度为 N 的字符串 S,由字符‘a‘和‘b‘组成,空隙由 ‘?‘ 表示。 你的任务是用a字符或b字符替换每个间隙, 替换完成后想让连续出现同一种字符的最长子串尽可能短。
2022-03-25:给定一个长度为 N 的字符串 S,由字符'a'和'b'组成,空隙由 '?' 表示. 你的任务是用a字符或b字符替换每个间隙, 替换完成后想让连续出现同一种字符的最长子串尽可能短. ...
- operation not supported on selected printer
operation not supported on selected printer 版本原因 解决办法, 每次打印前先选择一次打印机属性,弹窗点确认还是取消都行,最后返回再点打印即可
- drf——Request源码分析、序列化组件、序列化类的使用(字段类和参数)、反序列化校验和保存
1.Request类源码分析 # APIView+Response写个接口 # 总结: 1.新的request有个data属性,以后只要是在请求body体中的数据,无论什么编码格式,无论什么请求方式 ...
- lxml中xpath获取当前节点所有子节点的文本方法
一.场景还原 现在假定有如下html代码: <div class="content"> <p>输入只有一行半径r.</p> </div&g ...
- Python随机UserAgent库,让你不再手动敲UA!
前言 之前也懵懵懂懂写过python爬虫,但是经常被网站的反爬机制干趴下,然后手动写了个随机UA库,情况才好些.今天在互联网畅游时发现,有一个能够产生随机UA的第三方库! 安装第三方库 老生常谈啦,p ...