杜强 文博
摘 要:文章阐述了键盘木马的特点、作用及其工作原理,并以VBS键盘记录木马为例介绍了键盘木马从移植、监听到邮件通讯的整个过程,最后总结出防御键盘木马的主要策略和方法。
关键词:木马;键盘木马;木马防御;木马原理;木马监听
中图分类号:TP393 文献标识码:A 文章编号:1006-8937(2015)02-0077-02
1 键盘记录木马介绍
所谓键盘木马,就是键盘记录木马,就是通过记录键盘的击键记录,来盗取帐号密码的一种盗号型木马,这种木马通常用于盗取网银,网游,QQ密码等。这种木马一般通过通讯工具、Ffp、网络下载、U盘等工具极其隐蔽的植入用户的电脑,一般情况下,防火墙不会拦截,甚至有些木马和键盘记录程序可以通过加壳绕过防火墙,同时也避免了被杀毒软件查杀。
2 键盘记录木马工作原理
一般键盘记录木马有三个模块组成:主模块,钩子过程模块以及FTP模块。
以键盘记录员为例:木马在系统中释放完文件后,首先会修改SSDT(系统服务调度表),从而接触各种具有主动防御功能的杀毒软件的武装。然后,它修改注册表中的相关数据,把木马文件属性设置为“系统”、“隐藏”和“只读”,并将显示模式锁定为隐藏,让用户无法发现木马文件。接下来,木马启动监视程序,监视用户的鼠标、键盘操作,从而记录下用户操作电脑时输入的各种信息。并每隔一段时间,就将这些偷到的信息加密,以邮件的形式通过SMTP通信协议和网页收信空间发送给木马作者。由于是采取完整的键盘记录,用户在中毒电脑上输入的所有信息都会被木马作者所掌握。他只需经过简单的分析和筛选,便可从中找到用户输入的各种帐号和密码,甚至可以掌握用户的个人隐私。
3 典型算法分析-以VBS键盘记录木马为例
木马程序的三大功能:隐藏、监视与通信。
3.1 进程的隐藏
对于实现进程的隐藏可以做的很低级,比如,VBS最大的特点就是运行时没有任何的可见性元素,当然,这是在你没有任何的输出提示对话框出现的情况下。也可做得非常高级,比如,进程隐藏,免杀等技术的运用,如果将VBS嵌入到网页文件中一般的防火墙简直无法察觉。
3.2 键盘输入监视
要实现对整个系统中所有进程的键盘输入的监视,最常用的手法就是做一个全局的键盘钩子,而要实现全局的键盘钩子必须要用到Win32API中的Hook函数。
通过下面这段代码就可以获取键盘的输入按键:
Do
If Not IsTheWindowActive()Then Exit Do
Dim TheKey
TheKey=""
TheKey=GetThePressKey()
TheKeyResult=TheKeyResult & TheKey
WScript.Sleep 20
Loop Until TheKey="[ENTER]"
3.3 通 讯
将键盘获取的按键信息自动发送给指定邮箱。核心代码如下:
Function SendEmail(SenderAddress,SenderPassword,Send-
eeAddress,BackupAddress)
With objEmail.Configuration..Item(MS_Space)=2'发信端口
.Item(MS_Space & "smtpserverport")=25'SMTP服务器端口
.Item(MS_Space & "sendusername")=strSenderID(0)'寄件人邮箱账户名
.Item(MS_Space & "sendpassword")=SenderPassword'帐户名密码
End With objEmail.Send发送邮件
End Function
4 键盘记录木马的防御方法
我们分析了键盘记录木马的工作过程,就可以针对性地对它进行防御。
4.1 被告动防御
首先,截断传染源,作为普通用户,杀毒防护软件是必不可少的。在用户首次安装完系统之后、首次联网之前就应该将杀毒防护软件安装好,记得开启防护监控。
其次,浏览网页或者下载软件时要特别谨慎,往往木马就是捆绑在不亮网页和不明程序上的。所以,用户应该做到不浏览不健康不正规的网站,尤其不能點击网站上浮动的色情广告。
再次,常用软件要到正规下载站去下载安装。用户使用电脑方面也要注意,在插入陌生的U盘时应该先对U盘进行木马查杀。打开优盘最好不用双击方式,因为双击打开盘符会触发Autorun启发方式的木马。
4.2 主动防御
方法一:禁止自动启动,用户可以从木马的自动启动特性着手,木马自动运行有以下几种途径:在Win.ini中启动、在System.ini中启动、利用注册表加载运行、在Autoexec.bat和Config.sys中加载运行、在Winstart.bat中启动、绑定文件启动,我们只要禁用这些启动项就可以了。启动项的主键都存在于注册表的以下路径:
①KEY_CURRENT_USER\Software\Microsoft\Windows\Cu-
rrentVersion下的run主键
②KEY_LOCAL_MACHINE\Software\Microsoft\Windows\Cu-
rrentVersion下的五个主键:Run,RunOnce.RunOnceEx,RunSer-
vices和RunServicesOnce。
既然知道了开机启动项在注册表的位置,那么用户就应该经常打开注册表去检查一下启动项是否正常。打开注册表的方法很简单“开始”——“运行”——输入“regedit”,然后依次按照上面的路径依次展开找到相关主键查看是否有异常的启动项。另外,用户还可以利用运行MSCONFIG的方法进行启动项的查看。
方法二:多用软键盘最后,针对木马木马记录键盘的特征,对于非常重要的账号密码,如网上银行、阿里旺旺、股票账号等,建议使用软键盘输入账号密码,虽然麻烦但是很安全,并不是每个木马都可以解毒的。
5 结 语
虽然网络时代病毒木马横行,但并非不可以防御。只要我们了解其工作原理,针对性的制定策略进行防御,就可以很好的保护电脑和信息的安全。
参考文献:
[1] 李辉.黑客攻防与计算机病毒分析[M].北京:电子信息技术出版社,2012.
[2] 程秉辉.木马防护全攻略[M].北京:科学出版社,2010.
[3] 邓吉.黑客攻防实战入门(第2版)[M].北京:电子工业出版社,2011.