木马为了生存会想尽办法隐藏自己,早期的木马通常会采用以下方式来实现自启动,比方说通过“开始”菜单的“启动”项来加载自己,通过注册表的有关项目来启动木马,还有的木马会注册为系统服务来迷惑我们。不过,除此之外木马还有多种隐藏自己的方法,所以我们绝不能掉以轻心。知己知彼,方能百战不殆,下面我们就谈谈这些鲜为人知的木马隐藏方法。
“组策略”中的木马
通过“组策略”来加载木马非常隐蔽,不易为人所发现。具体方法是:点击“开始”菜单中的“运行”,输入“Gpedit.msc”并回车,这样就可以打开“组策略”,在“本地计算机策略”中顺次点击“用户配置→管理模板→系统→登录”(图1),然后双击“在用户登录时运行这些程序”子项,出现如图所示对话框(图2),在这里进行属性设置,选定“设置”中的“已启用”,接下来单击“显示”按钮,会弹出“显示内容”窗口(图3),再单击“添加”按钮,出现“添加项目”窗口(图4),在其中的文本框中输入要自动运行的文件所在的路径,最后单击“确定”按钮,然后重新启动计算机就可以了,系统在登录时会自动启动我们添加的程序。注意:如果自启动的文件不是位于%Systemroot%目录中,则必须指定文件的完整路径。
如果我们刚才在“组策略”中添加的是木马,就会诞生一个“隐形”的木马!这是因为在“系统配置实用程序”Msconfig中你是无法发现该木马的,在大家周知的注册表项如HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run项和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run项你也无法找到相应的键值,所以这种加载木马的方式还是非常隐蔽的,对普通用户来说威胁也更大一些
难道这种加载木马的启动方式就那么无懈可击吗?当然不是!其实,通过这种方式添加的自启动程序依然被记录在注册表中,只不过不是在我们所熟悉的那些注册表项下,而是在在注册表的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run项中。所以,如果你怀疑电脑中可能有木马,却找不到它躲在哪儿,那就到上述注册表项目或者组策略选项中看看,也许你会有所发现!
暗藏杀机的注册表项
利用注册表项加载木马一直是木马的最爱,我们也很熟悉它们的这种手段了,不过有一种新的利用注册表来隐藏木马的方法您可能还不知道,具体方法是:点击“开始”菜单中的“运行”,输入Regedit回车,打开注册表编辑器。展开注册表到HKEY_CURRENT_USER\Software\Microsoft\Win dowsNT\CurrentVersion\Windows项,新建一个字符串值,命名为“load”,把它的键值改为自启动程序的路径即可。注意:要使用文件的短文件名,即“C:\Program Files”应该写为“C:\Progra~1”,且自启动程序的后面不能带有任何参数。另外要提醒大家注意的是,如果改为在注册表的HKEY_USERS\用户ID号\Software\Microsoft\Windows NT\CurrentVersion\Windows项加载,则本方法对其他用户也有效,否则换个用户名登陆就不管用了。
建议大家以后检查木马及病毒程序时也要注意这里,免得被人有机可乘。另外,这个方法只对Windows 2000/XP/2003有效,使用Windows 9x的用户不用担心。
利用AutoRun.inf加载木马
经常使用光盘的朋友都知道,某些光盘放入光驱后会自动运行,这种功能的实现主要靠两个文件,一个是系统文件之一的Cdvsd.vxd,一是光盘上的AutoRun.inf文件。Cdvsd.vxd会随时侦测光驱中是否有放入光盘的动作,如果有的话,便开始寻找光盘根目录下的AutoRun.inf文件。如果存在AutoRun.inf文件则执行它里面的预设程序。
这个貌似神奇的功能其实很简单,不仅能应用于光盘中,同样也可以应用于硬盘中(要注意的是AutoRun.inf必须存放在磁盘根目录下才能起作用)。让我们一起看看AutoRun.inf文件的内容吧。打开记事本,新建一个文件,将其命名为AutoRun.inf,在AutoRun.inf中键入以下内容:
[AutoRun]
Icon=C:\Windows\System\Shell32.DLL,21
Open=C:\Program Files\ACDSee\ACDSee.exe
解释一下:一个标准的AutoRun文件必须以[AutoRun]开头,第二行Icon=C:\Windows\System\Shell32.DLL,21用来给硬盘或光盘设定一个图标。Shell32.DLL是Windows系统文件,里面包含了很多Windows的系统图标。数字21表示显示编号为21的图标;第三行Open=C:\Program Files\ACDSee\ACDSee.exe指出要运行程序的路径及其文件名。
如果把Open行换为木马文件,并将这个AutoRun.inf文件设置为隐藏属性(不易被发现),则点击硬盘就会启动木马!反过来讲,这倒的确是一种很不错的程序自启动方式。
为防止遭到这样的“埋伏”,可以禁止硬盘AutoRun功能。打开注册表编辑器,展开到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Exploer主键下,在右侧窗口中找到“NoDriveTypeAutoRun”,就是它决定了是否执行CDROM或硬盘的AutoRun功能。将其键值改为9D,00,00,00就可关闭硬盘的AutoRun功能,把它的键值改为B5,00,00,00则可禁止光盘的AutoRun功能。注意改后要重新启动计算机才能生效。
屏幕保护也可能成为木马的帮凶
Windows的屏幕保护程序对应的是.scr文件,在默认情况下保存在Windows的安装目录下。如果把.scr更名为.exe文件,则该程序仍然可以正常启动。与此类似,.exe文件更名为.scr文件也照样可以运行!顺便提一下,把.exe文件改名为.com、.pif、.bat后,exe文件仍旧可以自由运行!这在exe文件关联丢失后非常有用,我们可以把exe文件的扩展名改为上述扩展名程序就可以运行了。
在屏幕保护程序中,我们可以设定它的等待时间,这个启动时间其实是可以在注册表中设定的: HKEY_USERS\.DEFAULT\Control Panel\desktop,其下的字符串值ScreenSaveTimeOut记录的就是屏保程序的等待时间,时间单位为秒,从60秒开始记录,如果记录时间小于60秒,则自动定为1分钟。是否选择了屏幕保护程序可以在system.ini文件中看出来。在“开始”菜单的“运行”中输入msconfig,找到System标签,找到里面的[boot]小节,你可以看到有“SCRNSAVE.EXE=”这一行。在它后面是屏保文件的路径。如果你设定了屏保程序,这一行前面就会有一个“√”,反之则没有“√”。
由上面的介绍可以产生一个联想:如果把.exe文件重命名为.scr文件(假设改为trojan.scr),并在SYSTEM.INI中添加“SCANSAVE.EXE=C:\Program files\trojan.scr”,然后修改注册表中的HKEY_USER
S\.DEFAULT\Control Panel\desktop下的字符串值ScreenSaveTimeOut,把其键值改为60,则系统只要闲置一分钟该文件就会被启动!由此可以看出,如果这种方法被木马或病毒等恶意程序所利用,后果非常可怕。防范这种攻击的方法就是禁止使用屏幕保护功能!
几招教你查杀木马
-------1-----------------
Hkey_current_user\software\microsoft\windows nt\currentversion \windows 建一个字符串名为load键值为自启动程序的路径但是要注意短文件名规则,如c:\program files 应为c:\progra~1
这种方式用优化大师看不到
----------2--------------------
另一个注册表可以加启动项的位置
HKEY_LOCAL_MACHINE\SHOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon 里面的shell建值在Explorer.exe的后面加上我门程序的路径 这样我门的程序就可以随系统启动了。
比如我门的c:\windows\system32\下有个hehe.exe木马。
-------3-------------------------
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon,找到“Userinit”这个键值,这个键值默认为c:\WINNT\system32\userinit.exe,后面加路径,再加逗号也可以
木马对文件关联的利用
我们知道,在注册表HKEY_LOCAL_MACHINE SoftwareMicrosoftWindowsCurrentVersionRun下可以加载程序,使之开机时自动运行,类似“Run”这样的子键在注册表中还有几处,均以“Run”开头,如RunOnce、RunServices等。除了这种方法,还有一种修改注册表的方法也可以使程序自启动。
具体说来,就是更改文件的打开方式,这样就可以使程序跟随您打开的那种文件类型一起启动。举例来说,打开注册表,展开注册表到HKEY_CLASSES_ROOTexefileshell
opencommand,这里是exe文件的打开方式,默认键值为:“%1”%*。如果把默认键值改为Trojan.exe“%1”%*,您每次运行exe文件,这个Trojan.exe文件就会被执行。木马灰鸽子就采用关联exe文件的打开方式,而大名鼎鼎的木马冰河采用的是也与此相似的一招——关联txt文件。
对付这种隐藏方法,主要是经常检查注册表,看文件的打开方式是否发生了变化。如果发生了变化,就将打开方式改回来。最好能经常备份注册表,发现问题后立即用备份文件恢复注册表,既方便、快捷,又安全、省事。
木马对设备名的利用
大家知道,在Windows下无法以设备名来命名文件或文件夹,这些设备名主要有aux、com1、com2、prn、con、nul等,但Windows 2000/XP有个漏洞可以以设备名来命名文件或文件夹,让木马可以躲在那里而不被发现。
具体方法是:点击“开始”菜单的“运行”,输入cmd.exe,回车进入命令提示符窗口,然后输入md c:con\命令,可以建立一个名为con的目录。默认请况下,Windows是无法建立这类目录的,正是利用了Windows的漏洞我们才可以建立此目录。再试试输入md c:aux\命令,可以建立aux目录,输入md c:prn\可以建立prn目录,输入md c:com1\目录可以建立Com1目录,而输入md c: ul\则可以建立一个名为nul的目录。在资源管理器中依次点击试试,您会发现当我们试图打开以aux或com1命名的文件夹时,explorer.exe失去了响应,而许多“牧马人”就是利用这个方法将木马隐藏在这类特殊的文件夹中,从而达到隐藏、保护木马程序的目的。
现在,我们可以把文件复制到这个特殊的目录下,当然,不能直接在Windows中复制,需要采用特殊的方法,在CMD窗口中输入copy muma.exe \.c:aux\命令,就可以把木马文件muma.exe复制到C盘下的aux文件夹中,然后点击“开始”菜单中的“运行”,在“运行”中输入c:aux muam.exe,就会成功启动该木马。我们可以通过点击文件夹名进入此类特殊目录,不过,如果您要试图在资源管理器中删除它,会发现这根本就是徒劳的,Windows会提示找不到该文件。
由于使用del c:aux\命令可以删除其中的muma.exe文件,所以,为了达到更好的隐藏和保护效果,下木马者会把muma.exe文件也改名,让我们很难删除。具体方法就是在复制木马文件到aux文件夹时使用命令copy muma.exe \.c:con.exe,就可以把木马文件muma.exe复制到aux目录中,并且改名为con.exe,而con.exe文件是无法用普通方法删除的。
可能有的朋友会想,这个con.exe文件在“开始”菜单的“运行”中无法运行啊。其实不然,只要在命令行方式下输入cmd /c \.c:con就可以运行这个程序了。在运行时会有一个cmd窗口一闪而过,下木马者一般来说会对其进行改进,方法有很多,可以利用开机脚本,也可以利用cmd.exe的autorun:在注册表HKEY_LOCAL_ MACHINESoftwareMicrosoftCommand Processor下建一个字串AutoRun,值为要运行的.bat文件或.cmd文件的路径,如c:winntsystem32auto.cmd,如果建立相应的文件,它的内容为@\.c:con,就可以达到隐蔽的效果。
对于这类特殊的文件夹,发现后我们可以采用如下方法来删除它:先用del \.c:con.exe命令删除con.exe文件(该文件假设就是其中的木马文件名),然后再用rd \.c:aux命令删除aux文件夹即可。
好了,文章到这里就结束了。由于水平有限,文中如有不正确或值得商榷的地方欢迎大家批评指点,另外,写作时曾参阅过网上高手们的帖子,受益匪浅,在此一并谢过!
不过,AutoRun不仅能应用于光盘中,同样也可以应用于硬盘中(要注意的是,AutoRun.inf必须存放在磁盘根目录下才能起作用)。让我们一起看看AutoRun.inf文件的内容吧。
打开记事本,新建一个文件,将其命名为AutoRun.inf,在AutoRun.inf中键入以下内容:
[AutoRun]
Icon=C:WindowsSystemShell32.DLL,21
Open=C

rogram FilesACDSeeACDSee.exe
其中,“[AutoRun]”是必须的固定格式,一个标准的AutoRun文件必须以它开头,目的是告诉系统执行它下面几行的命令;第二行“Icon=C:WindowsSystemShell32.DLL,21”是给硬盘或光盘设定一个个性化的图标,“Shell32.DLL”是包含很多Windows图标的系统文件,“21”表示显示编号为21的图标,无数字则默认采用文件中的第一个图标;第三行“Open=C

rogram FilesACDSeeACDSee.exe”指出要运行程序的路径及其文件名。
如果把Open行换为木马文件,并将这个AutoRun.inf文件设置为隐藏属性,我们点击硬盘时就会启动木马。
为防止遭到这样的“埋伏”,可以禁止硬盘AutoRun功能。在“开始”菜单的“运行”中输入Regedit,打开注册表编辑器,展开到HKEY_CURRENT_USERSoftware MicrosoftWindowsCurrentVersionPoliciesExploer主键下,在右侧窗口中找到“NoDriveTypeAutoRun”,就是它决定了是否执行CDROM或硬盘的AutoRun功能。将其键值改为9D,00,00,00就可以关闭硬盘的AutoRun功能,如果改为B5,00,00,00则禁止光盘的AutoRun功能。修改后重新启动计算机,设置就会生效。