徐州黄褐斑是怎么回事

  加密zip包基本上只有三条思路:伪加密,爆破,明文思路

  ZIP压缩方式支持密码加密。加密时候会在文件头部辨密钥相关信息。fcrackzipKali自带款工具。它支持暴力破解和字典破解两种模式。

  该工具只支持ZIP压缩文件,不支持RAR压缩文件。因为这两种文件使用不同压缩算法。

  x. 通过进制转换隐藏信息

  这种方法比较简单,直接拿道题讲解(题目来自ISCC Basic-)。题目给个txt文档如下图

  经过观察,所有数据都在进制能表示范围之内,因此先尝试使用十六进制编码解密,python脚本如下:

  运行结果如下,虽然存在大量乱码,但还能看到flag.txt,因此猜测txt中这段字符zip包进制表示(同时开头PK也暗示这个zip包,PKzip格式发明者Phil Katz名称缩写,zip前两个字母就用PK)

  将此进制文件导入到进制编辑器中,这里用editor做演示

  导入后选择 Save As(快捷键 ctrl + shift + s),给新文件命名时加上后缀.zip,辨后发现zip文件正衬,因此证明思路正确,

  x. 在图片中隐藏压缩包(图种)

  这种方法大概zip中最常见,多用于在张图片中隐藏个压缩包,这种方法原理:以jpg格式图片为例,个完整 JPG 文件由 FF D 开头,FF D结尾,图片浏览器会忽略 FF D 以后内容,因此可以在 JPG 文件中加入其他文件。

  也以道题为例为例(ISCC Basic-),对于这种隐写最简单方法使用Kali下binwalk进行检测,binwalk 图片名 如下,检测出图片中存在压缩包

  分离这个压缩包利用Linux下foremost工具, foremost 图片名 如下,foremost默认输出文件夹为output,在这个文件夹中可以找到分离出zip(推荐使用这种方法,因为foremost还能分离出其他隐藏文件)

  另:本题后续步骤为构造字典,爆破握手包

  x. 伪加密

  Zip伪加密与zip文件格式有关(zip格式详解请翻到本文最后x部分),zip中有位标记文件否加密,如果更改个未加密zip包加密标记位,那么在打开压缩包时就会提示该文件加密。

  对于伪加密有以下几种方法:

  .在Mac OS及部分Linux(如Kali)系统中,可以直接打开伪加密zip压缩包

  .使用检测伪加密ZipCenOp.jar,解密后如果能成功打开zip包,则伪加密,否则说明思路错误

  . 使用进制编辑器改回加密标记位

  以HBCTF道题讲解这几种方法:

  如上,尝试解压压缩包时提示有密码,根据题干:比爆破更好方法推测为伪加密,用三种方法来解此题:

  .用除windows外系统直接打开压缩包

  在Mac OS和部分Linux系统(如Kali)中,右键解压可直接打开伪加密zip压缩包,笔者暂未明确何种Linux能打开伪加密压缩包,如有传授,不胜感激!

  .使用ZipCenOp.jar(需java环境) 使用方法

  经ZipCenOp.jar解密后压缩包可直接打开

  . 用进制编辑器修改加密标记位

  如上图,修改加密标记位为,辨,即可打开压缩包(关于zip文件结构,请翻到本文最末x部分)

  x. 爆破/字典/掩码攻击

  把这三种归位类因为这三种方法在本质上都逐个尝试,只不过待选密码集合不同

  .爆破:顾名思义,逐个尝试选定集合中可以组成所有密码,知道遇到正确密码

  .字典:字典攻击效率比爆破稍高,因为字典中存储常用密码,因此就避免爆破时把时间浪费在脸滚键盘类密码上

  .掩码攻击:如果已知密码某几位,如已知位密码第位a,那么可以构造 a? 进行掩码攻击,掩码攻击原理相当于构造第位为a字典,因此掩码攻击效率也比爆破高出不少

  对这类zip问题,推荐windows下神器AZPR

  举例如下:

  .对爆破,以ISCC Basic-为例,选定暴力攻击、字符集和长度后进行爆破

  点击开始,进行爆破,如下图,在ms内就找到密码为BIT

  另:此题后续为简单base解密;爆破在密码长度小于位时较快,因此如果在位之内没有爆破出结果时,基本就可以考虑换个方法;此题正规解法培根密码转换

  . 字典,还以之前ISCC Basic-举例,从图片中分离出个加密zip压缩包,爆破无果后考虑字典攻击(可从网上下载字典,但大多数题目需要自己构造字典,文末网盘连接里提供常见字典)

  .

  .字典攻击结果如下图,在字典选择合适情况下,用很短时间就能找到密码

  . 继续以此题为例,解压后压缩包有个txt文档和个握手包,txt内容如下:

  因此可知握手包密码为ISCC****形式(*代表大写字母或数字),自己写程序构造字典

  运行此程序得到字典如下:

  之后用aircrack-ng来选中字典跑除握手包密码如下图,不再详述

  掩码攻击,以ISCC Misc-为例,题目给个jpg图片,用x中方法分离出加密压缩包,根据题目提示:注意署名, 构造?LiHua掩码(?可在自己定义字符集中任意选择)进行掩码攻击,如下图:

  攻击结果如下,只耗费很少时间就找到密码

  x. 明文攻击

  明文攻击种较为高效攻击手段,大致原理当你不知道个zip密码,但你有zip中个已知文件(文件大小要大于Byte)时,因为同个zip压缩包里所有文件都使用同个加密密钥来加密,所以可以用已知文件来找加密密钥,利用密钥来解锁其他加密文件,更详细原理请读者自行谷歌

  举个例子,已知 明文攻击.zip 中存在文件 明文.txt,

  因此将 明文.txt 压缩,这里需要判断明文压缩后CRC否与加密文件中致,若不致可以换个压缩工具。

  攻击过程如下:

  点击开始,很快就恢复密码

  另:当明文大小比较小时,攻击速度会比较慢;即使有时没有恢复密码,也可以使用明文攻击,最后点辨还能得到压缩包里内容。

  x. CRC碰撞

  CRC:CRC本身“冗余校验码”意思,CRC则表示会产生个bit(位十六进制数)校验值。

  在产生CRC时,源数据块每位都参与运算,因此即使数据块中只有位发生改变也会得到不同CRC值,利用这个原理我们可以直接爆破出加密文件内容

  还以之前HBCTF伪加密那道题为例,另种解法就CRC碰撞,打开压缩包,可以看出压缩文件 flag位数

  CRC值为xcdad

  因此写出碰撞脚本如下:

  要特别注意

  在 Python .x 版本中,binascii.crc 所计算出來 CRC 值域为[-^, ^-] 之间有符号整数,为要与般CRC 结果作比对,需要将其转为无符号整数,所以加上& xffffffff来进行转换。如果 Python .x 版本,其计算结果为 [, ^-] 间无符号整数,因此不需额外加上& xffffffff 。

  脚本运行结果如下,即为压缩文件内容:

  再举另个bugku中例子,下载下来文件个压缩包,并且根据binwalk检查结果,每个压缩包里都有个大小为个字节,名为out.txt压缩文件

  用如下脚本碰撞出所有压缩包中数据:

  此题较为繁琐,之后步骤不再展开

  另:限于CPU能力,CRC碰撞只能用于压缩文件较小情况

  x. 修改格式

  这种情况花样较多,难以做个详细总结,因此只列举最常见缺少文件头或文件尾。

  放个zip文件格式讲较清楚链接,通过对zip文件格式解,可以解释之前伪加密问题,同时也可以对缺少文件头或文件尾有更直观认识。

  如上为正常zip,缺头zip和缺尾zipbinwalk扫描结果,根据扫描结果用进制编辑器添加文件头或文件尾,即可修复zip。

  总结

  Zip不仅我们生活中常用到种文件格式,在CTF中也经常遇到,这里做个关于CTF中zip总结,如果对读者有帮助,鄙人不胜荣幸。

猜你喜欢

瑞士药价下调20%为病患每年节省约1亿瑞士法郎

外媒:中国在南太影响力增强是事实美澳“反击”...

《你好,之华》秦昊角色原型来自导演本人

伤情确认但归期未定曼城官方宣布门迪左膝手术成功...

这才是幼儿死亡“第一大杀手”别对孩子做这些事

广西马山:“体育+扶贫”模式效益凸显...

南航突然宣布“退群”这几件事可能影响到你

通州:严肃换届纪律确保风清气正...

女子网贷逾期遭暴力追债:亲友收到她的PS裸照

政务要闻清徐县党建知识竞赛落幕...

格力明珠产业学院揭牌,董明珠:校企联合培养人才是必由之路

吉林大学召开学习贯彻中国工会第十七次全国代表大会精神会议...

工信部吴胜武:2018年中国大陆显示产业规模将超3000亿元

【水利局】不忘初心勇毅笃行长春市农村饮水安全脱贫攻坚工作再谱新篇...

【清洁能源】西宁煤改气率先清零为大气减负

美国佛州国会参院席位之争尘埃落定共和党人胜选...

掉队再进击金地集团前十月签约1193亿元

女子抱着女儿跳江因女儿生病丈夫无法及时赶回...

政务要闻中央生态环保督察组“回头看”转办第三批179件群众举报案件

粉红遗产:近19克拉粉钻将拍卖估价达数亿元(图)...