终极反木马手段
本文摘要: 西宁威势电子信息技术服务有限责任公司 发布时间:2008-11-28 浏览次数:11187 tags:木马查杀 时下宽带的普及使网络生活越发多姿多彩。可是有的人不这么想,网上那些如如雨后春笋不断涌现的毁灭者们刚学会如何使用木马就大肆破坏,还自诩“黑客”,真是
西宁威势电子信息技术服务有限责任公司   发布时间:2008-11-28  浏览次数:11187  tags:木马查杀   时下宽带的普及使网络生活越发多姿多彩。可是有的人不这么想,网上那些如如雨后春笋不断涌现的毁灭者们刚学会如何使用木马就大肆破坏,还自诩“黑客”,真是玷污了黑客这个称号。古人云:知已知彼,方能百战百胜。今天我就要从一个木马软件开发者的角度,向你讲述目前流行的木马技术的原理。

大破冲霄楼,我们首先来分析木马采用的各项技术:
一.传播技术:
1.捆绑器
此方法已经逐渐淘汰,原理即是将木马和一个普通程序使用一个自释放文件头捆一起,然后骗对方执行,现在大部分的电脑杀毒软件都能查杀,要不是自己写的文件头,那肯定早已在电脑杀毒软件中的病毒定义库中了。
2.网页传播
发明此技术的人真是个天才兼恶魔。主要是利用了WSH角本的漏洞,将木马程序体存放在网页中的bmp文件体中,并且bmp文件头部是正常的,所以能够欺骗IE下载木马,然后网页中的角本执行本地机上的debug从网页临时文件夹夹的病毒图片中释放出来木马并运行。在网页中一般包含木马的bmp在网页中的显示大小都设置为0以逃避用户的怀疑。此方法仅对WIN9X有效,并且大部分的服务器防火墙已经可以有效地防止此类木马。
3.病毒
微软的几款基于NT内核的Windows平台继续展示出他那勇于暴露新漏洞的本质,众多的后门端口和溢出漏洞使网络蠕虫大兴其道,在这段时间,有部分拥有木马特征的蠕虫也在这段时间出现,比如红色代码等。Blaster(震波)的教训应该使盖子好好反省一下了。而微软的另一款主打产品OUTLOOK也因为MIME漏洞而使木马和病毒的感染近乎疯狂。

二.隐藏技术:
1.特殊符号文件夹名称
采用一些不可显示的ASC码作为文件夹名称,使用透明的图标作为程序图标,木马在一定程度上便隐藏了。预防此法只需将“文件夹名称选项”中的“隐藏已知文件的后缀名”的勾去掉就可以了。
2.代替系统DLL
木马DLL将函数输入表和输出表完全对应系统DLL,并加入了自己的后门代码,此法非常隐蔽,但技术标准较高并且可扩展性差,故没有得到广泛的发展
3.注册为过程中
用一个不常见的函数(此API函数在API电脑浏览器中是隐藏的)将木马程序本身注册为过程中,这样在WIN9x中便能逃过任务管理器器的法眼。对付这种方法的手段也颇多,比如使用“柳叶擦眼”等进程管理流程,而在NT内核的系统(如2k/XP)中更是直接可以在任务管理器器中杀掉进程。
4.线程插入
将木马作为线程插入一个合法程序的进程空间中,这个方法现在很流行,木马文件是一个DLL,而且使用普通进程查看工具看不见木马进程。不过利用一些好的进程查看工具还是可以从进程的详细线程中看出马脚的,不过查杀者必须具有相当的系统使用经验。
5.特殊设备名存储系统
在Win9x系统中普遍现象着诸如“con”“clock”等设备名漏洞,即使到了NT内核也只是将其屏蔽。国内某著名黑客组织在其组织内部发布了利用此漏洞将木马程序存放在特殊路径下并导致常规手段无法将其删除的技术。由于此技术不良影响极大,且目前仅为极个别人所掌握,本文不作详述。
6.磁盘扇区写入
不通过系统的系统文件存储,而是直接采用磁盘扇区写入的手段存放程序体,通过开机启动代码激活。这种木马的特点是不可查杀,功能单一,基本不针对普通用户。能熟练运用此项技术来操纵木马的,据我所知不过几人,凭他们的技术根本不屑于来侵入普通用户。

三.连接技术
1.C-S
此种接口方式是最普遍的,即Client-Server。其中又包含TCP和UDP两种方式,以TCP居多。他的原理极其简单,就是黑客将木马服务端安装在受害者的电脑,受害者连接上网后,黑客便能根据木马使用EMAIL或其他途径发送过来的IP地址来连接受害者的电脑。使用此方法的木马可以采用端口扫描等方式查获,并且由于现在内网宽带的发展及匿名邮件网络服务器的大量屏蔽而逐渐被HTTP反弹端口连接所取代。
2.HTTP反弹端口
此类木马是为了适应FTTB宽带的普及而发展起来的,由于现在有相当一部份的宽带上网用户是采用FTTB上网方式(光纤到楼),而FTTB的一个缺点就是没有公网IP(或许对于一些用户这是优点),即一个小区内的所有用户对外的IP地址是相同的,外界电脑不能直接通过IP地址对小区内的电脑进行访问。这也就造成了黑客使用的木马手机客户端无法连接到内网的受害客户服务端的情况。而HTTP反弹是指,黑客使用服务端在网络上监听,同时服务端自动将黑客当前的IP地址及服务端监听端口加密后以FTP方式传送到网站上,受害者电脑中的木马会自动从黑客原先设定的网站上下载黑客当前的IP地址文件并以此连接黑客的电脑。换句话说黑客的控制端是被动连接的,说穿了就是C-S型木马的接口方式相反。这种连接的优点是普通的网络服务器防火墙不查杀手机客户端向外的连接。
3.改进型C-S
受害者电脑的服务端采用HOOK(钧子)方式截取一个端口上所有的数据文件,如果数据文件的头部特征符合黑客自定的格式,就开放端口供黑客连接,否则一律拒绝。使用改进型CS连接可以免被扫描枪扫出开放端口,进一步增加了隐秘性。但缺点是一旦连接,还是容易被网络服务器防火墙发觉。

四.反查杀技术
1.杀服务器防火墙进程
木马运行后自动将目标机器上网络服务器防火墙的进程杀掉,保证连接不被中断。此项技术以木马“广外女生”为代表。广东外语外贸大学“广外女生”网络小组的Machine和Fox两位女黑客是中国黑客的骄傲,她们的“广外女生”是全球第一个具有反服务器防火墙能力的木马。在下编写的“冲出重围”木马保护软件也是参照了此技术,将不具备此功能的木马服务端加上一个具有反服务器防火墙能力的释放外壳,可惜由于我实在是懒,所以迟迟没有升级。

五.开机启动技术
1."WIN.INI"
在win.ini文件中,[WINDOWS]项下面,“run=”和“load=”行是Windows启动要自行加载运行的程序项目,一般情况下,它们的等号后面全都没有,如果发现后面跟有路径与文件夹名称不是熟悉的或以前没有见到过的启动文件项目,那么电子计算机就可能中了木马。
2."SYSTEM.INI"
在system.ini文件中,[BOOT]下面有个“shell=Explorer.exe”项。如果等号后面不仅是explorer.exe,而是“shell=Explorer.exe 程序名”,那么后面跟着的那个程序就是木马程序,需要注意的是木马的命名有很强的欺骗性。
3.注册表文件开机启动项
常见的注册表文件开机启动项有以下几条,这些主键下面的开机启动项目都能够成为木马的容身之处:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce
Windows NT下还应该检查:
HKEY_LOCAL_MACHINE\SOFTWARE\SAM
正常情况下SAM主键的下面应该是空的。
4.注册表文件文件关联
在注册表文件中将木马与TxtFile或ExeFile关联,这样打开这两种文件时便悄悄运行了木马。一般服务器防火墙在杀掉关联过的木马程序后会造成exe文件打不开,网上有详细的手动安全杀除此类木马的方法,在此不详述。
5.程序捆绑
有很多木马将自身和Explorer.exe捆绑在一起启动,增加了隐秘性。曾经的我写过一个QQ盗号程序是给QQ.exe加了个自释放壳,将木马进程作为QQ.exe的父进程,从而当运行QQ时,实际是由木马掌握启动权然后释放QQ重新启动,可谓QQ的一举一动都在木马父进程的掌控下。

六.IP通知技术
由于此类技术与用户防范无关,在此不作详述
1.HTTP反弹
2.Email
3.IRC
4.ICQ

七.其他技术
1.加壳保护
使用UPX或ASPACK对木马文件加壳或脱壳,可以欺骗大部分服务器防火墙。加壳已经是不新鲜的技术了,可是我很喜欢反其道而行之,在下曾经将国产木马“风雪”的服务端脱壳后成功骗过了当时各类主流服务器防火墙。
2.破解修改
使用反编译等方法修改部份木马服务端的文件特征,导致基于病毒库的服务器防火墙程序失效。根据我的经验,经过修改的木马文件用户是不太可能查出的,各位如果对此技术有兴趣可以联系我共同探讨。


木马终极查杀手段(此方法仅适用高级用户)
1.输入表查杀
使用VisualStudio中的DependencyWalker查看exe文件的函数输入表,如果发现普通不应该网络连接的程序中调用了WSOCK32.dll中的函数,那很有多是木马。另外,如果发现输入表中同时调用了KERNEL32.DLL的WaitForSingleObject、GetProcAddress、GetFileSize和几个进程、线程操作的API函数,则很有可能使用了捆绑器,这时,便应该采用下面将要介绍的方法。
2.二进制文件头查找
使用UltraEdit或VC等二进制编缉器打开怀疑经过捆绑处理的文件,然后查找MZ文件头,如果发现文件体中包含了其他exe文件的文件头,便可以基本确定此文件经过捆绑。不过有部份高级的捆绑器会将捆绑文件数据库存储,这时可以采用EXE头部偏移量换算的方法算出EXE文件的长度,然后与实际文件进行比较,如果不一致还可以进一步确定此文件经过捆绑。(关于EXE头部偏移量的换算请参考MSDN或是段钢的《加密与解密》)
3.运行监控(此方法仅适用木马学者,用户切勿尝试)
在内存中驻留磁盘监控及注册表文件监视程序,运行木马程序,然后从执行结果和木马特征进行比较。这种变态的查杀手段是我从安装包监控程序中得到的灵感。

用户防范木马的7条黄金守则:
1.不从小网站上下载软件
特别是那些域名中带有qq的小网站,大多都是以前QQ盗号猖獗的时候开办的非法QQ号码倒卖网站。那些网站上的号称可以盗取QQ号码的工具本身就是木马捆绑的。
2.经常更新反毒软件
虽然现在电脑杀毒软件的木马杀除功能实在不是太好,但查到有木马也是件好事,至少可以减少损失。此类软件最好用正版,因为有很多软件驻留内存时都在线检查版权信息,如发现是破解版下载便不能工作或是破坏系统。国内著名软件破解组织“白菜破解”的成员经过反编译发现,某个版本的“Windows优化大师”破解后会在90天后破坏使用人的系统,似乎想效仿江民当年在KV300中隐藏的磁盘逻缉炸弹。
3.不轻易接收网友发来的文件
QQ上对方发来的“我的照片.exe”、“好玩的游戏.exe”、“给你们个Flash”都是典型的木马,这些文件往往有十分漂亮的图标。曾经有个MM加我QQ,聊了几句便发了一个“我的照片.exe”给我,接收完以后我叫他仔细看一下我的QQ个人信息,然后把从这个木马文件中提取出的用来接收密码的Email地址发给他看。几秒后,他的头像便暗了,并且从那天起再也没亮过。
4.经常更新漏洞补丁
Windows系统的漏洞比Windows系统更有名,而且个个致命,所以打上补丁才是上策。
5.关闭多余的服务程序
Windows系统的默认是极不安全的,一台没有经过安全配置的Win2k机器在网络上真是典型的“肉鸡”,大量可供攻击的开放端口实在是令人担忧。真弄不懂微软为何把那些什么“Remote Registry Service”之类的危险服务作为默认打开……(网上有详细的配置指南,在此不作详述)
6.时常检查注册表文件中的开机启动项目
大部分木马的启动都在注册表文件中的开机启动项中,经常检查注册表文件是个良好的习惯。
7.使用服务器防火墙
网络服务器防火墙能及时切断黑客与本地机上木马的连接,并且现在很多服务器防火墙可以限制特定程序的数据连接。有一个方便的查看开放端口及连接情况的方法,在Win9x及NT下方法略有不同:
Win 9X下:
在Windows下运行“Command”,stat -a”
Win NT/2K/XP:
在Windows下运行“cmd”,stat -a”

至此,我已经把这么多年来的主流木马技术及相关查杀手段作了一个详细的阐述。相信如果您将我提供的终极查杀手段熟练运用后,必能将网上已经泛滥的所谓“黑客”斩于马下。 关闭本页 打印本页

相关内容