1.后门病毒密码破解后门
2.隐藏进程之FU怎么用?序源
3.为什么木马删除了重开机又会出现?怎样才能完全删除/
后门病毒密码破解后门
入侵者常使用后门病毒以获得对Unix机器的访问,并通过破解密码制造后门。序源破解口令薄弱的序源帐号是他们最常用的方法,即使管理员封了入侵者的序源当前帐号,新的序源帐号仍可能成为重新入侵的后门。入侵者通常寻找口令薄弱的序源128的源码怎么来的未使用帐号,并将口令改得更复杂,序源使管理员难以发现这些已被修改的序源帐号。 在连网的序源Unix机器中,如Rsh和Rlogin等服务基于rhosts文件使用简单的序源认证方法。入侵者只需向某用户的序源rhosts文件中输入"+ +",即可允许任何人从任何地方无须口令进入该帐号,序源尤其当home目录通过NFS向外共享时,序源入侵者会更热衷于此。序源这些帐号也成为了入侵者再次侵入的序源后门。许多人更喜欢使用Rsh,因为它通常缺少日志能力。许多管理员经常检查"+ +",但入侵者通常会设置来自网上的另一个帐号的主机名和用户名,以避免被发现。 校验和及时间戳后门早期,入侵者会用自己的trojan程序替代二进制文件。系统管理员会依据时间戳和系统校验和辨别文件是否已被改变。入侵者发展了使trojan文件和原文件时间戳同步的新技术。他们首先将系统时钟拨回到原文件时间,然后调整trojan文件的时间为系统时间。一旦二进制trojan文件与原文件精确同步,就可以将系统时间设回当前时间。sum程序基于CRC校验很容易被骗过。入侵者设计出可以将trojan的校验和调整到原文件校验和的程序。MD5是被大多数人推荐的,MD5使用的算法目前没人能骗过。 Login后门在Unix里,login程序通常用于对telnet来的用户进行口令验证。入侵者获取login.c的原代码并修改,使其在比较输入口令与存储口令时先检查后门口令。如果用户输入后门口令,它将忽视管理员设置的口令,让用户长驱直入。这将允许入侵者进入任何帐号,甚至root。由于后门口令在用户真实登录并被日志记录到utmp和wtmp前产生访问,入侵者可以登录获取shell,而不暴露该帐号。管理员注意到这种后门后,会用strings命令搜索login程序以寻找文本信息。许多情况下,后门口令会原形毕露。入侵者开始加密或更好地隐藏口令,使strings命令失效。因此,管理员更多地使用MD5校验和检测这种后门。 Telnetd后门当用户telnet到系统,监听端口的inetd服务接受连接,随后传递给in.telnetd运行login。一些入侵者知道管理员会检查login是否被修改,就着手修改in.telnetd。in.telnetd内部有一些对用户信息的检验,如用户使用的终端类型。入侵者可以设置后门,当终端设置为"letmein"时,产生一个无需任何验证的shell。入侵者已在某些服务中设下后门,对来自特定源端口的连接产生后门。 服务后门几乎所有网络服务都曾被入侵者设为后门。finger、rsh、rexec、rlogin、ftp、inetd等服务的被修改版本随处可见。这些程序有时使用非标准的服务,或者被加入到inetd.conf作为新服务运行。管理员应非常注意这些服务是否正在运行,并使用MD5对原服务程序进行校验。 Cronjob后门Unix上的Cronjob可以按时间表调度特定程序的运行。入侵者可以加入后门shell程序,使它在1AM到2AM之间运行,那么每晚有一个小时可以获得访问。也可以查看Cronjob中经常运行的合法程序,同时置入后门。 库后门几乎所有UNIX系统使用共享库。入侵者在如crypt.c和_crypt.c这些函数中设下后门。login.c等程序调用crypt(),当使用后门口令时,产生一个shell。因此,即使管理员使用MD5检查login程序,仍能产生后门函数。许多管理员并不会检查库是否被做为后门。对于许多入侵者来说,有一个问题:一些管理员对所有东西都做了MD5校验。有一种办法是iometer源码入侵者对open()和文件访问函数设下后门。后门函数读原文件,但执行trojan后门程序。因此,当MD5读这些文件时,校验和一切正常。但当系统运行时,将执行trojan版本的。即使trojan库本身也可躲过MD5校验。对于管理员来说,有一种方法可以找到后门,就是静态编连MD5校验程序然后运行。静态连接程序不会使用trojan共享库。 内核后门内核是Unix工作的核心。用于库躲过MD5校验的方法同样适用于内核级别,甚至连静态连接多不能识别。一个后门作得很好的内核是最难被管理员查找的,所幸的是内核的后门程序还不是随手可得,不是每个人都知道它事实上传播有多广。 文件系统后门入侵者需要在服务器上存储他们的掠夺品或数据,而不能被管理员发现。入侵者的文章常包含exploit脚本工具、后门集、嗅探日志、邮件备份、源代码等。有时为了防止管理员发现这些大文件,入侵者会修补"ls"、"du"、"fsck"以隐匿特定的目录和文件。在低级级别,入侵者会做漏洞,以专有的格式在硬盘上割出一部分,且表示为坏的扇区。因此入侵者只能用特别的工具访问这些隐藏的文件。对于普通管理员来说,很难发现这些"坏扇区"里的文件系统,但它们确实存在。 Boot块后门在PC世界里,许多病毒藏匿于根区,而杀病毒软件就是检查根区是否被改变。Unix下,多数管理员没有检查根区的软件,所以一些入侵者将一些后门留在根区。 隐匿进程后门入侵者通常想隐匿他们运行的程序。这些程序一般是口令破解程序和监听程序(sniffer)。有许多方法可以实现,这里是最通用的:编写程序时修改自己的argv[]使它看起来象其他进程名。可以将sniffer程序改名类似in.syslog再执行。因此,当管理员用"ps"检查运行进程时,出现的是标准服务名。可以修改库函数致使"ps"不能显示所有进程。可以将一个后门或程序嵌入中断驱动程序,使它不会在进程表显现。Rootkit 最流行的后门安装包之一是Rootkit。它很容易用web搜索器找到。从Rootkit的README文件中,可以找到一些典型的文件:z2 - removes entries from utmp,wtmp,and lastlog。Es - rokstar's ethernet sniffer for sun4 based kernels。Fix - try to fake checksums,install with same dates/perms/u/g。Sl - become root via a magic password sent to login。Ic - modified ifconfig to remove PROMISC flag from output。ps: hides the processes。Ns - modified netstat to hide connections to certain machines。Ls - hides certain directories and files from being listed。du5 - hides how much space is being used on your hard drive。ls5 - hides certain files and directories from being listed。 网络通行后门入侵者不仅想隐匿在系统里的痕迹,而且也要隐匿他们的网络通行。这些网络通行后门有时允许入侵者通过防火墙进行访问。有许多网络后门程序允许入侵者建立某个端口号,并通过非标准网络端口实现访问。因为这是通过非标准网络端口的通行,管理员可能忽视入侵者的足迹。这种后门通常使用TCP、UDP和ICMP,但也可能是其他类型报文。 TCP Shell后门入侵者可能在防火墙没有阻塞的高位TCP端口建立这些TCP Shell后门。许多情况下,他们用口令进行保护,以免管理员连接上后立即看到是shell访问。管理员可以用netstat命令查看当前的连接状态,那些端口在侦听,目前连接的来龙去脉。通常这些后门可以让入侵者躲过TCP Wrapper技术。这些后门可以放在SMTP端口,许多防火墙允许email通行。 UDP Shell后门管理员经常注意TCP连接并观察其怪异情况,而UDP Shell后门没有这样的toot源码连接,所以netstat不能显示入侵者的访问痕迹。许多防火墙设置成允许类似DNS的UDP报文的通行。通常入侵者将UDP Shell放置在这个端口,允许穿越防火墙。 ICMP Shell后门Ping是通过发送和接受ICMP包检测机器活动状态的通用办法之一。许多防火墙允许外界ping它内部的机器。入侵者可以放数据入Ping的ICMP包,在ping的机器间形成一个shell通道。管理员也许会注意到Ping包暴风,但除了他查看包内数据,否者入侵者不会暴露。 加密连接管理员可能建立一个sniffer试图某个访问的数据,但当入侵者给网络通行后门加密后,就不可能被判定两台机器间的传输内容了。 Windows NT由于Windows NT不能轻易地允许多个用户象Unix下访问一台机器,对入侵者来说就很难闯入Windows NT,安装后门,并从那里发起攻击。因此,你将更频繁地看到广泛的来自Unix的网络攻击。当Windows NT提高多用户技术后,入侵者将更频繁地利用Windows NT。如果这一天真的到来,许多Unix的后门技术将移植到Windows NT上,管理员可以等待入侵者的到来。Windows NT已经有了telnet守护程序。通过网络通行后门,入侵者发现安装它们是可行的。 解决当后门技术越先进,管理员越难判断入侵者是否入侵或他们是否被成功封杀。扩展资料
后门病毒的前缀是:Backdoor。该类病毒的特性是通过网络传播,给系统开后门,给用户电脑带来安全隐患。年年初,IRC后门病毒开始在全球网络大规模出现。一方面有潜在的泄漏本地信息的危险,另一方面病毒出现在局域网中使网络阻塞,影响正常工作,从而造成损失。由于病毒的源代码是公开的,任何人拿到源码后稍加修改就可编译生成一个全新的病毒,再加上不同的壳,造成IRC后门病毒变种大量涌现。还有一些病毒每次运行后都会进行变形,给病毒查杀带来很大困难。隐藏进程之FU怎么用?
下面简单介绍一下<隐藏外挂进程之FU>的使用方法,
它的全称是fu_rootkit,fu_rootkit可以隐藏进程和驱动,
改变进程令牌和SID,例举用hook技术隐藏的进程和驱动,
而且它是公开源代码的。
※特殊说明一下:因为本软件里含有FU(进程隐藏软件)特征码,所以杀毒软件会误认为是病毒程序,所以请在运行软件前关闭杀毒软件。
在关掉杀毒软件的情况下,我们打开EXE文件夹中的cmd.exe。
我们可以看一下它所有的命令。
其DOS命令:
[-pl] xxx 列举所有运行进程
[-ph] #PID 隐藏进程标识符为PID的进程
[-pld] 列举所有载入驱动程序
[-phd] DRIVER_NAME 隐藏指定驱动
[-pas] #PID 提升进程标识符为PID的进程权限至SYSTEM
[-prl] 列出可用的权限名单
[-prs] #PID #privilege_name 提升进程标识符为PID的进程权限至指定权限
[-pss] #PID #account_name 改变进程令牌和SID
关于隐藏游戏的进程只需要: [-ph] #PID 隐藏进程标识符为PID的进程 这项
PID值的查询这里简单介绍一下...请看操作...
敲击键盘Ctrl+Alt+Delete/Del 打开Windows任务管理器
选择查看选项中的<选择列...>
在PID (进程标识符)选项前打钩,即可看到进程的PID值.
街头篮球的进程映像名称是FreeStyle.exe
冒险岛的进程映像名称是Maplestory.exe
下面只介绍一下多开街头篮球的步骤:
现在打开街头篮球!
在程序框内输入fu -ph ____
____添上街头篮球进程的PID值
注意:fu和-ph间有空格 -ph和PID值之间后空格...
PID值不是固定的...每一次启动的PID值都不同...
为什么木马删除了重开机又会出现?怎样才能完全删除/
第一章 进程篇
先关闭所有无关的程序,然后,偶们开始检查当前进程,当前进程是什么呢?当前进程就是现在所有正在运行的程序!查看当前进程,就是查看现在有哪些程序正在运行,如果有未知的程序呢?可能就是木马了,因为通常木马也是做为一个程序存在的。
怎么看当前进程呢? 请借助专业工具,实在没有工具时,再同时按下Ctrl + Alt + Delete键调出任务管理器来查看。
那什么样子的程序是未知程序呢?
这里,我要再强调一下子,一定要找一个能够对进程文件进行数字签名验证的进程查看工具,不然你无法区分某一进程是否为可疑进程,只凭文件名字是完全不够用的。
如果一个进程不是系统进程,也不是你正在运行的某一程序的进程,那这个进程就是我们说的可疑进程。(不能通过数字签名验证的为非系统进程)
找到了可疑进程又如何呢?杀掉后删除么?
NO,不要杀它~不杀的原因有三点:
1、杀掉它的结果是什么,很难预料,如果其正在与其它程序或内核驱动进行交互,你杀它,很可能就是自杀,会把系统杀崩的。
2、杀掉并删除它,并不会清除它写入注册表的启动项,这样每次开机时仍然会尝试加载这个程序,虽然文件已经不在,无法使木马运行,但每次的试图加载,都是autojcode源码需要时间的,这也是系统变慢的一个原因所在。
3、最后,只凭上面的检测,只能说明这个进程是可疑进程,但无法就此确认这就是木马,所以,你现在杀掉它,很可能会误杀~
那应该怎么办呢?答案是不理它,找到后,把文件名字记下来,然后进行下一步的检查工作,暂时不要理它。
如果没找到呢?
那说明,你的机器可能很干净,没有木马。
或者,木马是进程隐藏或无进程木马。
进程隐藏型的怎么办呢?
我们先了解一些木马隐藏进程的手段~
当前流行的木马隐藏进程的手段如下:
0、初级隐藏,查找任务管理器窗口枚举子窗口找到列进程的列表框,把自己的名字抺去~,这种用一般专业工具即可查。
1、中级隐藏,HOOK WinAPI 过滤掉马儿自己的进程。只要是驱动级别的进程管理工具基本都可以查。
2、中高级隐藏,HOOK SSDT NtQuerySystemInformation,过滤掉马儿自己的进程,具有恢复SSDT功能的驱动级工具可查。
3、次高级隐藏,INLINE HOOK SSDT,过滤掉自己进程,恢复INLINE的或直接枚举进程链的可查。
4、准高级隐藏,自活动进程链中摘除自己的进程,基于线程调度链表检测技术的工具可查。
5、高级隐藏,绕过内核调度链表隐藏进程,基于HOOK-KiReadyThread技术来检测的工具可查。
对于隐藏进程,请使用具有相应功能的检查工具来检查~
当然了,我们也不一定死乞白咧的非要把木马隐藏的进程找出来,实在找不出,就当没有或当作无进程的木马,直接进行下一步检查就可以了。
因为,进程检查只是检查的手段之一,看不到、杀不掉木马的进程,并不妨碍我们把木马清掉。
OK,无论对进程的检查结果如何,我们接下来都要开始下一步的检查,模块检查!
参照图如下:
下面的图是一张进程检查图(请以数字签名验证的结果为主,以文件路径名字为辅来判断,瑞星杀毒软件的进程不是系统进程,但通过文件名字与路径,我们可以知道,这是瑞星的主控程序,呵呵,不要死心眼,要多方面结合起来判断~ ^-^):
第二章 模块篇
模块是什么?模块,是指具备某一种或某一类功能的特殊功能模块,其外在的表现形式通常为各种动态库文件(通常以.dll为扩展名字)或插件文件(通常以.OCX为扩展名字)。它们由应用程序加载,来为程序提供某一特定的功能。
就像我们的电视机,如果加了一个卫星天线,就可以收到更多的节目一样,卫星天线本身是与电视机无关的,但它一但被电视机所用,就可以为电视机提供额外的功能。卫星天线相对于电视机,也就是相当于模块相对于程序。
每个进程都有几个到上百个不等的模块,每个模块都有其特定的用途,当然了,如果某个模块是木马的话,也有其木马用途。
当进程检查流行起来,且检查的越来越深入时,木马的制造者们开始制作无进程木马,木马是做为一个模块出现的,这样它将不存在于进程列表中。无论你用何等高级的mypaint源码进程检测技术都无法检测到模块木马的存在。
一台电脑中,进程可能有十几个或几十个,但模块却有好几百个,数量的增多也增加了我们检测的难度。
对检测工具的要求,仍然是需要具备数字签名验证的能力,否则手工从几百个模块文件中挑出木马,真的很累~(木马模块的检查,请看下面的图)
找到后怎么办呢?
呵呵,上次有朋友遇到过这问题,结果是他用暴力手段给卸载并删除了~,应该这样处理么?
答案仍然是否定的!
不要暴力卸载并删除~~原因么?原因先缓一缓再说,我们先了解一下儿模块木马的启动运行机制,然后再解释为什么不要暴力卸载删除。
模块木马分为两种:一种是静态加载的,一种是动态注入的。
静态加载的,是把自己的木马文件,在注册表的某键下注册,这样,系统会在开机或运行某一程序时自动的加载在这一键下注册的所有模块,这样,木马就实现了进入到程序中,并执行其非法活动的目的。(在注册表的哪些键下注册可以让系统加载,在后面的启动项检查中会有解释)
动态加载的,这类木马就是所谓的进程注入型木马,它的实现不但需要有一个模块文件,还需要有一个将模块文件注入到进程中的注入程序。先将注入程序启动,然后由注入程序将模块木马注入到其它的进程中,完成注入后,注入程序就结束了运行,这样,你仍然无法看到进程。
现在明白为什么不能暴力卸载并删除了么?
暴力卸载并删除后,如果是静态加载的,那注册表中仍然会留下加载项,每次开机或相关程序运行时仍然会偿试加载该模块,如果多了,会导至系统运行变慢。
如果是动态加载的,那你卸载并删除的仅仅是模块木马,注入程序却仍然留在你的机器上。如果此木马设计的比较合理,那它应该是有模块文件备份的,这样,当你再次开机时,会发现,你暴力删除的模块文件又重新回到了你的机器上,你永远删不干净。如果此木马设计的不合理或比较狠毒,那就只有上帝和木马的制造者才知道会发生事情了~~ -_-!
即然不能暴力删除,那找到后应该如何呢?与进程一样,抄下模块文件的路径与名字,然后,开始下一步的检查,暂时不要理它。
即然说到了无进程木马,那就不得不说“线程注入型木马”,进程注入型的木马注入到进程中的是一个模块,也就是说,必须有一个模块文件的存在,这样我们可以找到这个模块并通过对其文件进行签名验证来找出注入木马;而线程注入型的木马,注入到进程中的却只是一段代码,是没有文件存在的,虽然可以查看每个进程的各个线程,但想发现并找出哪一个线程是木马的,不能说绝不可能,但也几乎是不可能的了,能找出的是非常高的高人,绝不是我~看看下面的第二张图,是EXPLORER.exe的线程列表,能看出什么么?
(顺便说一句,那张图是ProcessExplorer的截图,非常非常出名且非常非常好用的进程管理工具,在这里可以下载:www.sysinternals.com )
那对这种线程注入型的木马又怎么办呢?
幸好,线程注入型的木马也需要有一个注入程序来配合,我们找出线程很难,但找出他的注入程序就好办多了。
现在,无论你是否找到了可疑的模块或线程,我们都要开始下一步的检查,启动项检查!
第三章 自启动项篇
自启动项是什么?自启动项,就是程序在系统的某处进行登记之后,每次开机系统会自动将程序运行,而程序登记的项,就叫做自启动项。
木马都不会甘心只运行一次就结束的,它若想在你的电脑中安家,就肯定要每次开机都运行起来,这样,才能达到自我保护、且正常进行木马工作的目的。
一般的木马都会有一处或多处自启动项,这也成了查找木马时必查的一步。(这只说的是一般的木马,当然就还有二般的不需要自启动项的木马,这个我们放在后面说)
查找木马的自启动项,很关键也很重要,相对的对工具的要求也很高。
系统中到底有多少处地方可以让程序自动运行呢?汗~~偶也不知道,偶只能说N多~~所以,要找个查的全的工具来检查,且要找好几个来检查,这样结合起来,应该就够全了。任何一个也不敢说它能把系统中所有的启动位置全列出来。所以,对启动项检查工具的第一要求是要够全!
只全就够了么?当然还不够,还有一点跟上面相同,也要能进行数字签名验证的,免得它起个系统文件的名字蒙混过去。
还有就是要能够检测隐藏的启动项,同样的,我们先了解木马隐藏启动项用到的技术:
0、木马没隐藏,只是找了个隐蔽的位置而已,这就要看所用的工具程序枚举的项够不够全了。
1、木马隐藏在应用层次,HOOK了WinAPI中的相关注册表枚举函数,这样的马儿很容易检测,任何一个驱动级别的检测程序都可以胜任。
2、木马隐藏在内核层,HOOK了SSDT,这样的马儿,一般的就不行了,得找能恢复SSDT的专业检测程序。
3、木马隐藏在内核层且很无耻,INLINE-HOOK了相关服务函数,这样的马儿绝大多数检程序就都不行了,需要找能恢复INLINE-HOOK的程序。
4、木马隐藏在最底层,通过查找特征码的方法INLINE-HOOK了微软未公开的底层函数如Cm*系列的函数,嘿,已经很难再比它更底层了,这样的马儿只有采用HIVE文件扫描方式的检测程序或专门恢复底层INLINE-HOOK的工具才能找到它。
这四种隐藏方式都是已经有流氓软件或木马使用先例的~,所以不要报有侥幸心理,认为木马不会采用这种高级的技术,所以,检查启动项最好是多用几个工具配合起来检查,功能强的通常不够全,嘿,可能高手都比较懒吧~
OK,我们开始检查吧~ 先把HOOK、INLINE-HOOK都恢复了,再运行工具开始检查,还记得我们前面找到的可疑模块与可疑进程么,这时就用到了,把找出来的启动项与那些对比一下儿,看看是不是有它们的启动项在里面。
有?OK,备份注册表,然后删除启动项。删除不掉?是不是忘记恢复HOOK了?恢复了,那打开注册表编辑器,看看你有没有权限删除这个键,在欲删除的键上面按右键,选权限,再选“完全控制”就可以删除了,呵呵,这只是它玩的一个小障眼法儿。
删除后,又有了?这也没关系,这时你有两个选择,一是先结束掉它的进程,卸载掉它的模块,以使它失去重写的能力。二是,开启“系统锁定”功能,把系统临时锁起来,不允许任何程序对注册表进行写入。这时再删除它就没问题了。
删除完成后,重启计算机。
不是记下了可疑的进程与模块了么?再检查一下子,看它们还在不在?不在了,恭喜,你完成了你的木马查杀工作。
还在?
呵呵,也不要怕,如果还在,证明你并没有真正的完全清除掉它的启动项;可能原因是:
1、这只木马还采取了触发式的启动机制。
2、它还有其它的保护机制,比如影子程序或驱动;
接下来让我们继续解剖触发式启动的木马~~
第四章 触发式木马
上面我说了一般木马的查杀方法,通过上面的查杀,大多数木马都可以清掉了。(上次忘记写了,重启后,如木马已经不能启动了,接下来当然就是把记下来的木马文件全部删掉了)
接着我来说一说触发式木马,什么叫触发式木马呢?触发式木马是当您进行某一操作时会触发木马的启动机制,使得木马启动,如果你永远不进行这一操作,而木马则永远不会启动。一般的木马都是主动启动并运行的,而安全检查工具与杀毒软件检查的也大多是主动启动式的木马,比如对自启动项进行检查,查的就是开机后自动主动运行的。只对少数的常见的可以触发木马启动的项进行检查,而触发木马启动的地方操作却很多,这就是这种木马很难杀干净的原因。
其表现为,清除后的当时系统很正常,当时检查机器也很干净,但用不了多长时间,木马又死灰复燃,再度出现。
现在我们开始实际动手查杀这些难缠的家伙们!
需要说明的是,这里为了讲起来有条理,清楚易懂,所以是分开来讲的,实际查杀起来,当然是可以一起来做的。(检查进程、启动项时,就可顺手检查下面的这些)
最常见的也是我们首先要检查的当然就是Autorun.inf了,这是个什么东西呢?这是一个配置文件,看名字,翻译过来不就是“自动运行”么,是的,这个正常用途是用于光盘的自动播放,就是将光盘插入光驱后,系统会自动运行Autorun.inf里面指定的程序。
后来被一些人用于了硬盘,当将这个文件放在硬盘分区的根目录下时,在盘符上点右键,会发现默认的操作就是“自动播放”而不是打开。这时,你双击某一盘符时,就不再是打开并浏览文件夹,而是直接运行指定的程序(还需要改注册表的某个地方,因与我们查杀无关就不说了,免得被坏人利用)。
你查杀木马病毒时如果采取的是暴力删除,那么,程序删除后,Autorun.inf这个文件却仍然还在,会出现后遗症,表现为无法双击打开磁盘。(顺便提一句,熊猫烧香采用的就是这种触发方式与自启动项相结合的)
由于,你双击磁盘会触发木马的启动,所以查杀时,要右键单击,再选择“打开”或用“资源管理器”来查看,找到后删除此文件。
通常此文件会以隐藏文件的形式出现,更有些恶毒的会加上“注册表监控并回写”来为文件隐藏护航,你一旦更改系统为“显示所有文件”,它马上会再次改为“不显示隐藏文件”,如何破除这种注册表回写保护,上面的贴子里写过方法了,这里不再重复。
另一种触发方式是修改文件关联,什么叫文件关联呢?文件关联就是某一类型的文件与某一程序的对应关系,要知道,我们的系统中有无数种文件格式,比如:文件(以.bmp .jpg .gif等为扩展名)、音乐文件(mp3 mp4等)......当你双击一个时,系统会调用看图程序来打开并显示,而不是调用播放器来播放,系统为什么会知道要调用看图程序而不是调用播放器呢?这就是因为文件关联的存在,在注册表中,文件已经与看图程序关联在了一起,相应的,音乐文件与播放器关联在了一起,大多数类型的文件都与某一特定程序有关联。这样,系统才知道,打开什么样的文件需要调用什么程序。
聪明的您已经知道木马是如何利用文件关联来触发了吧?是的,狡猾的木马就是把某一特定类型文件的关联改为了与它自己关联,这时你一旦打开这一类型的文件就会触发木马的启动。由于木马启动后,会由它再调用正常的关联程序,所以,文件仍然会正常打开,而你也就不知道其实你的操作已经将木马启动了起来。
木马会改哪种文件的关联呢?咳,这我哪知道呢,这只有上帝与木马的作者才知道。
系统中又有多少文件关联可供它改呢?你打开注册表编辑器看看第一大项下面的子项就知道有多少了,怎么也上千个吧。
如何查杀呢?
一般的木马会改一些你会经常用到的文件的关联,比如:文本文件、程序文件、网页文件等。而网上有很多恢复文件关联的程序或注册表导出文件都可以恢复这些常见的文件关联。
但这样检查显然是远远不够的,如果你是木马的作者,你知道这些常见的文件关联会被检查并恢复,你还会改这些么?就不会了吧,因为可供你选择的太多了。比如:选择修改.rar文件的关联,这是类文件是压缩文件,网上提供下载的程序有很多是以这类文件格式存在的,所以一般上网的网民打开压缩文件的机率会非常高,而恢复这一文件关联的程序几乎没有,因为恢复后的直接结果就是压缩文件打不开了,因为恢复程序的作者不是神仙,他不知道你用的是哪个压缩软件,你的压缩软件又安装在了哪里,所以,他不会给你恢复这个的。
这样,只要你打开压缩文件,就会触发木马,如果这个木马的关联文件是一个影子程序的话,那由于影子程序都不具备病毒特征,所以全盘文件扫描也不会将它找出来,你找到并清除的都是这个程序的释放体,而源头还在,从此,木马将成为你挥之不去的恶梦~(关于影子程序我们下一次细讲)
文件关联如何检查呢?两种方法,一种是通过监控得到哪个文件关联被修改的,然后再改回去。第二种是用专业软件,对所有文件关联进行扫描。
如何通过监控得到文件关联是否正确呢?
首先,找个进线程监控的工具程序,打开“进线程监控”,然后不断的打开你常用的各种文件,并检查,打开文件时程序的运行情况,比如:你找开了个.rar文件,进程监视中应该显示,“WinRAR.exe由Explorer.exe启动运行”,那是正常的。如果显示的是其它程序由Explorer.exe运行,而WinRAR.exe又是由那个其它程序来启动的,那就是被改了。当然,你也可以打开注册表查看每个文件关联,是否是正常的。
第二种方法是用专业软件来扫描,把系统文件过滤掉,那剩下的非系统的文件关联就很少了,稍加判断结果就出来了,很简单,就不多讲了,看看下面的图就明白了。
找到后怎么办呢?
不要只是清除,清除后还要找个正常的机器导出一份正常的,或把你删除的文件关联告诉朋友,让朋友自他的机器上导出一份正常的,然后在自己机器上导入一下子就可以了。
如果是非系统的文件关联,比如:.rar压缩文件,那就直接删除了,然后再次找开.rar时,会提示你选择打开此种类型文件的程序,这时选择WinRar.exe,然后勾选上总是用这种程序来打开此类型文件就可以了。
或者用其它方法.....嘿,其实只要发现了木马,其它的就好办了~~
另外,需要注意的是,还有些触发并不是很明显的文件操作,比如当你打开的网站时,可能要解释执行脚本语言,而用什么来解释执行呢?系统也是在注册表中寻找相应程序的,比如:VBS、JScript等键,基本都在HKEY_CLASSES_ROOT主键下。
像卡巴、金山等杀毒程序会用自己的DLL在这几个键下注册,以便执行脚本语言时先行检查这些脚本语言是否具有病毒特征,但木马同样也会利用这几个键,让你一打开网站就执行木马。
好了,我们下面接着说一说影子程序(驱动)吧~因为它们经常与这些触发式的启动机制合作,之所以它们总是合作,因为触发式的可以躲过对启动项、进程、模块的检查,而影子程序却可以躲过杀毒软件的文件扫描。他们是如何紧密合作来躲过我们检查的,让我们下次再说~~~ ^-^
第五章 影子程序(驱动)
什么是影子程序呢?影子大家都了解吧~~即然有影子当然也要有本体了,影子只是为了本体的存在而存在的,其它的工作一概不做。而影子程序呢?也就是为了木马程序的存在而存在的,其本身并不从事任何木马工作。
木马为什么要搞一个影子程序或影子驱动呢?目的只有一个“保护主木马程序不被清除。”
影子是如何来保护主木马程序的呢?了解这个之前,我们先要了解一下杀毒软件是如何杀毒的。
了解了杀毒软件是如何杀毒之后,再谈影子如何逃过杀毒软件的查杀,就容易理解了。
大多数杀毒软件都是依赖病毒特征码杀毒的,所以都附带了一个病毒库,我们平时升级其实大多数是在升级病毒库,病毒库中存储了病毒的特征码,就像病毒档案一样(身高、体重、三围、五官等..... ^-^ 差不多类似啦)如果一个程序与病毒库中的某种病毒特征相吻合,就会被认为是某种病毒而被查杀。病毒特征是如何来的呢?就是病毒分析师对病毒进行分析后提取出来的,所以这种查杀方式查杀的都是有案底的,也就是以前犯过案的,被人留了底,再出来就是过街老鼠,人人喊打了。
这种按特征查杀,属于硬特征,只要符合就OK了~~虽然有误杀,但相对很少,毕竟完全相同的并不多。其查杀的准确与否,误杀率是否高,很大程度依赖于病毒分析师的提取水平。呵呵,偶们就见过某知名公司把一个驱动框架硬是报为ROOTKIT木马的,显然其特征码存在严重问题。
还有一种是所谓的主动防卸型的,在比照特征码的同时,还分析病毒木马的行为特征,一个程序的行为符合特定行为的数量多到一定数值,就为被认为是病毒,当然了, 这种误报率也相应的增加了很多。这种查杀,没案底也可以,就像你以前虽然没有犯过事儿,也没留案底,但你提着刀追着人家猛砍,当然也会被逮住的,因为你的行为符合了病毒的行为特征。
当前病毒的流行越来越大众化,想获取病毒源码也并不是什么难事,一些小屁孩也能抄一段来散发个病毒,但是却没有能力更改代码特征,使其躲过杀毒软件的查杀。
所以,一些人开始拼命的找新壳,来为病毒加不同的壳,但杀毒软件的脱壳技术也是越来越高了,想找到不被杀毒软件所脱的壳也困难起来了。
接着又有些人想出一些其它的方式来躲避杀毒软件的查杀。
影子程序就是其中的一种~~
病毒木马的主程序,因为要工作,所以一些特征是很难去掉的。但影子程序却不用去从事木马工作,所以它本质上就是一个正常的程序,不使用任何病毒技术,也不具备任何病毒特征,所以不会被杀毒软件查杀。
这就是病毒木马采取影子程序的目的,因为影子程序不具备病毒特征,可以躲过杀毒软件的全盘文件扫描。
那它又是如何来保护主程序的呢?一般它是把病毒主程序做为资源放到了自己里面,再保险点就对主程序压缩、加密后再以资源的形式放到自己的程序中。(资源就是一些数据啦~~比如,一个程序中用到的,就属于资源)而杀毒软件通常只是对代码进行检查,而不检查数据资源,其实查也查不出什么来~以纯数据形式存在的资源,有N种方法改变。
这样,影子程序通过资源存放的方式,解决了木马程序在电脑中的生存问题,为木马在您的电脑中留下了一个火种。
在木马病毒被清掉之后,影子程序一旦发现木马主程序不见了,就从自己的资源中重新释放一份。使木马病毒重新再生,使你杀不胜杀,直到杀得你心疲手软自己放弃为止。
影子程序又是如何发现木马主程序被清除的呢?
有两种途径,一是将自己也加在某一个启动位置上,每次开机自动启动,在启动后如果发现木马主程序已经不在,就释放一份,并将木马启动,接着自己就退出了。如果在,影子程序就直接退出了。
二是,利用触发机制等待,等你触发影子程序后,由影子程序去检查木马是否存在,如果不存在就释放并启动然后自己退出,如果在同样也就直接退出了。
由于,影子程序只是运行了那么零点零几秒而已~~所以你的进程检查对它没什么用处,因为它平时是不运行的~
对付影子程序,只能由启动项入手,而影子程序也注意到了这一点,所以很多就采取了触发机制,因此,我们检查时,也要注意检查触发式木马。
呵,结论出来了,各位朋友不要看到进程中的可疑进程就眼红红的冲过去狂杀一通~~杀进程、删除文件、卸模块只是治标不治本的做法~~什么事情都要寻根求源,进行“根治”~~否则,轻则病毒木马是杀不完去不净~~重则是系统被越杀越慢~~杀到最后,不得不重装系统完事儿~~~
用GHOST恢复也很快?呵,难道你不知道熊猫烧香会删除GHOST的备份文件么?熊猫能删除~~其它的当然也能删~~删个文件对它们来说绝不是什么难事儿~~
重装系统就安全么?也不见得~~在网上搜一下儿~看看网上提供下载的操作系统风险又有多大~很多木马是在做操作系统安装盘时就放进去了~~
放进去为什么查不到呢?
这就是另一个话题了~~文件修改替换型的木马~~很让人郁闷的一类木马~~下次再说吧~~
汗~~想起来就头大~
参照图:CNNIC的影子驱动,蓝色圈起来的是主驱动,红色的是影子驱动,影子驱动的名字是随机的,每次开机都不相同。
借这张图把上次有朋友问的清除CNNIC的剩余问题给解答一下子:
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root键下还有与驱动服务相匹配的一些键,如果用其它的清除工具,记得也要清了。如果是用5.0.0.7就不用了,清除驱动项时会自动清理那个键的。(注意:5.0.0.6版没有相应功能,汗~可能自动检测影子驱动的功能也没有~~手工删除或找别的工具用吧,实在不行就等5.0.0.7出试用版吧~)
清的时候清干净喽~~否则~~嘿~~死恢复燃就是说这个的~~
CNNIC还有关机通知的功能~~别忘记了~~不然即使清干净了,关机时它就又写回去了~~
什么?不知道怎么对付~~汗~~~这个偶暂时也没找到合适的工具,虽然写程序对付最简单,但没有通用性,不值得为这一个家伙写个程序。
暂时有两个方法可以解决:
一个是笨办法。关机时不是由系统通知它的么?偶们就连系统也不通知不就完了,直接按RESET键冷启动机器就OK了~~ -_-!
二个是先恢复FSD的HOOK与INLINE-HOOK,然后把相关的程序文件、驱动文件、DLL文件全删除了,然后重启,再删一遍启动项,也就OK了~(注意,锁定系统好像对CNNIC也不大好用的说~郁闷~)
另外,惯于用AutoRuns.exe的朋友注意了,我用的AutoRuns.exe是8.版的查不出来CNNIC的驱动启动项~如果查杀CNNIC就先换一个用吧~