首页 注册表中启动键值

注册表中启动键值

举报
开通vip

注册表中启动键值注册表中启动键值  (2012-03-15 15:11:38) 转载▼ 标签:  杂谈 分类: 技术文章   .注册表中启动键值 1. 什么是自启动,什么是被动启动    自启动,想必大家再熟悉不过了。很多木马,病毒为了使自己在电脑重启后,依然能存活在主机中,使用各种猥琐的自启动方式,不过用的最多的还是“HKLM\Software\Microsoft\Windows\CurrentVersion\Run”,事实上,这个注册表键基本上都被木马,病毒用烂了。当然还有一些大家不熟悉的注册表键也可以用来实现自启动。...

注册表中启动键值
注册 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 中启动键值  (2012-03-15 15:11:38) 转载▼ 标签:  杂谈 分类: 技术文章   .注册表中启动键值 1. 什么是自启动,什么是被动启动    自启动,想必大家再熟悉不过了。很多木马,病毒为了使自己在电脑重启后,依然能存活在主机中,使用各种猥琐的自启动方式,不过用的最多的还是“HKLM\Software\Microsoft\Windows\CurrentVersion\Run”,事实上,这个注册表键基本上都被木马,病毒用烂了。当然还有一些大家不熟悉的注册表键也可以用来实现自启动。本文第二部分将揭示这些注册表键。    “被动启动”,原本没有这个名词,是我自己提出的,呵呵!欢迎拍砖!为什么提出这个“被动启动”呢?主要是考虑到有些注册表键可以用来实现一些程序的依附启动或间接触发启动,不像自启动那样,随系统启动而自动的运行起来。因此我称这些注册表键的启动方式为被动启动。举个例子吧,“HKCR\exefile\Shell\Open\command”,如果你改这个注册表键的默认值为你的程序路径的话,知道这意味着什么吗?这意味着,当你open任意一个exe文件时候,这个exe不会运行,而是执行你刚才指定的程序。这就是说,你的程序的运行不是随系统自启动的,而是由于用户open了exe文件,而触发启动的。当然了,关于被动启动的注册表键还有很多很多,要比自启动多的多,被动启动最大的作用就是可以唤醒潜伏在系统系统中的病毒,木马,一旦这些病毒,木马活过来后,就可以再次想方设法让自己永久的存在于整个系统的各个角落里。同样,在本文的第二部分对这些被动启动,将有详细的介绍和说明。    本文下面将在罗列清楚目前我所知的自启动和被动启动的基础上,提出防御思路,并实现一个防御系统,供大家参考,欢迎讨论! 2. 注册表中哪些涉及自启动,哪些涉及被动启动 2.1 自启动相关注册表键 2.1.1 Run系列 HKLM\Software\Microsoft\Windows\CurrentVersion\Run HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce HKCU\Software\Microsoft\Windows\CurrentVersion\Run HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce    这些应该是最常见的自启动方式。 Winlogon系列 HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Shell HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Userinit HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon UIHost HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Shell HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon Userinit HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon UIHost    这些是系统登陆时,自启动相关的一些注册表键和valuename。  Services系列  HKLM\SYSTEM\CurrentControlSet\Services  HKLM\SYSTEM\CurrentControlSet\Services\VxD  包括服务和驱动、内核模块的加载  Session Manager系列    HKLM\System\ControlSet001\Control\Session Manager BootExecute    HKLM\System\ControlSet002\Control\Session Manager BootExecute    HKLM\System\CurrentControlSet\Control\Session Manager BootExecute    HKLM\System\ControlSet001\Control\Session Manager\KnownDlls    HKLM\System\ControlSet002\Control\Session Manager\KnownDlls    HKLM\System\CurrentControlSet\Control\Session Manager\KnownDlls    HKLM\System\CurrentControlSet\Control\Session Manager\Environment  ComSpec    其中BootExecute的值类型为REG_MULTI_SZ,并且指定的程序只能调用Native API函数,是最基本的Windows应用程序,否则不能正常运行。 Windows Load   HKCU\Software\Microsoft\Windows Nt\CurrentVersion\Windows load   当把load的值改为自己程序路径时,下次开机,就会伴随系统一起启动。 2.2 被动启动相关注册表键 2.2.1 文件关联操作系列 HKCR\exefile\Shell\Open\command HKCR\comfile\Shell\Open\command HKCR\batfile\Shell\Open\command HKCR\piffile\Shell\Open\command HKCR\scrfile\Shell\Open\command HKCR\cplfile\Shell\Open\command 。。。。。。    当然除了这些文件以外,还有很多格式的文件,例如txt,jpg,bmp等。另外除了打开操作,还有打印等操作,也可以实现被动启动。 2.2.2 Command Processor    HKCU\Software\Microsoft\Command Processor AutoRun    当把AutoRun的值指定为你的程序时,那么以后在启动cmd进程之前会首先启动你指定的程序。如果要使你的程序的隐蔽性更好一些,可以做成一个没有GUI界面的程序。这样用户根本不会觉察。 2.2.3 LSA系列    HKLM\System\CurrentControlSet\Control\Lsa Authentication Packages    HKLM\System\CurrentControlSet\Control\Lsa Notification Packages     HKLM\System\CurrentControlSet\Control\Lsa Security Packages    这三个valuename的值类型是REG_MULTI_SZ,值所指定的程序必须是动态链接库,dlll形式。另外LSA是Local Security Authority,是和本地安全认证相关的。 2.2.4 屏幕保护程序    HKCU\Control Panel\desktop  SCRNSAVE.EXE    事实上,我们经常看到的屏幕保护程序scr文件也是一种可执行文件,可以直接改exe文件为scr文件。SCRNSAVE.EXE这个valuename的值描述的是当前屏幕保护程序的路径,一旦被设置成一个假冒的scr文件木马,那么这个木马就会在下次系统触发屏幕保护时被动启动。 2.2.5 Internet Explorer系列    HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects    HKLM\Software\Microsoft\Internet Explorer\Explorer Bars    HKCU\Software\Microsoft\Internet Explorer\Explorer Bars    HKCU\Software\Microsoft\Internet Explorer\URLSearchHooks    HKCU\Software\Microsoft\Internet Explorer\Toolbar    HKCU\Software\Microsoft\Internet Explorer\Extensions    HKLM\Software\Microsoft\Internet Explorer\ActiveX Compatibility    HKCU\Software\Microsoft\Windows\CurrentVersion\Ext\Stats    在Browser Helper Objects键下添加一个新键,就可以注册一个新的BHO,新建的名称必须是{CLSID}这样的形式。这样下次Browser启动时,你的dll就被加载到进程中。    其他键和Browser Helper Objects键类似。 2.2.6 AppInit_Dlls    HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows AppInit_Dlls 2.2.7 Explorer系列    HKLM\Software\Classes\protocols\Filter    HKLM\Software\Classes\protocols\Handle    HKLM\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayload    HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler     HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\SharedExecuteHooks     HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folder    HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 2.2.8 镜像劫持被动启动  HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options  在此键下建立一个新键,新键的名称就是你要劫持的程序名称,例如avp.exe,然后在这个新键下添加一个valuename为Debugger的值,值就是你指定的木马程序的路径,这样下次再运行avp.exe的时候,你的程序就会运行,而avp.exe是不会运行的。 2.2.9 RPC系列    HKLM\Software\Microsoft\Rpc\ClientProtocols    HKLM\Software\Microsoft\Rpc\SecurityService 2.2.10 WOW系列    HKLM\Software\CurrentControlSet\Control\WOW  cmdline    HKLM\Software\CurrentControlSet\Control\WOW  wowcmdline    WOW是Windows On Windows,WOW技术使得在xp等NT内核操作系统上可以运行那些为旧版操作系统开发的应用程序,这样我们便可以正常的运行Windows98的甚至是Windows3.2的计算器程序等。  以上是我整理的关于自启动和被动启动的注册表键,有些比较好用,有的使用起来比较麻烦,需要多做实验,多测试。 3. 防御思路    为了不让病毒,木马使用这些自启动和被动启动方法,需要在注册表这一层面来防御,事实上就是一个RD,拦截到注册表操作时,只要检查操作的注册表有没有涉及到我们上面提到的注册表,如果发现操作的是上面的那些注册表键的话,拦截之,并询问用户如何处理。提供给用户6种选择:加入白名单、放行1次、放行至关机前、禁止1次、关闭进程、删除程序。  那么要Hook哪些注册表操作函数呢?我Hook的是一下这几个Native API函数:  NtCreateKey  NtDeleteKey  NtDeleteValueKey  NtRestoreKey  NtSetValueKey  NtLoadKey  NtLoadKey2  NtReplaceKey  前三个就不说了,大家太熟悉了。NtRestoreKey函数的作用是把一个hive文件中的注册表键和值导入到相应的注册表中;NtReplaceKey和NtRestoreKey差不多,只不过多了一个功能,就是它可以把被覆盖的注册表键和值备份到一个指定的hive文件中去。  另外,还要防止程序绕过Native API,而调用CM开头的函数。这样系统就比较完善了,不易被绕过,一旦操作上面的注册表键,就会被拦截。如何防御程序调用CM开头的函数,大家可以思考下。 4. 防御系统的实现    本系统的实现是基于上期我写的一个程序——“程序行为监视器”。上次写的那个程序只有一个监视功能,没有拦截功能。要加入拦截功能需要重点考虑以下三个问题: 4.1 被保护注册表信息文件设计  该文件是用来记录那些被保护的注册表键和valuename,还可以记录下操作该注册表键的这种恶意行为的评分,如果一个程序的恶意行为评分超过一定阈值还可以起到报警的作用。另外还可以记录该行为的一些简单描述信息。我是这样设计该文件的:文件的每一行记录一个被保护的注册表。  Key  ValueName Score Info  字段之间用TAB字符连接,于是在程序中就需要定义如下结构体: //被保护注册表信息 typedef struct {  char key[MAXPATHLEN];//键名  char valuename[MAXVALLEN];//值名  int score;//评分  char info[MAXINFOLEN];//说明信息或提示信息  DWORD next;//下一个单元的指针 }REG_PROTECT,*PREG_PROTECT; REG_PROTECT *reg_protect;//所有结构体的指针,也是链表的头指针 REG_PROTECT *current_reg_protect;//当前项目指针 int reg_protect_num=0;//被保护的注册表个数 4.2 白名单文件设计  白名单文件是用来保存用户放行并加入白名单的那些程序,和上面的那个文件类似,没一行代表一项白名单程序:  Path  Type  字段之间用TAB字符连接,于是在程序中就需要定义如下结构体: //白名单结构体 typedef struct{  char path[MAXPATHLEN];//程序完整路径  DWORD type;//类型,0-放行;1-放行1次;2-放行到关机前  DWORD next;//下一个单元的指针 }WHITE_LIST,*PWHITE_LIST; WHITE_LIST *white_list;//所有结构体的指针,也是链表的头指针 WHITE_LIST *current_white_list;//当前项目指针 int white_list_num=0;//白名单中项目的个数 4.3 前台程序和后台驱动的交互  通信交互问题事实上在上期中的程序监视器中已经解决了,这里再提出来,主要是考虑到和上次的通信方式稍有不同,上次的通信主要是因为前台从后台获取Log信息,并实时的显示出来;而这次是要当驱动拦截到恶意行为后,通知前台,并让前台提示用户,询问用户如何处理,并接受用户的选择,把用户的选择返回给后台驱动,驱动再来做相应的工作。  为了使整个过程简单、高效。需要在前台开辟一个交互缓冲区,interactiveBuff,该缓冲区的使用规范如下: 5. 系统演示    系统启动后,点击“开启防御”,可以使系统处于防御状态,拦截上面提到的8个关于注册表的操作函数,并记录操作日志,显示在行为列表中,如下图所示:  一旦发现不信任的程序在操作受保护的注册表时,弹出一下对话框,提示用户,并询问用户如何处理,用户可以选择加入白名单,放行一次,放行至关机前,禁止操作,关闭进程,删除程序这6个处理方式。如下图所示:  用户还可以自主的管理白名单程序,可以添加一个新的程序,或者删除一个已经存在于白名单中的程序。如下图所示: 6. 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf    本文整理了关于自启动和被动启动相关的注册表 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 ,在整理的过程中不免有所遗漏,或是有不妥之处,欢迎与我讨论,交流学习!    另外在整理的过程中,还发现很多自启动和被动启动方式,在一些杀软中并没有设防,这给病毒,木马留下了很大的活动空间。希望本文能引起杀软的注意。  
本文档为【注册表中启动键值】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_954223
暂无简介~
格式:doc
大小:33KB
软件:Word
页数:7
分类:生活休闲
上传时间:2017-09-19
浏览量:22