关于木马的几种启动形式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

木马攻略:关于木马的几种启动方式



木马是随计算机或Windows的启动而启动并掌握一定的控制权的,其启动方式可谓多种多样,通过注册表启动、通过System.ini启动、通过某些特定程序启动等,真是防不胜防。其实只要能够遏制住不让它启动,木马就没什么用了,这里就简单说说木马的启动方式,知己知彼百战不殆嘛。

一、通过"开始\程序\启动"

隐蔽性:2星
应用程度:较低
这也是一种很常见的方式,很多正常的程序都用它,大家常用的QQ就是用这种方式实现自启动的,但木马却很少用它。因为启动组的每人会会出现在“系统配置实用程序”(msconfig.exe,以下简称msconfig)中。事实上,出现在“开始”菜单的“程序\启动”中足以引起菜鸟的注意,所以,相信不会有木马用这种启动方式。

二、通过Win.ini文件

隐蔽性:3星
应用程度:较低
应用案例:Asylum
同启动组一样,这也是从Windows3.2开始就可以使用的方法,是从Win16遗传到Win32的。在Windows3.2中,Win.ini就相当于Windows9x中的注册表,在该文件中的[Windows]域中的load和run项会在Windows启动时运行,这两个项目也会出现在msconfig中。而且,在Windows98安装完成后这两项就会被Windows的程序使用了,也不很适合木马使用。

三、通过注册表启动
1、通过HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run和

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices

隐蔽性:3.5星

应用程度:极高

应用案例:BO2000,GOP,NetSpy,IEthief,冰河……

这是很多Windows程序都采用的方法,也是木马最常用的。使用非常方便,但也容易被人发现,由于其应用太广,所以几乎提到木马,就会让人想到这几个注册表中的主键,通常木马会使用最后一个。使用Windows自带的程序:msconfig或注册表编辑器(regedit.exe,以下简称regedit)都可以将它轻易的删除,所以这种方法并不十分可靠。但可以在木马程序中加一个时间控件,以便实时监视注册表中自身的启动键值是否存在,一旦发现被删除,则立即重新写入,以保证下次Windows启动时自己能被运行。这样木马程序和注册表中的启动键值之间形成了一种互相保护的状态。木马程序未中止,启动键值就无法删除(手工删除后,木马程序又自动添加上了),相反的,不删除启动键值,下次启动Windows还会启动木马。怎么办呢?其实破解它并不难,即使在没有任何工具软件的情况下也能轻易解除这种互相保护。

破解方法:首先,以安

全模式启动Windows,这时,Windows不会加载注册表中的项目,因此木马不会被启动,相互保护的状况也就不攻自破了;然后,你就可以删除注册表中的键值和相应的木马程序了。

2、通过HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce,

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce和

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

隐蔽性:4星

应用程度:较低

应用案例:Happy99

这种方法好像用的人不是很多,但隐蔽性比上一种方法好,它的内容不会出现在msconfig中。在这个键值下的项目和上一种相似,会在Windows启动时启动,但Windows启动后,该键值下的项目会被清空,因而不易被发现,但是只能启动一次,木马如何能发挥效果呢?

其实很简单,不是只能启动一次吗?那木马启动成功后再在这里添加一次不就行了吗?在Delphi中这不过3、5行程序。虽说这些项目不会出现在msconfig中,但是在Regedit中却可以直接将它删除,那么木马也就从此失效了。

还有一种方法,不是在启动的时候加而是在退出Windows的时候加,这要求木马程序本身要截获WIndows的消息,当发现关闭Windows消息时,暂停关闭过程,添加注册表项目,然后才开始关闭Windows,这样用Regedit也找不到它的踪迹了。这种方法也有个缺点,就是一旦Windows异常中止(对于Windows9x这是经常的),木马也就失效了。

破解他们的方法也可以用安全模式。

另外使用这三个键值并不完全一样,通常木马会选择第一个,因为在第二个键值下的项目会在Windows启动完成前运行,并等待程序结束会才继续启动Windows。

四、通过Autoexec.bat文件,或winstart.bat,config.sys文件
隐蔽性:3.5星
应用程度:较低
其实这种方法并不适合木马使用,因为该文件会在Windows启动前运行,这时系统处于DOS环境,只能运行16位应用程序,Windows下的32位程序是不能运行的。因此也就失去了木马的意义。不过,这并不是说它不能用于启动木马。可以想象,SoftIce for Win98(功能强大的程序调试工具,被黑客奉为至宝,常用于破解应用程序)也是先要在Autoexec.bat文件中运行然后才能在Windows中呼叫出窗口,进行调试的,既然如此,谁能保证木马不会这样启动呢?到目前为止,我还没见过这样启动的木马,我想能写这样木马的人一定是高手中的高手了。
另外,这两个BAT文件常被用于破坏,它们会在这个文件中加入类似"Deltree C:\*.*"和"Format C:/u"的行,这样,在你启动计算机后还未启动Windows,你的C盘已然空空如也。

五、通

过System.ini文件
隐蔽性:5星
应用程度:一般
应用案例:尼姆达
事实上,System.ini文件并没有给用户可用的启动项目,然而通过它启动却是非常好用的。在System.ini文件的[Boot]域中的Shell项的值正常情况下是"Explorer.exe",这是Windows的外壳程序,换一个程序就可以彻底改变Windows的面貌(如改为Progman.exe就可以让Win9x变成Windows3.2)。我们可以在"Explorer.exe"后加上木马程序的路径,这样Windows启动后木马也就随之启动,而且即使是安全模式启动也不会跳过这一项,这样木马也就可以保证永远随Windows启动了,名噪一时的尼姆达病毒就是用的这种方法。这时,如果木马程序也具有自动检测添加Shell项的功能的话,那简直是天衣无缝的绝配,我想除了使用查看进程的工具中止木马,再修改Shell项和删除木马文件外是没有破解之法了。但这种方式也有个先天的不足,因为只有Shell这一项嘛,如果有两个木马都使用这种方式实现自启动,那么后来的木马可能会使前一个无法启动,呵呵以毒攻毒啊。

六、通过某特定程序或文件启动
1、寄生于特定程序之中
隐蔽性:5星
应用程度:一般
即木马和正常程序捆绑,有点类似于病毒,程序在运行时,木马程序先获得控制权或另开一个线程以监视用户操作,截取密码等,这类木马编写的难度较大,需要了解PE文件结构和Windows的底层知识(直接使用捆绑程序除外)。
2、将特定的程序改名
隐蔽性:5星
应用程度:常见
这种方式常见于针对QQ的木马,例如将QQ的启动文件QQ2000b.exe,改为QQ2000b.ico.exe(Windows默认是不显示扩展名的,因此它会被显示为QQ2000b.ico,而用户会认为它是一个图标),再将木马程序改为QQ2000b.exe,此后,用户运行QQ,实际是运行了QQ木马,再由QQ木马去启动真正的QQ,这种方式实现起来要比上一种简单的多。
3、文件关联
隐蔽性:5星
应用程度:常见
应用案例:广外女生
通常木马程序会将自己和TXT文件或EXE文件关联,这样当你打开一个文本文件或运行一个程序时,木马也就神不知鬼不觉的启动了。
这类通过特定程序或文件启动的木马,发现比较困难,但查杀并不难。一般地,只要删除相应的文件和注册表键值即可







进入MS-DOS PROMPT
C:\WINDOWS>edit services (回车)


HAKTEK是一个非常实用的一个工具软件,它将许多应用集成在一起的工具,其中包括:PING、IP范围扫描、目标主机端口扫描、邮件炸弹、过滤邮件、FINGER主机等都是非常实用的工具。


给大家推荐一个工具——Autoruns,该工具能够扫描出系统中所有没

有得到微软认证的服务,


灰鸽子的服务端安装程序由客户端根据自定义设置自动生成。能够自定义的项目包括:服务端安装成功后是否删除安装程序;是否在任务管理器中隐藏进程;是否在注册表中加入启动键项。



黑洞2004 是木马用户通过使用文件捆绑器把木马服务端和正常的文件捆绑在一起,达到欺骗对方的目的。文件捆绑器有广外文件捆绑器2002、万能文件捆绑器、exeBinder、Exe Bundle等。

Step1中的UPX就是这样一款压缩软件,但默认该软件是按照自身的设置对服务端压缩的,因此得出的结果都相同,很难长时间躲过杀毒软件;而自己对服务端进行压缩,就可以选择不同的选项,压缩出与众不同的服务端来,使杀毒软件很难判断。下面我就以冰河为例,为大家简单的讲解一下脱壳(解压)、加壳(压缩)的过程。

我想大想一定用过小榕的CLeanIIsLog,是一个不错的日志清除工具。不过可惜,只能清除IIS的日志,那ftp和shedule等产生的日志文件呢,我们一般只能手动清除。
1.清除IIS的日志。

可不要小看IIS的日志功能,它可以详细的记录下你的入侵全过程,如你用unicode入侵时ie里打的命令,和对80端口扫描时留下的痕迹。你可能就因为对其不注意,而被网管盯上,说不定还会…… 呵呵。

那我们就可手动清除吧:

1. 日志的默认位置:%systemroot%\system32\logfiles\w3svc1\,默认每天一个日志。那我们就切换到这个目录下吧,然后 del *.*。你大概想是安全了吧,那就dir一下吧。…… 咦,咦,今天的日志怎么还在?不要慌!因为w3svc服务还开着,那我们怎么清除这个日志文件呢?

方法一: 如有3389可以登录,那就用notepad打开,按Ctrl+A 然后del吧。

方法二: net 命令

C:\>net stop w3svc

World Wide Web Publishing Service 服务正在停止。(可能会等很长的时间,也可能不成功)
World Wide Web Publishing Service 服务已成功停止。

好了w3svc停止了,我们可以清空它的日志了, del *.*吧

还有不要忘了再打开w3svc服务呀!

C:\>net start w3svc

2. 清除ftp日志

FTP日志默认位置:%systemroot%\sys tem32\logfiles\msftpsvc1\,默认每天一个日志,清除方法同上。

3. 清除Scheduler日志

Scheduler服务日志默认位置:%systemroot%\schedlgu.txt。清除方法同上。

4. 应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\sys tem32\config 。清除方法同上。

注意以上三个目录可能不在上面的位置,那是因为管理员做了修改。可以读取注册表值得到他们的位置:

应用程序日

志,安全日志,系统日志,DNS服务器日志,它们这些LOG文件在注册表中的

HKEY_LOCAL_MACHINE\sys tem\CurrentControlSet\Services\Eventlog

Schedluler服务日志在注册表中的

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent

5.我是借鉴了别人文章(其实就是抄了)

OK!恭喜,现在简单的日志都已成功删除。下面就是很难的安全日志和系统日志了,守护这些日志的服务是Event Log,试着停掉它!

D:\SERVER\system32\LogFiles\W3SVC1>net stop eventlog

这项服务无法接受请求的 "暂停" 或 "停止" 操作。没办法,它是关键服务。如果不用第三方工具,在命令行上根本没有删除安全日志和系统日志的可能!所以还是得用虽然简单但是速度慢得死机的办法:打开“控制面板”的“管理工具”中的“事件查看器”(98没有,知道用Win2k的好处了吧),在菜单的“操作”项有一个名为“连接到另一台计算机”的菜单,点击它然后输入远程计算机的IP,然后点支烟,等上数十分钟,忍受象死机的折磨,终于打开了!然后选择远程计算机的安全性日志,右键选择它的属性,点击属性里的“清除日志”按钮,OK!安全日志清除完毕!同样的忍受痛苦去清除系统日志!

6.上面大部分重要的日志你都已经清除了。然后要做的就是以防万一还有遗漏的了。

那就这样做吧:

del以下的一些文件:

\winnt\*.log

system32下
\logfiles\*.*
\dtclog\*.*
\config\*.evt
\*.log
\*.txt

到目前为止,我所知的大部分清除日志方法已经教会你了,那你就学以致用吧。

相关文档
最新文档