参考文章:
https://www.cnblogs.com/backlion/p/10417985.html
https://www.cnblogs.com/sch01ar/p/10459313.html
0x01 漏洞介绍
影响软件:
WinRAR < 5.70 Beta 1
Bandizip < = 6.2.0.0
好压(2345压缩) < = 5.9.8.10907
360压缩 < = 4.0.0.1170
危害:洞如其名,可以将文件解压到其他文件,可以解压到开机启动项。
些许系统的开机启动项地址:
Win2003开机启动项路径:C:\Documents and Settings\Administrator\「开始」菜单\程序\启动
Win2008开机启动项路径:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Win2012开机启动项路径:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Win7 开机启动项路径:C:\Users\用户\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Win10 开机启动项路径:C:\Users\用户\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
0x02 准备工作
压缩软件软件:WinAce
010Editor:https://download.sweetscape.com/010EditorWin64Installer901.exe(16进制编辑器)
python脚本:https://raw.githubusercontent.com/backlion/acefile/master/acefile.py (python3),脚本作用:解析ace文件中的信息。
靶机:win 10
0x03 开始复现
1、创建一个文件 fk.txt。
fk.txt2、利用WinAce进行压缩,这里选择 store full path,得到fk.ace 文件。
解压fk.txt文件用010 Editor 打开fk.ace文件。
把目标路径替换为fk.ace中的路径。
我实验的路径是 D:\1.fk.txt 。将原来的路径替换为D:\D:\fk.txt 。 复现第一次时没有双写,没有达到实验效果,好像是把前面的一个D:\ 给忽略了。
替换后选中,左下角会显示有几个字节,"D:\D:\fk.txt" 有12个字节,把12换成16进制为 c 。把 22 改为0c。
再选中下面这些,修改红框中的数字(选中数据的字节数的16进制),下面选中的有43个字节,换成16进制为 2b,将43替换为2b
运行python脚本
正确的hdr_crc是 : 0xf556,当前错误的是0xd80e ,找到响应的位置,替换。这个位置其实就是第二次修改长度的字节的前两个字节。
未修改 修改完毕用python文件再查看下文件内容。
好的,正常了。修改ace后缀为zip。
winrar 解压,不论是选中目录解压还是选直接解压到当前目录或者点解压到 fk/ 目录下。都会解压到D盘下。
解压到开机自启动目录的时候需要注意是否具有在C盘创建文件的权限。
网友评论