作者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