171206 逆向-JarvisOJ(病毒数据分析)(1)

1625-5 王子昂 总结《2017年12月6日》 【连续第432天总结】
A. JarvisOJ-Re-病毒数据分析
B.

公司员工的计算机中招了!

在他的计算机上发现了一个病毒样本,同时网关上抓包时发现这台计算机好像传了点加密的信息出来,但是抓到的包可能有点不全,开头的一个包可能漏掉了。

请分析压缩包中病毒样本及数据包信息,解密出这台中招的计算机往外发的信息中包含的flag。flag形式为32位md5类型字符串。

题目来源:CFF2016

这次是CFF的re500,难度肯定比之前两个大咯

扫一眼数据包,是TCP来回进行通信

对程序进行分析,运行发现无反应
那就没法从相关字符串入手了……

从提示中可以看出来是网络通信,那么肯定要依靠socket相关的API
从而定位到核心函数
171206 逆向-JarvisOJ(病毒数据分析)(1)_第1张图片
再向上溯源,可以发现它先读取了注册表中“Personal”的键值,调试发现就是“我的文档”的路径

然后遍历该文档下所有文件(包括子文件夹),读取数据后进行加密发送

通信过程为
发送随机8字节
接收16字节
根据刚才的发送值和接收值对数据进行加密,然后发送
最后接收8字节

每个符合条件的文件进行一遍上述循环

查看题目提供的数据包,发现缺失开头的随机8字节,仅拥有之后的16字节+data+8字节的内容
因此要了解加密方法,从而解密出data来得到flag了

大概看了一下,也挺复杂的……

而且关键是由于对方服务器是内网地址,也不知道接收方返回的数据是什么,因此socket.connect不成功,进而不会send出去,动态调试就很困难了

明天仔细逆一下加密方法把

C. 明日计划
JarvisOJ

你可能感兴趣的:(CTF)