社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 845阅读
  • 2回复

[分享]加了货的"FlashFXP"

楼层直达
z3960 
级别: 茶馆馆主
发帖
770867
飞翔币
207694
威望
215657
飞扬币
2511641
信誉值
8

发现金山说FlashFXP供应链攻击,吓了一跳,赶紧看了看,发现官网并没有异常,原来是野生的下载站被搞了,不过还是下载了下来,分析一下,练功。对于加了货了正规软件来说,寻找恶意代码是第一步,因为正规软件动辄就几万行代码,所以文章也说了他是如何插入恶意代码已经恢复的,小弟功有所不全,力有所不任,才有所不足,诚惶诚恐,如有纰漏或者错误,还请斧正,定当改进。

环境


WIN7 32exeinfoOD

静态信息


样本MD5: 9CDFCB8C8306A2AC401CB769AD8A7EE8样本信息:基本信息 拖入IDA,我之前文章也写过,再其进行主函数之前是存在一个循环, 该循环会调用一个函数指针数组

对于我来说,首先就质疑是否存在这个数组中,我们利用biff进行详细分析,把正版软件和加货的软件进行对比最后发现这个函数sub_00472BD4,发现的过程无疑是把数据考下来,写程序进行对比,当然也可以直接手工考察,最终得以发现




动态分析



插入恶意代码技巧


直接拖入OD,动态调试,下断点,并拷贝数据

执行该段代码,代码中掺杂了很多无用代码,但是我们可以发现其有效代码保存在edx中,主要解密过程为002E01F5   8102 5B52D3D3    ADD DWORD PTR DS:[EDX],D3D3525B002E01F5   8102 5B52D3D3    ADD DWORD PTR DS:[EDX],D3D3525B002E02A1   8132 5B52D3D3    XOR DWORD PTR DS:[EDX],D3D3525B002E031F   F712             NOT DWORD PTR DS:[EDX]002E0389   8102 5B52D3D3    ADD DWORD PTR DS:[EDX],D3D3525B002E040B   F712             NOT DWORD PTR DS:[EDX]002E043B   812A 5B52D3D3    SUB DWORD PTR DS:[EDX],D3D3525B002E04B3   812A 5B52D3D3    SUB DWORD PTR DS:[EDX],D3D3525B002E052B   8132 5B52D3D3    XOR DWORD PTR DS:[EDX],D3D3525B
解密之后,开始查找相应的API,算法为字符串按位右移0x0D,所寻找API分别为VirtualProctect和CreateThread

修改内存属性
拷贝数据,可以看到拷贝的数据为资源节中的数据,并且,拷贝到我们之前找到的函数位置







解密代码为为 xor 47F3812A,解密之后我们查看解密都得代码,可以看到该段代码为恢复该函数正常功能的代码


之后创建线程,继续执行恶意代码


为了软件不崩溃,使其正常运行,可以看到作者使用push retn 的手法返回执行点,继续执行正常代码



手动映射恶意PE文件


继续分析恶意代码,即创建的线程代码首先获取所需API,其获取方式与之前类似,编码方式不同


申请空间,解密新的PE


申请空间,手动进行内存映射


手工重定位


跳转执行该代码



恶意软件分析


把之前的PE dump下来,查找字符串,可以看到该段PE 很可能存在联网操作,并且是个dll文件


话不多说,接下来继续分析该PE继续创建线程执行,线程代码中由主要存在两个线程,主体如下


线程 1解密域名,这里涉及密码学知识,由于本人不是很了解,所以这里就不详述了,获取链接为https://www.update08.com/update.php?1={g}&2={f}&3={k}&4={y}&5={r}&6={s}&7={e}&8={l}


分别获取COMPUTERNAME、USERNAME、SysTem、PROCESSOR_IDENTIFIER,加密填充


流量工具检测


连接网络,获取数据


其返回数据为


获取@! xxx !@中的内容并进行解密


解密数据,解密之后为一个域名: "https://www.update08.com/update.php?download"




连接该域名,获取数据
按照之前的解密方法进行分割解密,解密之后为一PE文件



再次创建线程该线程为映射上述的PE文件,并调转执行




该PE主要存在功能依旧在一个线程中进行拼接所获取文件路径


查找其文件


获取文件信息,格式为 长度+时间


打开文件,获取文件内容

对内容进行加密

网络传输


这样一个文件的窃取就done了同理Sites文件的窃取也是这样,这里就不赘述了
线程2之后就最开始的也是最后一个线程了首先解密三个域名、分别为
https://giveyouranaddress.wordpress.com/feed/https://giveyouranaddress.wordpress.com/https://github.com/xe5v6sz7iot2n4apjcbh/之后与上述线程1行为相同,开始循环获取计算机名等信息

但由于作者似乎并没有向之前那样有上述参数,导致这个循环一直进行,也许作者还没有完成或者说弃坑了吧。

附件:由于附件大于3M,所以上传失败,这里只能到盘下载了
链接:https://pan.baidu.com/s/1_6yR_Xtil3Q-CLUzHr5JqQ]https://pan.baidu.com/s/1_6yR_Xtil3Q-CLUzHr5JqQ提取码: quq4解压密码: 52pojie




我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。
级别: 超级版主
发帖
833602
飞翔币
226622
威望
224648
飞扬币
2442835
信誉值
0

只看该作者 1 发表于: 2020-01-27
来看一下
级别: 超级版主
发帖
833602
飞翔币
226622
威望
224648
飞扬币
2442835
信誉值
0

只看该作者 2 发表于: 2020-01-27
不错,了解了