码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ZIP明文攻击


    ZIP明文攻击


    免责声明

    本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


    相关工具

    • archpr(Advanced Archive Password Recovery)
    • keyunluo/pkcrack
    • kimci86/bkcrack
      1. wget https://github.com/kimci86/bkcrack/releases/download/v1.3.1/bkcrack-1.3.1-Linux.tar.gz
      2. tar -zxvf bkcrack-1.3.1-Linux.tar.gz
      3. cp bkcrack-1.3.1-Linux/bkcrack /usr/sbin/bkcrack
      4. bkcrack -h

    点击关注,共同学习!安全狗的自我修养

    github haidragon

    https://github.com/haidragon

    ZIP 的加密算法

    ZIP 的加密算法大致分为两种 ZipCrypto 和 AES-256, 各自又分 Deflate 和 Store。

    • ZipCrypto Deflate
    • ZipCrypto Store
    • AES-256 Deflate
    • AES-256 Store

    ZipCrypto 算是传统的 zip 加密方式。

    只有使用 ZipCrypto Deflate /Store 才可以使用 ZIP 已知明文攻击进行破解。

    AES256-Deflate/AES256-Store 加密的文件不适用于明文攻击。


    ZIP 明文攻击的条件

    至少已知明文的 12 个字节及偏移,其中至少 8 字节需要连续。

    明文对应的文件加密方式为 ZipCrypto Store


    比较特殊的明文攻击案例

    在知道目标文件部分连续明文的情况下,去爆破密钥

    例如 flag.txt

    flag{4d6ba874-881d-4c04-b7c3-5e974b81e86a

    加密成 flag.zip 加密时注意使用 Deflate 压缩方法,ZipCrypto 加密算法

    给出部分连续明文

    flag{4d6ba874-881d-4c0

    采用 bkcrack 进行爆破

    1. echo "flag{4d6ba874-881d-4c0" > plain1.txt
    2. bkcrack -C flag.zip -c flag.txt -p plain1.txt
    3. # 爆破得到zip的密钥如下
    4. 1b10db88 4b87405b 0a41939c

    利用密钥进行解密

    1. bkcrack -C flag.zip -c flag.txt -k 1b10db88 4b87405b 0a41939c -d flag1.txt
    2. cat flag1.txt

    如果是已知部分且不连续可以采用 -o 偏移量参数组合使用

    1. bkcrack -C flag.zip -c flag.txt -p plain1.txt -o 1 -x 29 37346636
    2. # -c 提取的密文部分
    3. # -p 提取的明文部分
    4. # -x 压缩包内目标文件的偏移地址 部分已知明文值
    5. # -C 加密压缩包
    6. # -o offset -p参数指定的明文在压缩包内目标文件的偏移量

    Source & Reference

    • ZIP明文攻击获得加密压缩包内文件
    • zip加密的明文攻击
    • ZIP已知明文攻击深入利用

    点击关注,共同学习!安全狗的自我修养

    github haidragon

    https://github.com/haidragon

  • 相关阅读:
    网络编程 笔记
    VTK四面体文件格式
    代码坏味道
    OPENAI 开发者大会_观后感_231107
    docker--redis容器部署及与SpringBoot整合-I
    会议信息管理系统SSM记录(三)
    微服务6:通信之网关
    【C++】list的使用(上)
    007.斐波拉契查找算法
    计算机的组成
  • 原文地址:https://blog.csdn.net/sinat_35360663/article/details/127601531
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号