1625-5 王子昂 总结《2017年12月6日》 【连续第432天总结】
A. JarvisOJ-Re-病毒数据分析
B.
公司员工的计算机中招了!
在他的计算机上发现了一个病毒样本,同时网关上抓包时发现这台计算机好像传了点加密的信息出来,但是抓到的包可能有点不全,开头的一个包可能漏掉了。
请分析压缩包中病毒样本及数据包信息,解密出这台中招的计算机往外发的信息中包含的flag。flag形式为32位md5类型字符串。
题目来源:CFF2016
这次是CFF的re500,难度肯定比之前两个大咯
扫一眼数据包,是TCP来回进行通信
对程序进行分析,运行发现无反应
那就没法从相关字符串入手了……
从提示中可以看出来是网络通信,那么肯定要依靠socket相关的API
从而定位到核心函数
再向上溯源,可以发现它先读取了注册表中“Personal”的键值,调试发现就是“我的文档”的路径
然后遍历该文档下所有文件(包括子文件夹),读取数据后进行加密发送
通信过程为
发送随机8字节
接收16字节
根据刚才的发送值和接收值对数据进行加密,然后发送
最后接收8字节
每个符合条件的文件进行一遍上述循环
查看题目提供的数据包,发现缺失开头的随机8字节,仅拥有之后的16字节+data+8字节的内容
因此要了解加密方法,从而解密出data来得到flag了
大概看了一下,也挺复杂的……
而且关键是由于对方服务器是内网地址,也不知道接收方返回的数据是什么,因此socket.connect不成功,进而不会send出去,动态调试就很困难了
明天仔细逆一下加密方法把
C. 明日计划
JarvisOJ