作者blman (我愛亦潔我愛亦潔)
看板AntiVirus
標題[軟體] Wow! ScanEngine 掃毒引擎 - 增加病毒碼
時間Tue Mar 4 17:50:22 2008
網頁版
http://antbsd.twbbs.org/~ant/wordpress/?p=1081
病毒資料庫
目前病毒特徵碼的資料庫中,有三個資料表(table):
[blacklist]
id name path filename md5 sha1 registry services systemini winini hosts
reboot
[blacklist_ext] (還沒有實作)
bid size sha512 add_day last_day killnum ref tags
[db]
date
病毒庫資料表 db 欄位說明:
===============================================
date 惡意程式病毒庫的日期(如 2008-03-03)
===============================================
病毒的主資料表 blacklist 欄位說明:
=========================================================
id 編號
name 病毒命名
path 路徑
filename 檔名
md5 MD5檢查碼
sha1 SHA1檢查碼
registry 感染的機碼
services 感染的系統服務
systemini 感染 system.ini 的設定
winini 感染 win.ini 的設定
hosts 感染 hosts 的設定
reboot 需採用等同於 movefile[註1] 的移除功能方可移除
=========================================================
假設有一蠕蟲樣本,我們要建立他的病毒碼:
1. name
為它命名,如 Worm.Win32.A
2. path
它感染的路徑,如 C:\Windows\System32\worm.exe
Wow! ScanEngine 支援系統環境路徑,否則依使用者不同可能會在不同路徑下。
如使用者甲,作業系統安裝在 C槽,則對應的是 C:\Windows\System32\worm.exe
但使用者乙,作業系統安裝在 D槽,則對應的是 D:\Windows\System32\worm.exe
若此時只設定 C:\Windows\System32\worm.exe,則會對使用者乙無效。
因為套用系統環境變數,我們建議設定為 %SystemRoot%\System32\worm.exe
支援的環境變數:
%Temp%, %Tmp%, %AppData%, %UserProFile%, %AllUsersProFile%,
%CommonProgramFiles%, %ProgramFiles%, %SystemRoot%, %Windir%,
%SystemDrive%
如果 path 欄位為空或目錄名,則搜尋全部磁區(C,D,E,...,Z)。
如: path = 空, filename = trojan.exe
則搜尋 C:\trojan.exe, D:\trojan.exe, E:\trojan.exe...
如: path = RECYCLER, filename = trojan.exe
則搜尋 C:\RECYCLER\trojan.exe, D:\RECYCLER\trojan.exe...
此設定是用來對付隨身碟病毒。
3. md5 與 sha1
md5 與 sha1 的特徵碼可以用開放源碼的 SummerProperties 計算出來。
http://www.earthmagic.org/?software
下載解壓縮安裝成功後,直接在檔案上按滑鼠右鍵 → 內容 → Checksums。
可算出 md5 與 sha1。
預設只有 md5,要顯示 sha1 請按下 Configure 勾選確定即可。
4. registry
以 ',' 號區隔兩個以上的 registry,以 '!' 號區隔路徑與名稱,
以 '=' 號設定 registry 值,以 '-' 號過濾 registry 值。
假設蠕蟲會寫入
A. [HKEY_LOCAL_MACHINE\system\currentcontrolset\control\lsa]
Authentication Packages = msv1_0 worm
B. [HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU]
C. [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
svcshare = worm.exe
則在資料庫中的 registry 欄位為:(請連成一行)
HKCM\system\currentcontrolset\control\lsa!Authentication Packages-worm,
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU,
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run!svcshare
其中 Authentication Packages 也可以將 '-' 用 '=' 取代,如
HKCM\system\currentcontrolset\control\lsa!Authentication Packages=msv1_0,
但建議用 '-' 佳,因為有些正常的軟體也會寫入此機碼,若用 '=' 會將之移除,
用 '-' 則僅會移除 worm 的字串。
5. services
假設蠕蟲會建立名為 worm 的 services,則在 services 欄位中填 worm 即可。
可以用 ',' 區隔兩個以上的設定。
6. systemini
若蠕蟲會寫入 system.ini。如
[worm]
load = worm.dll
則可以在 systemini 欄位中寫 [worm] 移除此段落。
可以用 ',' 區隔兩個以上的設定。
7. winini
同 systemini 設定,僅設定檔對象為 win.ini
可以用 ',' 區隔兩個以上的設定。
8. hosts
若蠕蟲會寫入 hosts
61.71.77.32 update.microsoft.com
則可以在 hosts 欄位中寫上 update.microsoft.com 或 61.71.77.32。
若有很多可以用 ',' 號分別過濾。
或者用填入 ClearAll 在欄位中,則會去掉所有的 hosts 內容,
僅留下 127.0.0.1 localhost
可以用 ',' 區隔兩個以上的設定。
9. reboot
若此蠕蟲用一般的刪除方法沒有用,則可以在 reboot 欄位中填入 '1'。
則掃毒引擎在對付此蠕蟲時,會使用等於 movefile[註1] 的移除方法。
但需要重新啟動電腦方可移除。
使用 SQLite Browser 圖形介面來新增 SQLite 資料庫
下載
http://sourceforge.net/projects/sqlitebrowser/
若執行發生找不到 msvcr71.dll 的錯誤,請下載
http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71
並放在與 SQLite Browser 執行檔同一路徑下。
新增病毒碼步驟
1. 選擇 SQLite 資料庫來源
File → Open Databases → 選擇 virusDB
2. 新增病毒碼
選擇 Browser Data 的頁籤 → Table 選擇 blacklist → 點選 New Record
接下來輸入之前蒐集的病毒資訊。
3. 修改病毒庫日期
選擇 Browser Data 的頁籤 → Table 選擇 db → 直接修改裡面唯一的欄位
改成您當日的日期即可。
4. 儲存
File → Save Database
[註1]movefile
http://www.microsoft.com/technet/sysinternals/fileanddisk/pendmoves.mspx
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.22.221