成熟后门身披商业外衣,对抗杀软实现远控

成熟后门身披商业外衣,对抗杀软实现远控
近期,火绒威胁情报中心监测到一个名为“企业智能化服务平台” 网页上托管的文件存在恶意行为,火绒安全工程师第一时间提取样本进行分析。分析中发现样本为易语言编写的成熟后门,能根据 C2 指令实现对受害者机器的完全控制。除此之外,它还会检测受害者机器中杀软的安装情况进行对抗,上传受害者系统中相关信息,并设立开机启动项进行持久化驻留等。目前,火绒安全产品可对上述病毒进行拦截查杀,请广大用户及时更新病毒库以提高防御能力。
成熟后门身披商业外衣,对抗杀软实现远控
火绒 6.0 查杀图

观察到样本来源页面如下图所示。打开该网页后会自动下载一个名为 “合同.rar” 的文件到本地。解压运行该文件后,会从内存中解密多个子文件进行加载和释放,最终运行易语言远控代码,实现对受害者机器的完全访问控制。此外,根据火绒威胁情报系统显示,该后门还会伪装成其它商业文件进行传播,观察到的其伪装的文件名有 “supe-告知函.exe”、“电子合同.xls” 等。
成熟后门身披商业外衣,对抗杀软实现远控
网页界面

样本执行流程如下所示:
成熟后门身披商业外衣,对抗杀软实现远控
样本执行流程图




样本分析
从 “合同.rar” 中解压出来 “合同.exe” ,该程序为易语言编写的引导程序:
成熟后门身披商业外衣,对抗杀软实现远控
易语言入口点

“合同.exe” 执行时,会先检查 “tomcat.exe” 进程是否存在。“tomcat.exe” 进程实际上是下一阶段恶意代码的执行文件。如果存在,则直接结束该进程:
成熟后门身披商业外衣,对抗杀软实现远控
检查 tomcat.exe 进程

接着解密出 “360tray.exe” 字符串,并继续查看“tomcat.exe” 进程是否存在。如果不存在,就直接释放下一阶段 payload;如果存在,则进一步解密密文,检测杀软数量,当只有 “360tary.exe” 一个杀软时,继续释放 payload:
成熟后门身披商业外衣,对抗杀软实现远控
检测 360tray.exe 并释放 payload
成熟后门身披商业外衣,对抗杀软实现远控
密文对应的杀软列表

但当杀软数量不止一个时,“合同.exe” 程序则会进一步执行驱动对抗操作。该程序首先会获取本地网络适配器信息以禁用无线网卡:
成熟后门身披商业外衣,对抗杀软实现远控
获取网络适配器信息

接着检查 “ZhuDongfangYu.exe” 进程是否存在。如果存在,则解密并释放 “C:g.sys”、”C:y.sys”、”C:all.exe” 3 个文件运行以进行驱动对抗操作,然后继续释放并执行下一阶段 payload:
成熟后门身披商业外衣,对抗杀软实现远控
驱动对抗操作
成熟后门身披商业外衣,对抗杀软实现远控
释放文件信息

其中,释放文件中的”all.exe” 程序,根据字符串信息可以确认其来自于开源项目 RealBlindingEDR(https://github.com/myzxcg/RealBlindingEDR),该开源项目以分享对抗 AV/EDR 的技术为主。此外,文件中的 “g.sys” 和 “y.sys” 也是该项目相关文件,在此不做详细分析: 
成熟后门身披商业外衣,对抗杀软实现远控
all.exe 界面信息
成熟后门身披商业外衣,对抗杀软实现远控
RealBlindingEDR 项目截图

释放下一阶段 payload 行为分析:
释放的下一阶段 payload 文件有两个。首先释放的是 conf.ini 文件,该文件中会写入由当前执行文件路径转换而成的密文:
成熟后门身披商业外衣,对抗杀软实现远控
释放 conf.ini
成熟后门身披商业外衣,对抗杀软实现远控
conf.ini 内容展示

接着解密出另一个可执行文件 “tomcat.exe”,第一次解密得到的字节码还要通过内存遍历,用指定的密文替换 tomcat.exe 中作为占位符的 “kkk” 字符串:(根据后面的分析可知,该指定密文为要连接的 C2 IP)
成熟后门身披商业外衣,对抗杀软实现远控
解密字节码并替换
成熟后门身披商业外衣,对抗杀软实现远控
替换内容

最后启动 “tomcat.exe” 进程,开启下一阶段操作:
成熟后门身披商业外衣,对抗杀软实现远控
启动 “tomcat.exe” 进程
成熟后门身披商业外衣,对抗杀软实现远控
释放文件列表

tomcat.exe :
“tomcat.exe” 也是由易语言编写的程序,但由黑月编译器进行编译:
成熟后门身披商业外衣,对抗杀软实现远控
入口点截图

该程序会在前期初始化阶段解密 E_Loader.dll HP-Socket dll 于内部加载以实现第三方功能。根据 HP-Socket 官网介绍,其中的 HP-Socket 为高性能网络通信框架,同时它为易语言的编程语言提供接口。
成熟后门身披商业外衣,对抗杀软实现远控
github 项目图
成熟后门身披商业外衣,对抗杀软实现远控
软件简介

在执行过程中 “tomcat.exe” 会开启 3 个主要线程:
第一个线程用于获取父文件释放的 “conf.ini” 中的路径密文,此线程对密文进行解密后删除文件以销毁痕迹:
成熟后门身披商业外衣,对抗杀软实现远控
读取 conf.ini 配置

第二个线程用于开启网络连接,此线程解密父文件替换进来的密文为IP,调用 HP-Socket 组件中 HP_Client_Start 接口进行网络开启连接:
成熟后门身披商业外衣,对抗杀软实现远控
开启连接

第三个进程用于检测杀软、设立开机启动的快捷键,同时检测系统是否进入锁屏状态,如果是的话则不进行其它操作:
成熟后门身披商业外衣,对抗杀软实现远控
锁屏检测

其中,包含的检测本地杀软和设立快捷键的具体逻辑如下。首先根据指定密文解密出杀软列表,后续操作过程中会遍历列表中的杀软进程,当杀软进程数量小于等于 4 时,该进程就会在启动目录下创建 WPS.lnk 链接进行驻留:
成熟后门身披商业外衣,对抗杀软实现远控
获取杀软列表
成熟后门身披商业外衣,对抗杀软实现远控
进程遍历
成熟后门身披商业外衣,对抗杀软实现远控
释放快捷方式

另外,除了前面提到的设立 3 个主要线程外,在操作 HP-Socket 库时, “tomcat.exe” 还会传入函数和是否启动的 flag 标志位,然后根据逻辑条件将 flag 标志位作为 HP-Socket 的回调函数进行执行:
成熟后门身披商业外衣,对抗杀软实现远控
回调函数设置

第一主要的回调函数是用于 HP_Set_FN_Client_OnHandShake 的,该函数在收集用户本地杀软及系统信息后,将信息进行上传:
成熟后门身披商业外衣,对抗杀软实现远控
获取系统信息

第二个主要回调函数是用于 HP_Set_FN_Server_OnReceive 的,该函数是成熟的后门模块,会根据服务端回传指令实现具体控制,具体行为类别如下图所示:
成熟后门身披商业外衣,对抗杀软实现远控
成熟后门身披商业外衣,对抗杀软实现远控
后门行为分类


附录
C&C:
成熟后门身披商业外衣,对抗杀软实现远控

HASH:
成熟后门身披商业外衣,对抗杀软实现远控



原文始发于微信公众号(火绒安全):成熟后门身披商业外衣,对抗杀软实现远控

版权声明:admin 发表于 2024年7月18日 下午6:02。
转载请注明:成熟后门身披商业外衣,对抗杀软实现远控 | CTF导航

相关文章