概述
近期金山毒霸安全实验室监控到金融木马EVILNUM新变种。样本携带的诱饵PDF由英国能源公司first-utility的PDF账单、银行 卡、驾 照图片组成,如下图所示。通过诱饵文件内容进行关联,发现此批样本创建时间均为2018-02-13 07:29:00,出现时间集中在2020年4月至今,早期版本攻击类型LNK+JSRAT方式,从5月开始出现LNK+JS+PE+PYTHONRAT的攻击方式。通过对其JSLoader关联分析,确定其为EVILNUM新变种。
演变历程:
根据情报,EVILNUM最早可以追溯到2018年。其显著特征是使用LNK文件进行攻击,末端载荷多采用脚本实现,通过JS+外部工具的方式窃取情报,其脚本可能会加载多家恶意软件即服务(MaaS)提供商的后门程序以及c#恶意组件,过去其攻击流程中的C2均采用云盘、社交网站、图床一类的网站作为信息存储,此次捕获的样本采用了一些比较有迷惑性的域名,如CRM、VOIP等服务类关键字域名进行伪装。
传播方式:
样本通过鱼叉式电子邮件发送,其中包含指向云盘上托管的ZIP文件的链接,压缩文件内包含LNK攻击文件,其诱饵文件为金融机构开设新帐户时需要提供的截图文件。
攻击目标:
Evilnum集团的主要目标是金融技术公司,监视并窃取目标公司及其客户的财务信息。重点窃取金融文档和凭据:
客户清单,投资和交易操作的电子表格和文档
内部文档
交易软件/平台的软件许可和凭证
浏览器的Cookies
邮件凭证
信用 卡信息和身份 证明文件
正文
该样本目前更新活跃,其Loader和攻击载荷也在不断迭代,行文分析样本为7月最新。样本伪装成PDF图标,实则为快捷方式LNK文件,运行后通过解析LNK自身携带的数据,释放出账单PDF并打开以迷惑用户,同时释放出伪装成java程序的ddpp.exe并创建计划任务,待计划任务启动ddpp.exe后样本通过对自身携带的部分数据进行解密执行后与crm-domain.net通讯,通过云控手段获取下一步操作,现阶段取得得数据经过解密执行后释放出fplayer.exe该文件伪装成NVDIA驱动相关程序,通过计划任务持久化,fplayer.exe经过多次解密最终与云端通讯,现阶段获取得数据经过解密后其行为为内存加载exe操作,其加载程序为py2exe打包得python程序,通过对该程序解包、反混淆、反编译,最终得到其python源码为远控程序。
木马文件落地部分攻击流程如上图所示,木马实际为伪装成PDF的LNK文件,攻击流程采用多段式加载,多种对抗,包含多个云控接口,可根据云控灵活配置升级,行文将通过四部分进行叙述。
一、LNK执行阶段
C:\Windows\System32\cmd.exe /c path=%windir%\system32&move “VerificationDocuments.pdf.lnk” “%tmp%\1.lnk”&type “%tmp%\1.lnk”|find “END2”>”%tmp%\0.js”&wscript “%tmp%\0.js”
LNK启动后将自身移动到temp目录下1.lnk,此后通过标记”END2″提取出附加的JS脚本并执行。
JS脚本运行后,获取APPDATA路径,拼凑释放路径,如图1。
图1
从1.LNK读取偏移2505-684612位置的PDF文件释放,并运行,以达到伪装效果。如图2。
图2
将自身拷贝到%appdata%\Microsoft\Credentials\MediaPlayer\VideoManager\media.js再次运行,通过判断脚本所在目录决定是否释放PE,条件满足则读取1.lnk偏移687117-262144之间的数据释放PE文件。并为其创建计划任务。如图3。
图3
释放PE后,脚本对LNK、JS、相关工作目录进行自删除,至此JS执行完毕,LNK阶段工作执行完毕。
二、ddpp.exe执行阶段
ddpp.exe在当前执行阶段起升级部署作用,在分析时云控代码执行的行为为部署fplayer.exe,其内部代码经过充分伪装,静态查看与JAVA进程非常接近,内部API调用采用底层调用方式,对抗API断点,长时间Sleep对抗反沙箱。
ddpp启动后读取自身偏移0x9526处的数据,进行解密,解密后数据如图4。
图4
由于其解密方式与下文fplayer.exe中代码解密方式一致,限于篇幅,故此处暂略过解密过程,下文叙述其解密规则。解密完成后将代码按照其配置分段拷贝到堆空间指定位置处,之后对地址进行重定位,计算API地址填充修复,最终创建线程执行解密后的代码。如图5。
图5
代码执行后,获取命令行参数,根据参数构建通讯GET请求。通过GET方式获取云控数据。如图6。
图6
通过加载云控逻辑,释放fplayer.exe到%appdata%\Microsoft\Media Player\Player\下,该程序与ddpp.exe类似伪装成英伟达驱动相关程序,其实际工作内容仍然靠云控下发。图7为文件释放并为其创建计划任务启动。
图7
至此ddpp.exe云控代码执行完成后退出,fplayer最终承载了工作任务的加载,ddpp现阶段云控下发功能只是部署升级,整体流程如图8。
图8
三、fplayer.exe执行阶段
fplayer.exe与ddpp.exe有诸多相似之处,上文未提及配置信息数据结构,将在此节叙述。相比ddpp,fplayer请求接口有变更,参数更少。其作用为整个攻击链条的末端载体。
fplayer启动后读取自身0x9b偏移处信息,解密并将其按配置向堆空间中部署,如图9。
图9
其配置头部结构如下:
struct EncryptInfo { byte xorKeyLength; char keyTable[xorKeyLength]; DWORD dataSize; char dataBegin[dataSize]; }
其后续代码根据key表对data进行循环异或解密数据,程序中字符串相关解密操作也遵循此方式。
数据起始位置记录着相关代码和函数信息,结构如下:
struct DataInfo { byte unKnown; DWORD codeImageBase; DWORD unKnown1; DWORD codeEpOffset; DWORD codeTableCount; DWORD codeInfoOffset1; DWORD codeInfoOffset2; ... }
转到codeInfo结构,其配置对应的是需要内存执行的代码信息。如下图,结构如下:
struct CodeInfo { byte index; DWORD codeCopyOffset DWORD codeSize; DWORD unKnown; char codeBegin[codeSize]; }
与ddpp类似在堆中指定位置部署好代码之后,创建线程执行堆代码。相似过程不在赘述。以上配置结构适用于云端下发配置信息结构。
堆空间代码执行后,获取命令行参数,构建GET请求,获取最新云端指令。如图10。
图10
通过解析云端配置,最终加载内存PE,如图11。该PE为py2exe打包的python程序,其字节码进行了混淆,对抗反编译,通过反混淆,最终获得其携带脚本,下文将对py2exe程序展开分析。
四、PythonRat加载执行阶段
通过dump内存获取其原始加载程序,经过分析其为py2exe打包的python程序,通过对其资源处理获取被打包的pyc脚本,经过反混淆处理后,反编译后如图12。
图12
脚本通过zlib和base64处理后进一步执行,通过进一步分析,此处为一python包装器,其核心功能为解析自身压缩数据,最终通过memimporter将main.pyc和其他依赖库加载在内存中执行。如图13、14。
图13
图14
至此到达核心工作流程,通过对memimporter相关数据反混淆、反编译,最终确定其核心流程为远控木马,木马与以下地址通讯,获取指令执行。如图15。
图15
木马采用http协议通讯,具有截屏、命令执行、反向SSH Shell、进程操作、文件操作、注册表操作等功能。图16为远控简要工作流程。
图16
下表为远控包含的部分工具类函数表,通过函数名称,不难看出,远控功能丰富,扩展性极强,拥有多种持久化方式和多种命令控制方式。
总结
此EVILNUM变种木马,攻击流程采用多段式加载,多层次内存装载PE,包含多个云控接口,通过休眠、混淆、云端指令随机化等对抗分析查杀,作者精心构造了多个loader,甚至最终内存加载的py2exe启动后仍然还是内存加载pyc执行,可谓是煞费苦心,分析过程中木马成活跃状态,不断有新的C2加入,截止报告完成时间,有多个C2地址注册时间未超过一个月。其最终攻击载荷使用python开发,开发成本低,还会在一定程度上干扰溯源准确性,从反编译结果观察,部分功能尚未完善,仍在加入新功能。金山毒霸安全实验室提醒用户,不要点击来历不明的邮件、压缩包,从而可以降低用户隐私信息被盗取的风险。
IOC
MD5
FC00819C 4CDC8609313041CF345A7DCA
F7673B6855C72B780FDD863D098DA693
07717219943E911AC 4CFB8E485A99CFB
ECDD7454EAE355012DFED03377D6D945
C2
hxxp://crm-domain[.]net
hxxp://leads-management[.]net
hxxp://telecomwl[.]com
hxxp://voipasst[.]com
参考
https://blog.prevailion.com/2020/05/phantom-in-command-shell5.html
https://www.welivesecurity.com/2020/07/09/more-evil-deep-look-evilnum-toolset/
来源:freebuf.com 2020-07-23 09:56:27 by: 安全豹
请登录后发表评论
注册