本帖最后由 huangzhifan1 于 2011-3-24 20:19 编辑
注册表启动项分类
第一类 Run
又分为HKLM Run 和HKCU Run
Microsoft\Windows\CurrentVersion\Run
比如G:\Program Files\COMODO\COMODO Internet Security\cfp.exe
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
比如C:\WINDOWS\system32\ctfmon.exe
第二类 winlogon
又分为HKLM Winlogon 和 HKLM WinlogonNotify
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
比如 C:\WINDOWS\system32\userinit.exe,启动项名称UIHost
C:\WINDOWS\system32\logonui.exe,启动项名称Userinit
C:\WINDOWS\system32\Explorer.exe 启动项名称shell
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
比如 C:\WINDOWS\system32\wlnotify.dll
第三类 AppInit_DLLs (属于启动dll类)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
比如 C:\WINDOWS\system32\guard32.dll
AppInit_DLLs启动项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls
第四类 ShellServiceObjectDelayLoad
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
比如 C:\WINDOWS\system32\shell32.dll
第五类 RightMenu
又分为 RightMenu 1 RightMenu 2 RightMenu 3
RightMenu 1
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shellex\ContextMenuHandlers
RightMenu 2 Objects钩子
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AllFilesystemObjects\shellex\ContextMenuHandlers\Send To
RightMenu 3
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shellex\ContextMenuHandlers\WinRAR
第六类 Installed Components 插件类
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Active Setup \Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4340}
比如 ie %SystemRoot%\system32\ie4uinit.exe
windows桌面更新 regsvr32.exe /s /n /i:U shell32.dll
-----------------------------------------------------------------------
第七类 KnownDLLs Dll 缓冲
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
KnownDLLs
其他类型其他同学补充
-----------------------------------------------------------------------
第八类 CurrentVersion
CurrentVersion 系统自身文件启动
分为\Windows\CurrentVersion 和 \Windows NT\CurrentVersion
一 \Windows\CurrentVersion
*\Software\Microsoft\Windows\CurrentVersion\Run*
*\Software\Microsoft\Windows\CurrentVersion\Load
*\Software\Microsoft\Windows\CurrentVersion\BITS\*
*\Software\Microsoft\Windows\CurrentVersion\DriverSearching\Plugin\*
*\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\*
*\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved\*
Explore
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\*
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\*
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\My Computer\*
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler\*
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\*
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\CancelAutoplay\Files\*
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\*\Shell\*\command\*
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\*Startup
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\*Startup
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\*Start Menu
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\*Start Menu
*\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\*
*\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks\*
*\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.???\*
*\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\*
二\Windows NT\CurrentVersion
*\Software\Microsoft\Windows NT\CurrentVersion\Windows*
*\Software\Microsoft\Windows NT\CurrentVersion\AEDebug\Debugger
*\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\*
*\Software\Microsoft\Windows NT\CurrentVersion\WOW\boot\*
*\Software\Microsoft\Windows NT\CurrentVersion\WOW\NonWindowsApp\*
*\Software\Microsoft\Windows NT\CurrentVersion\WOW\standard\*
*\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping\*
*\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\*
*\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\*
*\Software\Microsoft\Windows NT\CurrentVersion\Accessibility*
*\Software\Microsoft\Windows NT\CurrentVersion\Drivers\*
*\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\*
*\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\*
第九类 其他启动项 各种服务类启动
*\Software\Microsoft\Rpc\*
*\Software\Microsoft\netsh\*
*\Software\Microsoft\SideShow\Gadgets\*
*\Software\Microsoft\SystemCertificates\*
*\SOFTWARE\Microsoft\VBA\Monitors\*\CLSID
*\Software\Microsoft\Active Setup\Installed Components\*\StubPath
*\SOFTWARE\Microsoft\Internet Explorer\URLSearchHooks\*
*\SOFTWARE\Microsoft\Internet Explorer\Help_Menu_URLs\*
启动项分类有六类都在
HKEY_LOCAL_MACHINE\SOFTWARE\*或者
HKEY_CURRENT_USER\SOFTWARE\*
第七类在
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
启动项防御可以简化成特别是软件组可以这样封杀注册表
HKLM\SOFTWARE\*
HKCU\SOFTWARE\*
HKEY_USERS\*\SOFTWARE\*(一些其他启动项 第八九类)
HKLM\SYSTEM\*ControlSet*\Control\Session Manager\*
再加高手总结的启动项这样基本就不会漏了(宁可错杀 不能放过一个)
当然大型软件可以根据日志排除些 工作量很少
系统组的话资源管理器可以封杀这些注册表
写入 其他系统文件自行排除
HKLM\SOFTWARE\*再加些例外的启动项就ok了当然有些系统启动项要放
比如第二类以及第七类KnownDLLs(放部分)
1)“启动”文件夹──最常见的自启动程序文件夹。
它位于系统分区的“documents and Settings-->User-->〔开始〕菜单-->程序”目录下。这时的User指的是登录的用户名。
2)“All Users”中的自启动程序文件夹──另一个常见的自启动程序文件夹。
它位于系统分区的“documents and Settings-->All User-->〔开始〕菜单-->程序”目录下。前面提到的“启动”文件夹运行的是登录用户的自启动程序,而“All Users”中启动的程序是在所有用户下都有效(不论你用什么用户登录)。
3)“Load”键值── 一个埋藏得较深的注册表键值。
位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load〕主键下。
4)“Userinit”键值──用户相关
它则位于〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit〕主键下,也是用于系统启动时加载程序的。一般情况下,其默认值为“userinit.exe”,由于该子键的值中可使用逗号分隔开多个程序,因此,在键值的数值中可加入其它程序。
5)“Explorer\Run”键值──与“load”和“Userinit”两个键值不同的是,“Explorer\Run”同时位于〔HKEY_CURRENT_USER〕和〔HKEY_LOCAL_MACHINE〕两个根键中。
它在两个中的位置分别为(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕下。
6)“RunServicesOnce”子键──它在用户登录前及其它注册表自启动程序加载前面加载。
这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕下。
7)“RunServices”子键──它也是在用户登录前及其它注册表自启动程序加载前面加载。
这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices〕下。
8)“RunOnce\Setup”子键──其默认值是在用户登录后加载的程序。
这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup〕下。
9)“RunOnce”子键──许多自启动程序要通过RunOnce子键来完成第一次加载。
这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce〕下。位于〔HKEY_CURRENT_USER〕根键下的RunOnce子键在用户登录扣及其它注册表的Run键值加载程序前加载相关程序,而位于〔HKEY_LOCAL_MACHINE〕主键下的Runonce子键则是在操作系统处理完其它注册表Run子键及自启动文件夹内的程序后再加载的。在Windows XP中还多出一个〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEX〕子键,其道理相同。
10)“Run”子键──目前最常见的自启动程序用于加载的地方。
这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run〕下。
其中位于〔HKEY_CURRENT_USER〕根键下的Run键值紧接着〔HKEY_LOCAL_MACHINE〕主键下的Run键值启动,但两个键值都是在“启动”文件夹之前加载。
11)再者就是Windows中加载的服务了,它的级别较高,用于最先加载。
其位于〔HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services〕下,看到了吗,你所有的系统服务加载程序都在这里了!
12)Windows Shell──系统接口
它位于〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\〕下面的Shell字符串类型键值中,基默认值为Explorer.exe,当然可能木马程序会在此加入自身并以木马参数的形式调用资源管理器,以达到欺骗用户的目的。
13)BootExecute──属于启动执行的一个项目
可以通过它来实现启动Natvice程序,Native程序在驱动程序和系统核心加载后将被加载,此时会话管理器(smss.exe)进行windowsNT用户模式并开始按顺序启动native程序
它位于注册表中〔HKEY_LOCAL_MACHINE\System\ControlSet001\Session Manager\〕下面,有一个名为BootExecute的多字符串值键,它的默认值是"autocheck autochk *",用于系统启动时的某些自动检查。这个启动项目里的程序是在系统图形界面完成前就被执行的,所以具有很高的优先级。
14)策略组加载程序──打开Gpedit.msc,展开“用户配置——管理模板——系统——登录”,就可以看到“在用户登录时运行这些程序”的项目,你可以在里面添加。
在注册表中[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\本地User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]你也可以看到相对应的键值。
无后缀文件防御 黑白名单
(1) 命名管道
\Device\NamedPipe\*
(2) 磁盘操作
\Device\CnsMinKP
PhysicalDrive*
\Device\Scsi*:
\Device\cdntran
\Device\IDE#*
\Device\Netbios
\Device\shadow
\Device\*: 比如\Device\C:被拦截减少弹窗
\Device\?* 比如(加载\Device\XueTr就被拦截)减少修改加载第三方驱动
\Device\storage#volume#*
\Device\USBSTOR#*
\Device\NamedPipe\ShimViewer
\Device\PhysicalDrive*
(3) 音频视频
\Device\root*
\Device\KSENUM*
\Device\STORAGE*
\Device\WMIDataDevice
\Device\usb*
\Device\000000??\*
(4) 默认排除(网络和初始化设备)
网络
\Device\Ip
\Device\Nsi
\Device\Tcp*
\Device\Afd\*Hlp
\Device\NetBT_Tcpip*服务器列表
\Device\Afd\Endpoint
\Device\RasAcd
初始化
\Device\KsecDD
\Global??\FltMgrMsg
\DosDevices\pipe\
升级
\Device\NamedPipe\lsarpc
\Device\NamedPipe\ROUTER
(5) 系统排除管道
\Device\NamedPipe\srvsvc
\Device\NamedPipe\wkssvc无线网络
\Device\NamedPipe\ShimViewer关机有关
\Device\NamedPipe\DAV RPC SERVICE rpc服务
\Device\NamedPipe\samr 关机有关
\Device\USBSTOR#* usb
\Device\NamedPipe\ROUTER
\Device\NamedPipe\lsarpc
(6) 系统启动文件和第三方驱动(无后缀文件)
系统启动文件
?:\Recycle?\*
?:\System V?lume Information\*还原目录
%SystemDrive%\bootfont.bin
%SystemDrive%\config.sys
%SystemDrive%\ntldr
%SystemDrive%\ntdetect.com
%SystemDrive%\MSDOS.SYS
%SystemDrive%\IO.SYS
%SystemDrive%\boot*
%SystemDrive%\boot.ini
%SystemDrive%\AUTOEXEC.BAT
%SystemDrive%\hiberfil.sys
%SystemDrive%\bootmgr
%SystemDrive%\grldr
SYSTEM
第三方驱动和本地设备
\Device\Harddisk
\Device\Harddisk?\DR?
\Device\PhysicalMemory
\Device\MountPointManager
\Device\CdRom
\Device\USBFDO-?
\Device\Scsidisk
\Device\Scsidisk0\DR?
\Device\keyboard
\Device\Mouse
\Device\NPF_*
\Device\Global\NdisTapi
\Device\Global\NPF_*
\Device\NdisTapi
\Device\Global\Ndisuio
\Device\Ndisuio
\Device\Harddisk*\*.*
\Device\Netbios
\Device\IDE#*
\Device\storage#volume#*
-----------------------------------------------------------------------
文件夹防护两个组
(1)秒杀优盘病毒
\Device\Harddisk*Volume6\*
\Device\Harddisk*Volume7\*
\Device\Harddisk*Volume8\*
\Device\Harddisk*Volume9\*
\Device\Harddisk*Volume??\*
\Device\Harddisk?\*
(2)防创建文件夹
%windir%\*
%windir%\system??\*
?:\Program Files*\*
C:\*\*\*
D:\*\*\*\*
E:\*\*\*\*
F:\*\*\*\*
G:\*\*\*\*
\Device\Harddisk*Volume6\*\*\*\*(相当于H:\*\*\*)
\Device\Harddisk*Volume7\*\*\*\*
\Device\Harddisk*Volume8\*\*\*\*
\Device\Harddisk*Volume9\*\*\*\*
|