查看: 3272|回复: 19
收起左侧

[病毒样本] 上午搜狗输入法银狐的变种(反沙箱加强版) vt:2/57

[复制链接]
ulyanov2233
发表于 2025-7-15 18:43:31 | 显示全部楼层 |阅读模式
本帖最后由 ulyanov2233 于 2025-7-15 19:04 编辑

【sogoupinyin_S11.3.5】密码:infected链接:https://qfile.qq.com/q/37ScdObqpW
https://www.virustotal.com/gui/f ... 2afcd8578c/behavior这个变种最大区别就是在沙箱里不释放黑dll了
卡巴扫描被过:https://opentip.kaspersky.com/83 ... /results?tab=upload
essp照样抓出同一个黑dll
扫描日志
检测引擎的版本: 31529 (20250715)
日期: 2025/7/15  时间: 18:33:44
已扫描的磁盘、文件夹和文件: C:\Users\Y8219\Downloads\sogoupinyin_S11.3.5\sogoupinyin_S11.3.5.msi
用户: FIREFLY\Y8219
C:\Users\Y8219\Downloads\sogoupinyin_S11.3.5\sogoupinyin_S11.3.5.msi > MSI > disk1.cab > CAB > chrome_elf.dll - Win64/Agent.GLN 特洛伊木马 的变量 - 已将选择操作推迟到扫描完成后进行
C:\Users\Y8219\Downloads\sogoupinyin_S11.3.5\sogoupinyin_S11.3.5.msi > MSI > disk1.cab > CAB > chrome_elf.dll - Win64/Agent.GLN 特洛伊木马 的变量 - 已删除
已扫描的对象数: 2508
检测数: 1
已清除的对象数: 1
完成时间: 18:37:07  总扫描时间: 203 秒 (00:03:23)

图钉鱼
发表于 2025-7-16 05:52:47 | 显示全部楼层
本帖最后由 图钉鱼 于 2025-7-16 06:20 编辑

还是之前你发我那个黑DLL?那发这里算了。
仅看DLL,其他文件均不看。强沙箱对抗运行立即退出,无法偷懒,上静态分析。

该DLL达不到危险标准,只能算共犯帮忙加载解密恶意载荷,漏报正常,代码看着"干净”,添加大量无用指令拉低熵值,容易过启发式扫描。入库理由也充分,这是专属加载器,不杀说不过去。仅就行为来说,入库标准有模糊边界,因人而异。

chrome_elf.dll加载时DllMain会执行初始化操作,并调用两个核心功能函数:sub_180002260和sub_180003260。

先说两个主要函数
1.函数 sub_180002040:database.db数据库初始化与文件流操作​
数据库连接与配置加载(C2通信或数据存储做准备)。

​文件流初始化​:
构造std::ifstream对象,虚表指向std::ifstream的标准虚函数表(地址??_7?$basic_ifstream@DU?$char_traits@D@std@@@std@@6B@)。
尝试打开本地文件database.db(路径硬编码于0x18000b6b0):
lea rdx, aDatabaseDb     ; "database.db"
call sub_1800075E0        ; 封装的文件打开函数

若文件打开失败(通过good()状态检查),强制设置流状态为failbit:
call ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z  
通过try块捕获资源分配异常(如内存不足),防止崩溃。
析构时依次调用:
std::streambuf::~streambuf()释放缓冲区资源。
std::istream::~istream()关闭输入流。
​关联行为​:
该函数被sub_180002260调用,用途包括:
读取预存储的恶意配置(如C2地址、加密密钥)。
验证感染状态(若database.db存在则跳过初始化)。




​2. 函数 sub_180002260:恶意负载部署与持久化​
核心攻击执行者,实现持久化、环境感知、负载释放。

​环境检查​:
先调用sub_180001AE0检查done.png是否存在。若存在(返回true),直接退出(避免重复感染)。
调用sub_180002040初始化数据库流。若失败则终止流程(依赖数据库配置)。

调用GetModuleFileNameA获取当前DLL路径(用于定位释放位置)。
​构建恶意命令​(关键步骤):
​动态拼接PowerShell命令,通过多次调用sub_1800078D0(字符串追加拼接函数)避免完整命令静态暴露免杀处理。

​计划任务创建​(登录持久化):
$task = New-ScheduledTask -Action (New-ScheduledTaskAction -Execute "<DLL路径>") `  
-Trigger (New-ScheduledTaskTrigger -AtLogon) `  
  -Principal (New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive -RunLevel Highest)  
Register-ScheduledTask -InputObject $task -TaskName "Runs scanner at logon" -Force  

​释放伪装文件​(png):
[byte[]]$bytes = 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A  # PNG文件头  
[System.IO.File]::WriteAllBytes('done.png', $bytes)  

​隐蔽执行​:
powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command "
通过CreateProcessA启动PowerShell:
参数lpCommandLine指向拼接后的命令。
标志位CREATE_NO_WINDOW(0x08000000)隐藏窗口。
等待执行完成(WaitForSingleObject)并验证退出码(GetExitCodeProcess)。

释放动态分配的命符串内存(j_j_free)。
清空命令缓冲区(mov byte ptr [rsp+458h+lpCommandLine], 0)。
​分段混淆​:命令分多段构建,规避基于字符串的检测。
​双重持久化​:计划任务+文件标记确保幸存重启。
​最小化痕迹​:执行后立即清理内存中的命令数据。

​沙箱环境检查
|检查 done.png| {文件是否存在?}
|存在| [退出]
|不存在| |打开 database.db| 成功?
|失败| [退出]
|成功| [构建PowerShell命令]
[CreateProcess执行]
|写入done.png| [完成互斥]

​环境适配​:检查done.png避免重复执行,依赖数据库配置。
​持久化植入​:通过计划任务实现开机自启。
​反分析对抗​:写入done.png作为成功标记,同时干扰沙箱分析。
​负载就绪​:数据库文件(database.db)后续被Base64解码函数(sub_180003260)读取,用于database.db中解密第二阶段负载。时间关系,我没解码这个。可能是正常文件也可能是恶意,恶意偏多。

关键函数  

sub_180002260 持久化与反分析,创建登录时执行隐藏计划任务实现系统启动时的自启动,执行反沙箱检测(done.png文件检查)
sub_180003260 数据处理  操作数据库文件(database.db/data.db/cache.db),实现Base64解码
sub_180001AE0 反分析机制  检测done.png文件存在性作为环境判断依据,检查特定文件的存在来规避分析环境。
sub_180001DC0 持久化标记  写入done.png文件(包含PNG魔术字节)
sub_180008D34 内存管理  封装malloc的动态内存分配,为恶意软件的动态数据处理提供内存分配服务。
sub_1800086F0   重组函数  在Base64解码过程中,负责将解码后的字节插入到目标缓冲区,是数据恢复的关键。
sub_180001F80  文件流析构(std::ofstream)

关键操作流程  
初始化(DllMain):  
在DLL_PROCESS_ATTACH阶段调用sub_180002260和sub_180003260。  

持久化与反分析(sub_180002260):  
检查done.png文件(反分析)。  

构建并执行隐藏PowerShell命令:        
成功执行后调用sub_180001DC0写入done.png(进度标记)。  

数据处理(sub_180003260):  
获取工作目录,操作数据库文件。
通过位移操作(>> 4/<< 6等)和字节插入(sub_1800086F0)实现Base64解码。  

支持函数与关键操作
字符串处理函数组  
sub_180007BE0/sub_1800078D0/sub_1800080B0:实现字符串动态构造、追加、内存重分配。
sub_1800071A0:字符串清理与析构。  

文件操作  
sub_1800075E0 封装文件打开(_Fiopen)
sub_180007520 封装文件关闭(fclose)
sub_180001F80 文件流析构(std::ofstream)
  

功能  
sub_1800090E0:迭代器结构,遍历数据并回调处理函数。  

关键字符串与数据
Base64字符集 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
计划任务参数 -Hidden/-AtLogon/-RunLevel Highest/Runs scanner at logon
数据库文件 database.db/data.db/cache.db
PNG魔术字节 0x89,0x50,0x4E,0x47,0x0D,0x0A,0x1A,0x0A
可疑API引用 CreateRemoteThread/OpenProcess/ntdll!NtMapViewOfSection
  


1. 持久化机制  
创建高权限隐藏计划任务,在用户登录时自启动。  
2. 反沙箱分析技术  
使用done.png文件作为环境检测标志。  
3. 执行本体与恶意代码分离  
关键数据经Base64编码存储(配置Payload数据库)。  
4.注入下阶段攻击  
导入进程注入API(CreateRemoteThread)及底层内存操作函数(ntdll.dll),notepad.exe进程注入。  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 4人气 +8 收起 理由
hancool + 2 感谢解答: )
全身发抖 + 3 感谢解答: )
ziqianweiyang + 1
tony099 + 2 版区有你更精彩: )

查看全部评分

吃瓜群众第123位
发表于 2025-7-15 18:54:37 | 显示全部楼层
WSCS Scan miss
a233
发表于 2025-7-15 19:37:23 | 显示全部楼层
Avast双击

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
心醉咖啡
发表于 2025-7-15 19:59:33 | 显示全部楼层
360

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
LeeHS
发表于 2025-7-15 21:14:00 | 显示全部楼层
cortex 双击杀chrome,输入法正常安装
tony099
发表于 2025-7-15 22:07:26 | 显示全部楼层
KSN信誉未知
scottxzt
发表于 2025-7-15 22:14:43 | 显示全部楼层
扫·

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
星河大帝
发表于 2025-7-15 22:25:56 | 显示全部楼层

这个现在还能更新吗
munsimli
发表于 2025-7-16 02:05:41 | 显示全部楼层
卡巴op如果可以抓到黑dll,是否代表實機雙擊也是可以擋下來呢?
XiaoLong2333
发表于 2025-7-16 02:26:55 | 显示全部楼层
卡巴实际扫描是扫的出来的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-9-5 00:37 , Processed in 0.123838 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表