Assassin_ 发表于 2020-1-14 14:48

加了货的"FlashFXP"

本帖最后由 Assassin_ 于 2020-1-14 19:01 编辑

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

## 环境
WIN7 32
exeinfo
OD
## 静态信息
样本MD5: 9CDFCB8C8306A2AC401CB769AD8A7EE8
样本信息:

基本信息

拖入IDA,我之前文章也写过,再其进行主函数之前是存在一个循环,


该循环会调用一个函数指针数组


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


## 动态分析
### 插入恶意代码技巧
直接拖入OD,动态调试,下断点,并拷贝数据


执行该段代码,代码中掺杂了很多无用代码,但是我们可以发现其有效代码保存在edx中,主要解密过程为
```
002E01F5   8102 5B52D3D3    ADD DWORD PTR DS:,D3D3525B
002E01F5   8102 5B52D3D3    ADD DWORD PTR DS:,D3D3525B
002E02A1   8132 5B52D3D3    XOR DWORD PTR DS:,D3D3525B
002E031F   F712             NOT DWORD PTR DS:
002E0389   8102 5B52D3D3    ADD DWORD PTR DS:,D3D3525B
002E040B   F712             NOT DWORD PTR DS:
002E043B   812A 5B52D3D3    SUB DWORD PTR DS:,D3D3525B
002E04B3   812A 5B52D3D3    SUB DWORD PTR DS:,D3D3525B
002E052B   8132 5B52D3D3    XOR DWORD PTR DS:,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主要存在功能依旧在一个线程中进行
拼接所获取文件路径



查找其文件



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



打开文件,获取文件内容



对内容进行加密

![](https://attach.52pojie.cn//forum/202001/14/154511gio07i7szks40j44.png?l)

网络传输



这样一个文件的窃取就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

## 总结
谢谢大家。

qingfx 发表于 2020-1-15 08:36

分析精彩

1983 发表于 2022-5-22 22:37

我一行一行字、一张一张图 地看完了,结果发现自己看不懂,
最后一段描述:“由于作者似乎并没有向之前”,这里的“向”,是不是“像”?

mokson 发表于 2020-1-14 15:10

sirzdc 发表于 2020-1-14 15:39

不错,学习了。

ouyang6417 发表于 2020-1-14 15:48

信息安全 发表于 2020-1-14 16:02

等LZ更新

Assassin_ 发表于 2020-1-14 16:17

各位兄弟姐妹,大哥大佬们,为什么后边还有图片呢?我如果删除掉的话,还会导致Makedown中的图片也不见了。

xie7 发表于 2020-1-14 16:18

你这个总结很精炼!

无名小银 发表于 2020-1-14 16:52

厉害了老哥

呱呱生 发表于 2020-1-14 17:06

什么东西

2Burhero 发表于 2020-1-14 18:07

图太多了
页: [1] 2 3 4 5 6
查看完整版本: 加了货的"FlashFXP"