木马全攻略
相关参考文章:1.病毒与木马的防范
一、病毒
由于网络是一个开放的环境,因此网上用户受到恶意的程序的威胁要比普通用户大一些,其中主要的是病毒和特络绎木马程序。当然对中国的用户来说,主要的威胁 似乎仍然来自光盘或者磁盘这样的传统介质,可以作为以上观点重要佐证的就是:以光盘为主要传播手段的CIH病毒给国内造成了巨大损失,而以邮件附件传播的 melissa病毒则在国内没有掀起什么波澜。
我一向认为,对普通用户来说,除了了解病毒的一些知识,破除病毒的神秘感,增强保护意识之外,更重要的是要选择一套可靠的杀毒软件,但关于杀毒软件的优劣是一个非常敏感的问题。我认为,一个合格95/98平台的杀毒软件至少实现以下特点:
1、 软件结构合理,采用反病毒引擎/反病毒库分离的结构,具有成熟的虚拟机和启发式扫描引擎的机制。
2、 合理嵌入95/98内核,兼容性好,占用系统资源低,有在线防御能力,能监控用户的多项操作。
3、 对病毒处理安全可靠,没有造成文件损坏、数据和分区丢失的安全隐患。
4、 出品公司有覆盖面广泛的反病毒网络,或者与其他反病毒公司形成有效的标本共享机制,对新病毒反应时间短,可处理病毒总数至少在15000以上。
5、 能查解各种常见压缩包,能一定程度上抵御恶意active X和JAVA小程序。
6、 完善的数据保护机制,可以备份重要信息到应急盘。
7、 有完整的帮助机制和详细的病毒库资料,提示信息准确。
8、 有完善的升级机制,支持自动网上升级、下载升级等方式。… …等等,难以一一列举。
这些都是先进反病毒产品的有效特征,国外这样产品的代表是AVP、NAV、MCAFEE SCAN等等,国内的AV98和金辰与美国CA公司联合推出的KILL98、趋势与乐亿阳发布的PC-CILLIN也是非常不错的。另外,金山公司的金山 毒霸目前还没有正式上市,如果这个程序能进一步提高运行效率和稳定性,也将是一个不错的产品。
WIN9X用户对于病毒防御必须有一些观念的变革,第一是为了杀毒而杀毒:我再次重申一个观点,杀毒的目的是保证用户数据安全和正常使用,如果某个杀毒软 件解毒后的情况比杀毒前更坏,造成文件损坏、分区丢失、系统无法正常启动等情况,这决不是病毒造成的,而是杀毒软件的质量造成的。不能保证用户数据安全的 的杀毒软件是没有意义的。如果你的杀毒软件是可以信赖的,一般的来说,你也无须想到从新格式化硬盘。顺便说一下,我特别反对低格硬盘,杀除任何病毒都无须 低格,低格是损害硬盘寿命的,这两点都已经是技术定论,。如果你认为系统必须重灌的话,用干净引导盘启动,用fdisk/mbr可以清除主引导扇的病毒, 然后重新format就可以保证没有病毒的存在。
第二个必须更新的观念是反病毒就个从DOS软盘启动,运行一个or DOS的程序;不在DOS下启动病毒杀不干净等等。我认为,一好的具备实时检测能力的软件加上用户的按时升级足够满足9X用的需要,一般的来说用户根本没 有必要从软盘启动杀毒,9X下杀软件可以让你高枕无忧。开机对引导区、自动批处理和注册表的检,在9X环境下的内存解毒、引导区病毒的清除、系统独占访问 的毒文件的解毒,比较出色的for 9X的反病毒产品都有一些自己的理思路,不是非要用DOS下的杀毒软件不可。重要的是,一个好杀毒软件的在线检查机制,基本可以保证你不被病毒感染。9X 环 境下病毒能否杀干净的问题也就无从谈起。因此,我特别建议你,要分利用你手中反病毒产品的在线功能,一般的来说,你只需要他在台运行就可以了,你需要做的 是定期升级你的程序就可以了,你可并没有必要经常扫描你的驱动器,比如你要从光盘安装某软件,你扫描再安装和你在在线监控下安装并安全系数实际并没有区 别。特注意,不要关闭你的反病毒产品的在线检查功能,如果你觉得开放个功能占用系统负荷比较严重,甚至死机频频,那就说明你选择的种杀毒软件设计有缺陷, 技术不成熟,你应当更换他。同时我建议把,CMOS SETUP的启动顺序设定为C ONLY,禁止机器A盘启动有效的防御引导型病毒。
关于反病毒方面的误区实在很多,这里难以说的很清楚,我今后会进一步撰文继续澄清。
二、特络绎木马
除了病毒之外,网上用户特别需要小心的就是特络绎木马,大多木马程序,都是一个执行文件,当被用户执行后,会带来一些恶性后果。比如我收到的一个求救 MAIL是这样的,某个网友在3月5收到一个名为leifeng.exe的程序(真实卑劣之极),他就运行了,果死机,而后软盘硬盘都不能启动了,其实, 这个木马程序就是利 用高版本DOS启动中要读取分区信息的特性,制造分区表循环,使
系统在启动过程中死机。除了这种直接破坏性的木马程序外,有很多木马程序是隐藏在你机器中,使你的机器可以被他人远程控制。 这种远程控制程序可以被称为后门工具,它一般都采用SERVER/CLIENT的模式,SERVER端在你机器上运行,因此大家不必害怕,一般的说,如果 你没有开放可以写的共享目录,它不会自己跑到你的机器上,同时如果不运行它的SERVER端,对方也无法控
制你。即使你的机器已经在它控制之下,但是你还是能发现一些蛛丝马迹,首先,既然要控制你的机器,一般要能够伴随开机运行。主要实现的方式有在 WIN.INI的load和run选项中加载,在启动组中加载,和在注册表HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion项下五个RUN开头的项目中加载,都可以起到开机运行的作用。正常情况下,在95/98系统的 win.ini的load
选项不应该有任何东西,而注册表上述选项下可能有一些需要开机运行的程序和系统一些进程,比如intenent、systray、taskmon、以及用 户安全的在线查毒工具、系统在线维护和优化工具等,也会在此处。当然,用自身替代这些程序运行,自己加载完毕后再把正常程序运行,或者干脆如病毒般的附身 在某个系统的驱动或者应用程序上,更为隐蔽,后门工具的编制者们决不会想不到,但很少有人采用,我认为这其实更出于某种黑客式的道德因素。 Autoexe.bat下的东东当然也会随开机运行,但目前还没有关于加载到atuoexec.bat中的后门工具的报道,因为先于9X系统的驱动和 GUI进入系统,毕竟做起来不舒服。你可以对这几处加以检查,win.ini可以用任何编辑器查看,检查注册表可以在运行中执行regedit,查看上面 提到的位置,如果你对此不是很了解,对98系统你可以通过MSCONFIG命令加以检查,这个工具显示你的常规信息和config.sys、 atuoexec.bat、win.ini、system.ini和开机启动选项。其次,既然也是一个程序,就要作为一个进程存在,这意味着你可以用进程 查看工具发现它的存在,有的你甚至用ctrl+alt+del激活的窗口中就能发现。最后,既然是要与你进行通讯就一定要有一定的通讯方式,通讯时要开放 一些port。你可以用netstat -an命令进行观察,这个命令可以查看你当前所有的网络连接和开放端口,包括WWW、FTP、telnet等等,当然也可能发现后门工具的存在。因为一般 的说,一个后门工具要通过TCP或者UDP的方式借助一个或多个PORT同clent端连接,因此,如果通讯正在进行,你一般还可以在Foreign Address处看到入侵者的IP。当然,这项操作最好是你断开其他网络连接后,因为从一堆连接中猜测哪个可能是可疑的也不见得很方便,最好是你对一些常 见黑客工具的PORT有所警惕,比如netbus,它的port是12345,如果你用netstat -an 发现其中包含如下信息。
C:\>netstat -an
Active Connections
Proto Local Address Foreign Address State
… … …
TCP 0.0.0.0:12345 0.0.0.0:0 LISTENING
TCP 0.0.0.0:12346 0.0.0.0:0 LISTENING
… … …
则说明你的机器已经运行了netbus的server端,但目前没有人遥控你的机器,如果netbus连接对应的Foreign Address处有一个地址,那么这个IP就是控制你的人的地址。其实我倾向于普通用户借助工具,来检查处理感染后门程序,但就我用十一种比较常见的木马 程序对常见杀毒软件进行测试,发现没有一种可以全部发现,他们的表现甚至不如共享的专门清除后门工具的共享软件,因此还有必要介绍几种共享、清除实例和一 些常见的后门工具,加强用户的自救意识。
LOCKDOWN:LOCKDOWN是一个个人防火墙性质的软件,他会以在线方式,监控你的网络连接,记录访问和入侵者的IP、主机名等信息,也可以清除BO、NETBUS等木马程序。
CLEANER:这是一个专门用来清除黑客程序的工具,据说能清除上千种木马,只能静态扫描。
SUDO99:搜毒99是由上海程序员陶辰制作的一个很出色的共享杀毒软件,特别一提的是其在清除BO时,会全面告知你Boserver端的设定信息,如端口、密码等等。
下面举一个发现清除特络绎木马的例子,为了给大家一个新鲜感,我举一个不太常见的木马happypig,它的标本是的站长小鲤提供给本人的。假定,我误运 行了happypig.exe,此时屏幕出现了一只小猪,这时怎么办,是不是欣赏一下。我给网友最根本的忠告是,对网上的外来程序(也包括.doc、. exl),即使通过了你反病毒软件的检查也不要运行。如果一旦误运行了,要果断处理,比如发现运行后硬盘狂转,有可能是该程序开始破坏你的硬盘,你要马上 关机,可能还有的补救。如果运行后毫无反映、或程序自身消失、或屏幕上出现一些好看的信息,这可能是某个黑客工具,你需要做的应该是马上断线,进行检查。 好了,我看到屏幕的小猪,马上断线。用NETSTART命令检查一下,发现开放着一个44445端口,检查autoexec.bat和win.ini都没 发现什么,注册表呢?也没看见什么呀。仔细看看HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsCurrentVersio
n\下,哦? Run下有个systray, RunServices下怎么还有一个,原来RunServices下的那个是happypig添加的主键,对应的程序名称是5ystray.exe,真 狡猾,因为从注册表的字体看起来,5和S非常相象。好了,把这个主键删除,此时系统目录下的5ystray.exe因被系统占用,删除不掉,须重新启动, 这是又发生问题,老说因进程无法终止不能关机,按crtl+alt+del一下,果然有个进程叫5ystray,把他结束任务就可以了。重启动后,把对应 程序删除就可以了。
以上举了一个分析清除后门工具的例子,还要再强调几点,第一、就是不要过分敏感、疑神疑鬼,比如一般情况下,比如只要你装了microsoft网络的文件 和打印机共享,你的139、138、137等端口就是开放的,并不是黑客工具开的。你的HKEY_LOCAL_MACHINE\SoftwareMicrosoft\Windows\CurrentVersion\RUNXX中,有很多的正常工具和进程,也不要乱改乱删。第二、就是要谨慎小心。不 能过分敏感当然也不能麻木,如果机器表现异常,是否中了后门工具的标,也是考虑因素之一。再次提醒的是千万不要运行一些来历不明的程序,即使来自熟人,比 如你的朋友的机器感染了HAPPY99,他向你发送邮件时,HAPPY99就会自己加在附件当中,而你的朋友一无所知。无论病毒还是后门,大家切记一个原 则是,与其感染了再杀,不如不感染,特别是你的机器一旦被他人侵入过,他就可能埋下一些新后门,使你防不胜防。
2.特洛依木馬防范八招
什么是特洛依木馬?特洛依木馬應該算是一種騙子程序,提供某些功能作為誘餌,背地里干一些鬼事…… 記得希臘神話中關于特洛依木馬的故事嗎?典故就是從那兒出的。中了木馬時有什么現象?很難說,因為它們發作時的情況多種多樣。
但是如果你的計算機有以下表現,就很可能染上黑客病毒了。
計算機有時死機,有時又重新啟動﹔在沒有執行什么操作的時候,卻在拼命讀寫硬盤﹔系統莫明其妙地對軟驅進行搜索﹔沒有運行大的程序,而系統的速度越來 越慢,系統資源占用很多﹔用CTRL+ALT+DEL調出任務表,發現有多個名字相同的程序在運行,而且可能會隨時間的增加而增多。(可是,有一些程序是 不會出現在這個列表里的。懂得編程的朋友應該知道這不難做到,借助PVIEW95就可以看到)。特別是在連入Internet網或是局域網后,如果你的機 器有這些現象,就應小心了,當然也有可能是一些其它的病毒在作怪。由于木馬程序的破壞通常需要里應外合,大多數的木馬不如病毒般可怕。即使運行了,也不一 定會對你的機器造成危害。不過,潛在的危害還是有的。比如,你的上網密碼有可能已經跑到別人的收件箱里了!
一般中了木馬程序最簡單的辦法就是用殺毒軟件清除,如金山毒霸等。如果對系統熟悉也可以手動清除,首先應該按照"Win9x下程序自啟動的方法"中所 述的情況檢查一下是否有可疑程序(最好的情況是你熟悉你的系統正常時的這些項,用系統自帶的regedit程序查看 /修改注冊表)。發現可疑程序將其連同該注冊表項一起刪除即可,重啟系統則木馬就已經被清除了。
這里也有几點需要說明:
1、如果木馬正在運行,則你無法刪除其程序,這時你可以重啟動到DOS方式然后將其刪除﹔
2、有的木馬會自動檢查其在注冊表中的自啟動項,如果你是在木馬處于活動時刪除該項的話它能自動恢復,這時你可以重啟到DOS下將其程序刪除后再進入Win9x下將其注冊表中的自啟動項刪除﹔
3、在做刪除操作和注冊表修改操作前一定要先備份。
如何防止再次中黑客程序呢?我得出一些防范后門的經驗:
一、永遠不要執行任何來歷不明的軟件或程序,除非自己的計算機水平確信到了百毒不侵的地步。謹慎對待就是下載后先用殺毒軟件檢查一遍,確定無害了再執 行 、使用。許多網友就是懶得進行這几秒種的檢查,才中木馬。輕則被侵入者刪了系統文件,重裝系統﹔重則數據全無,硬盤邏輯鎖!再不然,就是被人破譯上網帳 號,那就慘了!
二、永遠不要相信你的郵箱不會收到垃圾和"毒品",即使從沒露過面的郵箱或是isp郵箱,有些時候你永遠沒辦法知道別人如何得知你的mail地址的。
三、給朋友mail軟件時記得千萬要叮囑他記得先查毒,因為在自己的電腦上不發作的未必就沒有病毒。就如我的電腦上裝了病毒防火牆,所以我絕不保証我mail出的軟件有否病毒。
四、永遠不要因為對方是你的好朋友就輕易執行他發過來的軟件或程序,因為你不確信他是否也像我一樣裝上了病毒防火牆,也許你的朋友中了黑客程序還不知道,還以為是什么好東西寄來與你分享呢!同時,你也不能擔保是否有別人冒他的名給你發mail。
五、千萬不要隨便留下你的個人資料,因為你永遠不會知道是否有人會處心積慮收集起來。
六、千萬不要輕易相信網絡上認識的新朋友,因為"在網絡上,沒有人會知道你是一只狗!"(說笑的!^_^)但你卻不能保証,對方是否想利用你做實驗品。
七、永遠不要以為網絡上誰也不認識誰就出言不遜,這樣會不小心開罪某些高人到時找你開刀。
八、最后是永遠不要隨便說別人的壞話,正如永遠不要得罪女人一樣。^_^雖說網絡是虛幻的,但跟現實一樣會有爾虞我詐,還是小心為上。
3.揭开木马的神秘面纱
离冰河二的问世已经快一年了,大家对于木马这种远程控制软件也有了一定的认识,比如:他会改注册表,他会监听端口等等,和一年前几乎没有人懂得木马是什么 东西相比,这是一个质的飞跃。但是,在这个连“菜鸟”都会用NETSTAT看端口,用LOCKDOWN保护注册表的今天,难道木马就停步不前,等待我们的 “杀戮”么?回答显然是否定的。木马在这一年当中,同样也不断进步,不断发展,他们变得更加隐蔽,更加灵活。本文试图通过分析近一年以来木马软件的发展, 向大家介绍木马的最新攻防技巧,从而使大家能够更加安全地畅游在Internet上。(本文中默认的操作系统为Win2000,默认的编程环境是VC++ 6.0)
在过去的一年当中,出过很多有名的木马,SUB7,BO2000,冰河等等,他们都有几个共同的特点,比如:开TCP端口监听,写注册表等等,因此,针对 这些特点,也涌现出了不少查杀木马的工具,比如LockDown2000, Clean等,这些工具一般都是利用检查注册表和端口来寻找木马(也有利用特征码来查找的,那种原始的思路我们就不说了,谁都知道,只要源码稍微改改,特 征码查询就毫无用处)甚至还出了一些号称能防范未来多少年木马的软件。而在大家的不断宣传下,以下的木马法则已经妇孺皆知:
1、不要随便从不知名的网站上下载可执行文件,不要随便运行别人给的软件;
2、不要过于相信别人,不要随便打开邮件的附件;
3、经常检查自己的系统文件、注册表、端口、进程;
4、经常去查看最新的木马公告,更新自己防火墙的木马库;
这样看来,第一代木马的特性大家都已经耳熟能详,在这种情况下,作为一个地下工作者,木马的日子会非常难过。那么,木马就这样甘受屠戮,坐以待毙么?人类 就这样灭绝了木马这个种族么?不是!木马为了生存,也在不断进化,在我们放松警惕,庆祝胜利的时候,木马已经经历了几次质的突变,现在的木马比起他们的前 辈要更加隐蔽,更加巧妙,更难以发现,功能更强大。
一、关端口
祸从口出,同样,端口也是木马的最大漏洞,经过大家的不断宣传,现在连一个刚刚上网没有多久的“菜鸟”也知道用NETSTAT查看端口,木马的端口越做越 高,越做越象系统端口,被发现的概率却越来越大。但是端口是木马的生命之源,没有端口木马是无法和外界进行通讯的,更不要说进行远程控制了。为了解决这个 矛盾,木马们深入研究了Richard Stevens的TCP/IP协议详解,决定:放弃原来他们赖以生存的端口,转而进入地下。放弃了端口后木马怎么和控制端联络呢?对于这个问题,不同的木 马采用了不同的方法,大致分为以下两种方法:寄生、潜伏。
1、寄生就是找一个已经打开的端口,寄生其上,平时只是监听,遇到特殊的指令就进行解释执行;因为木马实际上是寄生在已有的系统服务之上的,因此,你在扫 描或查看系统端口的时候是没有任何异常的。据我所知,在98下进行这样的操作是比较简单的,但是对于Win2000 相对要麻烦得多。由于作者对这种技术没有很深的研究,在这里就不赘述了,感兴趣的朋友可以去http://www.ahjmw.gov.cn/cit/或者西祠胡同的WinSock版查看相关的资料。
2、潜伏是说使用IP协议族中的其它协议而非TCP/UDP来进行通讯,从而瞒过Netstat和端口扫描软件。一种比较常见的潜伏手段是使用ICMP协 议,ICMP(Internet控制报文)是IP协议的附属协议,它是由内核或进程直接处理而不需要通过端口,一个最常见的ICMP协议就是Ping,它 利用了ICMP的回显请求和回显应答报文。一个普通的ICMP木马会监听ICMP报文,当出现特殊的报文时(比如特殊大小的包、特殊的报文结构等)它会打 开TCP端口等待控制端的连接,这种木马在没有激活时是不可见的,但是一旦连接上了控制端就和普通木马一样,本地可以看到状态为Established的 链接(如果端口的最大连接数设为1,在远程使用Connect方法进行端口扫描还是没有办法发现的);而一个真正意义上的ICMP木马则会严格地使用 ICMP协议来进行数据和控制命令的传递(数据放在ICMP的报文中),在整个过程中,它都是不可见的。(除非使用嗅探软件分析网络流量)
3、除了寄生和潜伏之外,木马还有其他更好的方法进行隐藏,比如直接针对网卡或Modem进行底层的编程,这涉及到更高的编程技巧
全部文字转自:我心飞扬