恶意代码--大小约1.2G左右zip压缩包文件用rar解压出来为何只有1.2KB

2023-10-17 02:50

本文主要是介绍恶意代码--大小约1.2G左右zip压缩包文件用rar解压出来为何只有1.2KB,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0x01 基本分析

 

File: D:\virus\burpsuite视频.zip

Size: 1243424856 bytes

Modified: Wednesday, August 10, 2016, 2:39:40 PM

MD5: C9DB51BC70DBF439D840A00CC685C03A

SHA1: 9D4F8D5EEE46136D01F9264F7A37FF8B71015A0E

CRC32: 0B071DFB


0x02 文件信息





0x03 压缩信息获取



0x04 diff 自制压缩比较



0x05 解除锁定编码



网上可以搜索相关的软件,比如有些WinRAR的修改版,可以解除锁定限制。

但是并不建议使用修改过的WinRAR,还是用原版的WinRAR放心。 
如果你懂技术,就会发现问题变得很简单了,RAR文件的锁定与否,

其实只不过改了一些标志字节而已。 
你需要下载一个十六进制编辑器,比如Ultra-Edit,WinHex等。用它打开一个RAR压缩包,

这时发现任意一个正常的RAR最开始的几个字节都是 52 61 72 21 1A 07 00,

接下来的5个字节,普通RAR是:CF 90 73 00 00 
而锁定的RAR是:B5 30 73 04 00 。 
现在知道怎么做了吧。用16进制编辑器打开一个被锁定的RAR,
修改第7到第11个字节就可以了。 将 B5 30 73 04 00 成 CF 90 73 00 00 。
如果还想深入了解为什么要这样修改,每个数字代表的含义,
那么你可以参考WinRAR安装目录下的TechNode.txt。
另外注意,以上均假设压缩包没有被分卷,固实,加密等。如果你遇到这样的情况,

也是可以解决的,那5个字节就应该改成其它的。



0x06 动态捕获可疑行为


检测文件,注册表,文件访问,事件记录发现正常,未发现明显恶意行为。


0x07  网络数据捕获




正常没发现异常地址或者CC服务器。

由此判断文件本身并没有恶意行为,怀疑可能是数据格式兼容性问题或者数据部分被修改。

因此恢复文件的话,尝试修复压缩包试试。

0x08 尝试压缩包修复

    1 rar cmd模式





    2 Advanced zip repair

Start repair process ...

--------------------------------------------------------

File to be repaired: 'D:\virus\test\123.zip'; File size = 1,243,424,856 bytes

Output fixed file as: 'D:\virus\test\123_fixed.zip'

--------------------------------------------------------

Collect central header informations ...

--------------------------------------------------------

Write central directory structure ...

--------------------------------------------------------

Consumed time: 0 hour(s) 2 minute(s) 54 second(s) 322 millisecond(s).

--------------------------------------------------------

Repair process completes.

--------------------------------------------------------

Fail to repair file 'D:\virus\test\123.zip'!


虽然尝试修复失败,但是部分数据头被还原。


开头pk这个是压缩包标志。

0x09 测试文件格式比对

正常压缩文件:


可疑压缩文件




0x10  kuaizip测试还原数据方法1





0x11 手动修改还原数据方式2


注意是十六进制大写PK

本身头两个字节是kZ 对应十六进制 6B 5A(注意严格的大小写区分)

修改成大写PK 50 4B此时再用好压打开,已经看不见刚才的压缩目录

只剩下一个说明.html文件。



说明快压把压缩头(Pack Header)按照自己的算法和格式给改了。

使用Windows自带的写字板打开快压包,将标头的'kZ'改为'PK'再保存为文档格式,

后缀改成CAB,


Cmd 下面输入iexpress

 

http://jingyan.baidu.com/article/d169e186af5d33436611d8a9.html

 

再把CAB打包成自解压解出来,改成7z即可。后面自己学习。

 

0x12 总结

 

1该程序并没有什么恶意危害主机代码和功能。

 

2只是进行部分数据修改,算法不同,压缩格式破坏。

 

3导致不兼容常见的几种压缩格式如rarzip,7z等格式。

 

压缩包本身数据保存完整,可以提取出来(正常可见,可用)。

 

5 http://www.kuaizip.com下载此工具,即可正常解压。

 

0x13 工具

    hash

    Winhex

    Politedit

    Editplus

    Advance zip

    Advance rar

    Rar

    Iexpress

    Procemon

    wireshark

 

这篇关于恶意代码--大小约1.2G左右zip压缩包文件用rar解压出来为何只有1.2KB的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/222432

相关文章

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打

MySQL zip安装包配置教程

《MySQLzip安装包配置教程》这篇文章详细介绍了如何使用zip安装包在Windows11上安装MySQL8.0,包括下载、解压、配置环境变量、初始化数据库、安装服务以及更改密码等步骤,感兴趣的朋... 目录mysql zip安装包配置教程1、下载zip安装包:2、安装2.1 解压zip包到安装目录2.2

MySQL8.0设置redo缓存大小的实现

《MySQL8.0设置redo缓存大小的实现》本文主要在MySQL8.0.30及之后版本中使用innodb_redo_log_capacity参数在线更改redo缓存文件大小,下面就来介绍一下,具有一... mysql 8.0.30及之后版本可以使用innodb_redo_log_capacity参数来更改

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

电脑没有仿宋GB2312字体怎么办? 仿宋GB2312字体下载安装及调出来的教程

《电脑没有仿宋GB2312字体怎么办?仿宋GB2312字体下载安装及调出来的教程》仿宋字体gb2312作为一种经典且常用的字体,广泛应用于各种场合,如何在计算机中调出仿宋字体gb2312?本文将为您... 仿宋_GB2312是公文标准字体之一,仿China编程宋是字体名称,GB2312是字php符编码标准名称(简

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了 直接上代码: /*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){int m;m=n;xlen=0;while(m){x[++xlen]=m%B;m/=B;}m=n*n;ylen=0;whi

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (