欢迎关注同名微信公众号!狼蛛安全实验室!
正文
最近研究了一下部分压缩文件的文件头,发现在RAR中存在一个很有意思的字段“DOSTIME FileTime”,在RAR4的压缩中不会将其转到UTC+0的时间,即在RAR4中压缩时,所使用的时间为本地时间,那么这个信息有什么意义呢?
假设,在东京(UTC+9)有一个小黑客,在小黑客本机12点的时候,编译了一个木马,那么木马的修改时间为12点,小黑客将木马通过RAR4压缩,然后在小黑客时区的12点15分通过邮件的方式发送到中国(UTC+8)小李的电脑上,不幸的小李被邮件内容吸引,于是打开了压缩包中了马。
在以上场景中,从小李时区(UTC+8)的角度看,小李是在11点15分(UTC+8)收到的邮件,其中的木马却是在12点被生成,由此可以推测出攻击者时区大于小李的时区。
以上仅是一个利用的方法,实际上可玩性很高,作者也通过此方法辅助溯源到某攻击组织。
以下篇幅主要讲解作者的一些分析流程,作者会尽量写的详细一点,方便大家学习。
首先,我们建立一个叫”FileName.txt”的文件,内容为:”Content”,(注意此处的文件时间:2021/5/19 12:23)
将其通过RAR4和RAR5压缩算法压缩为4.rar和5.rar
通过16进制编辑器两个文件进行分析,此处推荐使用010 Editor,本文中所用到的解析模板放至文末。
RAR4的文件头为:52 61 72 21 1A 07 00
RAR5的文件头为:52 61 72 21 1A 07 01 00
查看4.rar的字段”struct RarBlock block[0]”->”struct FileHeadBlock file”->”DOSDATE FileDate”/”DOSTIME FileTime”
可以看到文件时间为”12:23″与文件创建时间相同,说明使用RAR4压缩时未对时间进行转换,仅通过压缩者电脑的时区保存。
查看5.rar的字段”struct RarBlockV5 Block[1]”->”struct Records records”->”struct Record record”->”FILETIME mtime”
可以看到文件时间为”04:23″与”12:23″的文件创建时间不相同,且刚好相差8个小时,说明使用RAR5压缩时会将时间转换为UTC+0的时区时间。
PS:溯源需要尽可能的掌握更多的攻击者信息,上述的方法只是一个引子,希望可以帮大家扩展思路。
另外,在使用010 Editor时,如果发现没有RAR的解析模板,可以使用附件的代码,使用方式如下(附件获取方式见文末):
新建模板后把附件的代码复制进去保存。
打开刚刚保存的.bt文档,运行起来即可。
要是觉得有用的话,欢迎收藏转发此文章~
RAR模板解析代码:关注同名公众号”狼蛛安全实验室“,后台回复"RAR"获取下载链接!