木马程序微课教学视频_木马程序微课

hacker|
174

木马是什麽?详细症状?解决方法?

目前国内木马病毒共分为五大类别,主要以网络为依托进行病毒传播,偷取用户隐私资料是其主要目的。这些木马病毒多具有引诱性与欺骗性,属于今年病毒新的危害趋势。

2004年中国地区危害最为严重的十种木马病毒数据来源于金山毒霸全球反病毒网络、和金山毒霸全国木马病毒情报站,以及毒霸运营部门和线上反病毒部门联合统计而来。统计时间从2003年12月份至2004年9月。

金山反病毒专家指出,随着家庭数字娱乐行业的迅速普及,宽带化小区、电信在数字通讯网络上建设力度进一步加大,人们的网络应用方向开始扩展;网络游戏、即时通讯聊天、宽带视频等进入寻常百姓家。与此同时,新型病毒开始通过各种网络渗透,呈现了新的传播方式和破坏方式。

电脑病毒频发的特征及原因

病毒分析数据显示,目前电脑病毒多以欺骗手段进行传播,比如MSN病毒,以“想看漂亮视频MM吗”等作为诱导,至使全国接近30万人中了MSN病毒。在十一国庆节前夕,图片病毒突然出现,也是打着美女、色情图片为旗号,造成了新一轮电脑安全隐患。

各种应用系统的漏洞也是造成病毒泛滥的主要原因之一。病毒通过个人电脑的操作系统漏洞进入用户计算机中。特别是今年危害严重的木马病毒,会随着电子邮件、即时通讯工具(MSN、QQ等)、网页浏览等方式感染用户电脑,而多数病毒都是利用了操作系统的漏洞。比如说,系统漏洞就像给了木马病毒一把钥匙,使它能够很轻易在电脑中埋伏下来,而木马病毒又会欺骗用户伪装成“好人”,达到其偷取隐私信息的险恶目的。

从金山反病毒中心三个季度累计数据分析来看,网络蠕虫病毒占了9个月来病毒总数的平均28%以上,而木马病毒占了57%,其它混合型病毒占了15%。总的来看,木马病毒增长非常之快。值得注意的是,混合型病毒给用户制造出了大麻烦。金山毒霸反病毒专家对于各种邮件当中隐藏的木马病毒表示出强烈担忧,因为电子邮件很轻易就会把木马病毒传送到世界上任何一个地方。嵌入式网页木马病毒也成为一种快速的传播渠道,病毒制造者通过诱使用户点击网页链接传播病毒,往往体现在比如邮件、即时通讯消息栏内出现,“这里的美女真多”、“快来看看呀,她(他)已等你很久了…..”再加上一段链接地址。用户如果点击就很可能会中病毒。

相关数据显示,目前木马病毒数量增长非常快,反病毒专家表示现阶段的重点工作是防止木马病毒所造成的社会负面影响。因为,木马病毒有可能洗劫用户网上银行存款、造成网络游戏玩家装备丢失、被黑客利用执行不法行为等。如今,针对以上各种现象的危害越来越多,木马病毒已成为威胁数字娱乐的大敌。

根据木马病毒的特点与其危害范围,木马病毒又分为以下五大类别:针对网游的木马病毒、针对网上银行的木马病毒、针对即时通讯工具的木马病毒、给计算机开后门的木马病毒、推广广告的木马病毒。

一、网游木马病毒:2004年,大量针对网络游戏的木马病毒涌现,主要原因是网络游戏产业超高速发展,网上虚拟装备交易非常火爆!然而,一些别有用心的病毒者开始把目光盯在这一安全性比较薄弱的环节,用户如果中了针对网络游戏的木马病毒,它会盗取用户帐号后,并立即将帐号中的游戏装备转移,再由木马病毒使用者卖出这些盗取的游戏装备而获利。如今,甚至有不怀好意者,干脆以制作木马为职业。

二、网银木马病毒:网银木马专门针对网络银行攻击,采用记录键盘和系统动作的方法盗取网银的帐号和密码,并发送到作者指定的邮件,直接导致用户的经济损失。目前通过网络银行的犯罪行为已经开始出现,今年某一大学生利用网络偷取到网络银行用户60多万人民币,还试图用钱贿赂办案警察,但是其最终受到了法律的严惩。

三、即时通讯木马病毒:可以利用即时通讯工具(比如:QQ、MSN)进行传播。中毒后,可能导致用户的经济损失。中了木马后电脑会下载病毒作者指的任意程序,其危害不可确定。会造成恶作剧,比如“MSN我要结婚”病毒,中毒者会向联系人发送“我今天要结婚”的恶作剧消息。

四、后门木马病毒: 在网络中被恶意者大量传播。病毒本身不具有传播的功能,都是被恶意者种植。该木马病毒采用反弹端口技术绕过防火墙,对被感染的系统进行远程文件和注册表的操作,可以捕获被控制的电脑的屏幕, 可远程重启和关闭计算机, 可以禁用系统热键和注册表编辑器,中了该木马后,被感染的系统将完全暴露于黑客手中。

五、广告木马病毒:此类木马采用各种技术隐藏于系统内,修改IE等网页浏览器的主页,禁多种系统功能,收集系统信息发送给传播广告木马的网站。更恶毒的是修改网页定向,导致一些正常的网站不能登录。最近闹的沸沸扬扬的MSN病毒就是这种木马病毒,它诱使点击一个可执行文件导致了937个网站不能正常访问。

该分析认为,这五大类木马病毒构成了木马的主要类别,其中,网游木马病毒占到木马病毒总数的32%以上,网银木马占到7%,即时通讯木马占了23%,广告木马占了24%,后门木马占了14%。从危害极别来看,网游木马危害最为严重,其次是广告木马也包含恶作剧程序,再次是即时通讯木马,接下来危害也比较大的是后门木马病毒,排在最后一位的是网银木马。

危害最为严重的木马病毒如下:

QQ 狩猎者(Troj.QQmsg)

网银大盗A(Troj.KeyLog.a)

MSN小尾巴(Worm.MSNFunny)(注:MSN小尾巴同时具有蠕虫和木马特点)

传奇男孩(Troj.MirBoy)

剑侠幽灵(Troj.JXGhost.a)

安哥(Hack.AgoBot)

灰鸽子(Hack.Huigezi

蜜峰大盗(Troj.Mifeng)

黑洞 (Hack.BlackHole、Hack.HeiDong)

记事本幽灵(Win32.Troj.Axela.w)

如果不是"explorer.exe",那么那个文件就是木马程序,把它查找出来,删除。 保存退出system.ini 打开win.ini文件

在[WINDOWS]下面有个run= 如果你看到=后面有路径文件名,必须把它删除。 正确的应该是run=后面什么也没有。

=后面的路径文件名就是木马,把它查找出来,删除。 保存退出win.ini。 OK

7. AttackFTP 清除木马的步骤: 打开win.ini文件 在[WINDOWS]下面有load=wscan.exe 删除wscan.exe

,正确是load= 保存退出win.ini。 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

删除右边的Reminder="wscan.exe /s" 关闭Regedit,重新启动到MSDOS系统中 删除C:\windows\system\

wscan.exe OK

8. Back Construction 1.0 - 2.5 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

删除右边的"C:\WINDOWS\Cmctl32.exe" 关闭Regedit,重新启动到MSDOS系统中 删除C:\WINDOWS\Cmctl32.exe OK

9. BackDoor v2.00 - v2.03 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

删除右边的'c:\windows\notpa.exe /o=yes' 关闭Regedit,重新启动到MSDOS系统中

删除c:\windows\notpa.exe 注意:不要删除真正的notepad.exe笔记本程序 OK

10. BF Evolution v5.3.12 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

删除右边的(Default)=" " 关闭Regedit,再次重新启动计算机。 将C:\windows\system\ .exe(空格exe文件) OK

11. BioNet v0.84 - 0.92 + 2.21 0.8X版本是运行在Win95/98 0.9X以上版本有运行在Win95/98

和WinNT上两个软件 客户-服务器协议是一样的,因而NT客户能黑95/98被感染的机器,和Win95/98客户能黑 NT被感染的系统完全一样。

清除木马的步骤: 首先准备一张98的启动盘,用它启动后,进入c:\windows目录下,用attrib libupd~1. exe -h

命令让木马程序可见,然后删除它。 抽出软盘后重新启动,进入98下,在注册表里找到:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\

的子键WinLibUpdate = "c:\windows\libupdate.exe -hide" 将此子键删除。

12. Bla v1.0 - 5.03 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 删除右边的Systemdoor

= "C:\WINDOWS\System\mprdll.exe" 关闭Regedit,重新启动计算机。

查找到C:\WINDOWS\System\mprdll.exe和 C:\WINDOWS\system\rundll.exe

注意:不要删除C:\WINDOWS\RUNDLL.EXE正确文件。 并删除两个文件。 OK

13. BladeRunner 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 可以找到System-Tray

= "c:\something\something.exe" 右边的路径可能是任何东西,这时你不需要删除它,因为木马会立即自动加上,你需要

的是记下木马的名字与目录,然后退回到MS-DOS下,找到此木马文件并删除掉。 重新启动计算机,然后重复第一步,在注册表中找到木马文件并删除此键。

14. Bobo v1.0 - 2.0 清除木马v1.0 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

删除右边的DirrectLibrarySupport ="C:\WINDOWS\SYSTEM\Dllclient.exe" 关闭Regedit,重新启动计算机。

DEL C:\Windows\System\Dllclient.exe OK 清除木马v2.0 打开注册表Regedit 点击目录至:

HKEY_USER/.Default/Software/Mirabilis/ICQ/Agent/Apps/ICQ Accel/ ICQ

3 100种木马的手工清除方法

Accel是一个“假象“的主键,选中ICQ Accel主键并把它删除。 重新启动计算机。OK

15. BrainSpy vBeta 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 右边有 ??? =

"C:\WINDOWS\system\BRAINSPY .exe" ???标签选是随意改变的。 关闭Regedit,重新启动计算机

查找删除C:\WINDOWS\system\BRAINSPY .exe OK

16. Cain and Abel v1.50 - 1.51 这是一个口令木马 进入MS-DOS方式 查找到C:\windows\msabel32.exe

并删除它。OK

17. Canasson 清除木马的步骤: 打开WIN.INI文件 查找c:\msie5.exe,删除全部主键 保存win.ini 重新启动计算机

删除c:\msie5.exe木马文件 OK

18. Chupachbra 清除木马的步骤: 打开WIN.INI文件 [Windows]的下面有两个行 run=winprot.exe

load=winprot.exe 删除winprot.exe run= load= 保存Win.ini,再打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\MicroSoft\Windows\CurrentVersion\Run 删除右边的'System

Protect' = winprot.exe 重新启动Windows 查找到C:\windows\system\ winprot.exe,并删除。 OK

19. Coma v1.09 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\MicroSoft\Windows\CurrentVersion\Run 删除右边的'RunTime'

= C:\windows\msgsrv36.exe 重新启动Windows 查找到C:\windows\ msgsrv36.exe,并删除。 OK

20. Control 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\MicroSoft\Windows\CurrentVersion\Run 删除右边的Load MSchv

Drv = C:\windows\system\MSchv.exe 保存Regedit,重新启动Windows

查找到C:\windows\system\MSchv.exe,并删除。 OK

21. Dark Shadow 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\MicroSoft\Windows\CurrentVersion\RunServices

删除右边的winfunctions="winfunctions.exe" 保存Regedit,重新启动Windows 查找到C:\windows\system\ winfunctions.exe,并删除。 OK

22. DeepThroat v1.0 - 3.1 + Mod (Foreplay) 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\MicroSoft\Windows\CurrentVersion\Run 版本1.0

删除右边的项目'System32'=c:\windows\system32.exe 版本2.0-3.1 删除右边的项目'SystemTray' =

'Systray.exe' 保存Regedit,重新启动Windows 版本1.0删除c:\windows\system32.exe 版本2.0-3.1

删除c:\windows\system\systray.exe OK

23. Delta Source v0.5 - 0.7 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\MicroSoft\Windows\CurrentVersion\Run 删除右边的项目:DS

admin tool = C:\TEMPSERVER.exe 保存Regedit,重新启动Windows 查找到C:\TEMPSERVER.exe,并删除它。 OK

24. Der Spaeher v3 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\MicroSoft\Windows\CurrentVersion\Run 删除右边的项目:explore

= "c:\windows\system\dkbdll.exe " 保存Regedit,重新启动Windows

删除c:\windows\system\dkbdll.exe木马文件。 OK --

25. Doly v1.1 - v1.7 (SE) 清除木马V1.1-V1.5版本:

这几个木马版本的木马程序放在三处,增加二个注册项目,还增加到Win.ini项目。

首先,进入MS-DOS方式,删除三个木马程序,但V1.35版本多一个木马文件mdm.exe。 把下列各项全部删除:

C:\WINDOWS\SYSTEM\tesk.sys C:\WINDOWS\Start Menu\Programs\Startup\mstesk.exe

c:\Program Files\MStesk.exe c:\Program Files\Mdm.exe 重新启动Windows。 接着,打开win.ini文件

--------

4 100种木马的手工清除方法

找到[WINDOWS]下面load=c:\windows\system\tesk.exe项目,删除路径,改变为load= 保存win.ini文件。

最后,修改注册表Regedit 找到以下两个项目并删除它们

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run Ms tesk =

"C:\Program Files\MStesk.exe" 和

HKEY_USER\.Default\Software\Microsoft\Windows\CurrentVersion\Run Ms tesk =

"C:\Program Files\MStesk.exe"

再寻找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ss

这个组是木马的全部参数选择和设置的服务器,删除这个ss组的全部项目。 关闭保存Regedit。 还有打开C:\AUTOEXEC.BAT文件,删除 @echo

off copy c:\sys.lon c:\windows\StartMenu\Startup Items\ del c:\win.reg

关闭保存autoexec.bat。 OK

清除木马V1.6版本: 该木马运行时,将不能通过98的正常操作关闭,只能RESET键。彻底清除步骤如下: 1.打开控制面板——添加删除程序——删除memory

manager 3.0,这就是木马程序,但 是它并不会把木马的EXE文件删除掉。

2.用98或DOS启动盘启动(用RESET键)后,转入C:\,编辑AUTOEXEC。BAT,把如下内容 删除: @echo off copy

c:\sys.lon c:\windows\startm~1\programs\startup\mdm.exe del c:\win.reg

保存AUTOEXEC。BAT文件并返回DOS后,在C:\根目录下删除木马文件: del sys.lon del

windows\startm~1\programs\startup\mdm.exe del progra~1\mdm.exe

3.抽出软盘重新启动,进入98后,把c:\program files\目录下的memory manager 目录 删除。 清除木马V1.7版本:

首先,打开C:\AUTOEXEC.BAT文件,删除 @echo off copy c:\sys.lon

c:\windows\startm~1\programs\startup\mdm.exe del c:\win.reg 关闭保存autoexec.bat

然后打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\MicroSoft\Windows\CurrentVersion\Run

找到c:\windows\system\mdm.exe路径并删除这个项目 点击目录至:

HKEY_USER/.Default/Software/Marabilis/ICQ/Agent/Apps/

找到"C:\windows\system\kernal32.exe"路径并删除这个项目 关闭保存Regedit。重新启动Windows。

最后,删除以下木马程序: c:\sys.lon c:\iecookie.exe c:\windows\start

menu\programs\startup\mdm.exe c:\program files\mdm.exe c:\windows\system\mdm.exe

c:\windows\system\kernal32.exe 注意:kernal32是A OK

75. Revenger v1.0 - 1.5 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\

删除右边的项目:AppName ="C:\...\server.exe" 关闭保存Regedit,重新启动Windows

在c:\windows查找相应的木马程序server.exe,并删除 OK

76. Ripper 清除木马的步骤: 打开system.ini文件 将shell=explorer.exe sysrunt.exe 改为shell=

explorer.exe 关闭保存system.ini,重新启动Windows 在c:\windows查找相应的木马程序sysrunt.exe,并删除 OK

77. Satans Back Door v1.0 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices\

删除右边的项目:sysprot protection ="C:\windows\sysprot.exe" 关闭保存Regedit,重新启动Windows

删除C:\windows\sysprot.exe OK

78. Schwindler v1.82 清除木马的步骤: 打开注册表Regedit 点击目录至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\

删除右边的项目:User.exe = "C:\WINDOWS\User.exe" 关闭保存Regedit,重新启动Windows

删除C:\WINDOWS\User.exe OK

79. Setup Trojan (Sshare) +Mod Small Share 这个共享隐藏C盘的木马 清除木马的步骤: 打开注册表Regedit

也可以用杀毒软件杀除

木马是什么

简单的说,木马是电脑病毒的一种,用于盗号、盗取隐私、盗取电脑资料等。平时隐藏在电脑中,一旦时机成熟,就会开始盗取对黑客有价值的东西。

防范木马最简单的方法就是安装杀毒软件,建议试试腾讯电脑管家,可实时防护木马入侵.

腾讯电脑管家应用了具有“自学习能力”的自研第二代“鹰眼”引擎,业界首创将CPU虚拟执行技术运用到杀毒软件中,能够根除顽固病毒、大幅度提升深度查杀能力,并且大大降低了杀毒软件对用户电脑系统资源的占用率。同时,沿用“4+1”多引擎架构保证了腾讯电脑管家病毒查杀的稳定性。

误杀率也极低,深受广大用户的认可。

希望能够帮到你~

什么是木马

一楼在哪复制过来的答案啊

用白话说木马就是病毒 可以盗取用户资料及网银QQ msn ut 或各类网游的东西叫木马 不知道你说的是这个吗?

还有的木马就是小孩子骑的木马 我想你小时候你妈妈带你去公园或游乐园的时候就有木马 但是哪个时候我们还很小 不一定能记住 即使记住了那个时候也不知道叫什么 还有就是用木头刻出来的马 马的脚是半圆形 小孩子做顶上可以摇来摇去跟不倒翁似的 呵呵 明白什么是木马了吧

什么是木马?

什么是木马?

特洛伊木马(以下简称木马),英文叫做“Trojan house”,其名称取自希腊神话的特洛伊木马记。

它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。

所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。

所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。

从木马的发展来看,基本上可以分为两个阶段。

最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。

而后随着WINDOWS平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。

所以所木马发展到今天,已经无所不用其极,一旦被木马控制,你的电脑将毫无秘密可言。

参考资料:

回答者:完颜康康 - 探花 十一级 9-18 12:40

--------------------------------------------------------------------------------

DLL 木马揭秘

相信经常玩木马的朋友们都会知道一些木马的特性,也会有自己最喜爱的木马,不过,很多朋友依然不知道近年兴起的“DLL木马”为何物。什么是“DLL木马”呢?它与一般的木马有什么不同?

一、从DLL技术说起

要了解DLL木马,就必须知道这个“DLL”是什么意思,所以,让我们追溯到几年前,DOS系统大行其道的日子里。在那时候,写程序是一件繁琐的事情,因为每个程序的代码都是独立的,有时候为了实现一个功能,就要为此写很多代码,后来随着编程技术发展,程序员们把很多常用的代码集合(通用代码)放进一个独立的文件里,并把这个文件称为“库”(Library),在写程序的时候,把这个库文件加入编译器,就能使用这个库包含的所有功能而不必自己再去写一大堆代码,这个技术被称为“静态链接”(Static Link)。静态链接技术让劳累的程序员松了口气,一切似乎都很美好。可是事实证明,美好的事物不会存在太久,因为静态链接就像一个粗鲁的推销员,不管你想不想要宣传单,他都全部塞到你的手上来。写一个程序只想用到一个库文件包含的某个图形效果,就因为这个,你不得不把这个库文件携带的所有的图形效果都加入程序,留着它们当花瓶摆设,这倒没什么重要,可是这些花瓶却把道路都阻塞了——静态链接技术让最终的程序成了大块头,因为编译器把整个库文件也算进去了。

时代在发展,静态链接技术由于天生的弊端,不能满足程序员的愿望,人们开始寻找一种更好的方法来解决代码重复的难题。后来,Windows系统出现了,时代的分水岭终于出现。Windows系统使用一种新的链接技术,这种被称为“动态链接”(Dynamic Link)的新技术同样也是使用库文件,微软称它们为“动态链接库”——Dynamic Link Library,DLL的名字就是这样来的。动态链接本身和静态链接没什么区别,也是把通用代码写进一些独立文件里,但是在编译方面,微软绕了个圈子,并没有采取把库文件加进程序的方法,而是把库文件做成已经编译好的程序文件,给它们开个交换数据的接口,程序员写程序的时候,一旦要使用某个库文件的一个功能函数,系统就把这个库文件调入内存,连接上这个程序占有的任务进程,然后执行程序要用的功能函数,并把结果返回给程序显示出来,在我们看来,就像是程序自己带有的功能一样。完成需要的功能后,这个DLL停止运行,整个调用过程结束。微软让这些库文件能被多个程序调用,实现了比较完美的共享,程序员无论要写什么程序,只要在代码里加入对相关DLL的调用声明就能使用它的全部功能。最重要的是,DLL绝对不会让你多拿一个花瓶,你要什么它就给你什么,你不要的东西它才不会给你。这样,写出来的程序就不能再携带一大堆垃圾了——绝对不会让你把吃剩的东西带回家,否则罚款,这是自助餐。

DLL技术的诞生,使编写程序变成一件简单的事情,Windows为我们提供了几千个函数接口,足以满足大多数程序员的需要。而且,Windows系统自身就是由几千个DLL文件组成,这些DLL相互扶持,组成了强大的Windows系统。如果Windows使用静态链接技术,它的体积会有多大?我不敢想。

二、应用程序接口API

上面我们对DLL技术做了个大概分析,在里面我提到了“接口”,这又是什么呢?因为DLL不能像静态库文件那样塞进程序里,所以,如何让程序知道实现功能的代码和文件成了问题,微软就为DLL技术做了标准规范,让一个DLL文件像奶酪一样开了许多小洞,每个洞口都注明里面存放的功能的名字,程序只要根据标准规范找到相关洞口就可以取得它要的美味了,这个洞口就是“应用程序接口”(Application Programming Interface),每个DLL带的接口都不相同,尽最大可能的减少了代码的重复。用Steven的一句话:API就是一个工具箱,你根据需要取出螺丝刀、扳手,用完后再把它们放回原处。在Windows里,最基本的3个DLL文件是kernel32.dll、user32.dll、gdi32.dll。它们共同构成了基本的系统框架。

三、DLL与木马

DLL是编译好的代码,与一般程序没什么大差别,只是它不能独立运行,需要程序调用。那么,DLL与木马能扯上什么关系呢?如果你学过编程并且写过DLL,就会发现,其实DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。当然,DLL文件是没有程序逻辑的,这里并不是说DLL=EXE,不过,依然可以把DLL看做缺少了main入口的EXE,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,这就是DLL木马的概念。也许有人会问,既然同样的代码就可以实现木马功能,那么直接做程序就可以,为什么还要多此一举写成DLL呢?这是为了隐藏,因为DLL运行时是直接挂在调用它的程序的进程里的,并不会另外产生进程,所以相对于传统EXE木马来说,它很难被查到。

四、DLL的运行

虽然DLL不能自己运行,可是Windows在加载DLL的时候,需要一个入口函数,就如同EXE的main一样,否则系统无法引用DLL。所以根据编写规范,Windows必须查找并执行DLL里的一个函数DllMain作为加载DLL的依据,这个函数不作为API导出,而是内部函数。DllMain函数使DLL得以保留在内存里,有的DLL里面没有DllMain函数,可是依然能使用,这是因为Windows在找不到DllMain的时候,会从其它运行库中找一个不做任何操作的缺省DllMain函数启动这个DLL使它能被载入,并不是说DLL可以放弃DllMain函数。

五、DLL木马技术分析

到了这里,您也许会想,既然DLL木马有那么多好处,以后写木马都采用DLL方式不就好了吗?话虽然是这么说没错,但是DLL木马并不是一些人想象的那么容易写的。要写一个能用的DLL木马,你需要了解更多知识。

1.木马的主体

千万别把木马模块写得真的像个API库一样,这不是开发WINAPI。DLL木马可以导出几个辅助函数,但是必须有一个过程负责主要执行代码,否则这个DLL只能是一堆零碎API函数,别提工作了。

如果涉及一些通用代码,可以在DLL里写一些内部函数,供自己的代码使用,而不是把所有代码都开放成接口,这样它自己本身都难调用了,更不可能发挥作用。

DLL木马的标准执行入口为DllMain,所以必须在DllMain里写好DLL木马运行的代码,或者指向DLL木马的执行模块。

2.动态嵌入技术

Windows中,每个进程都有自己的私有内存空间,别的进程是不允许对这个私人领地进行操作的,但是,实际上我们仍然可以利用种种方法进入并操作进程的私有内存,这就是动态嵌入,它是将自己的代码嵌入正在运行的进程中的技术。动态嵌入有很多种,最常见的是钩子、API以及远程线程技术,现在的大多数DLL木马都采用远程线程技术把自己挂在一个正常系统进程中。其实动态嵌入并不少见,罗技的MouseWare驱动就挂着每一个系统进程-_-

远程线程技术就是通过在另一个进程中创建远程线程(RemoteThread)的方法进入那个进程的内存地址空间。在DLL木马的范畴里,这个技术也叫做“注入”,当载体在那个被注入的进程里创建了远程线程并命令它加载DLL时,木马就挂上去执行了,没有新进程产生,要想让木马停止惟有让挂接这个木马DLL的进程退出运行。但是,很多时候我们只能束手无策——它和Explorer.exe挂在一起了,你确定要关闭Windows吗?

3.木马的启动

有人也许会迫不及待的说,直接把这个DLL加入系统启动项目不就可以了。答案是NO,前面说过,DLL不能独立运行,所以无法在启动项目里直接启动它。要想让木马跑起来,就需要一个EXE使用动态嵌入技术让DLL搭上其他正常进程的车,让被嵌入的进程调用这个DLL的DllMain函数,激发木马运行,最后启动木马的EXE结束运行,木马启动完毕。

启动DLL木马的EXE是个重要角色,它被称为Loader,如果没有Loader,DLL木马就是破烂一堆,因此,一个算得上成熟的DLL木马会想办法保护它的Loader不会那么容易被毁灭。记得狼狈为奸的故事吗?DLL木马就是爬在狼Loader上的狈。

Loader可以是多种多样的,Windows的rundll32.exe也被一些DLL木马用来做了Loader,这种木马一般不带动态嵌入技术,它直接挂着rundll32进程运行,用rundll32的方法(rundll32.exe [DLL名],[函数] [参数])像调用API一样去引用这个DLL的启动函数激发木马模块开始执行,即使你杀了rundll32,木马本体还是在的,一个最常见的例子就是3721中文实名,虽然它不是木马。

注册表的AppInit_DLLs键也被一些木马用来启动自己,如求职信病毒。利用注册表启动,就是让系统执行DllMain来达到启动木马的目的。因为它是kernel调入的,对这个DLL的稳定性有很大要求,稍有错误就会导致系统崩溃,所以很少看到这种木马。

有一些更复杂点的DLL木马通过svchost.exe启动,这种DLL木马必须写成NT-Service,入口函数是ServiceMain,一般很少见,但是这种木马的隐蔽性也不错,而且Loader有保障。

4.其它

到这里大家也应该对DLL木马有个了解了,是不是很想写一个?别急,不知道大家想过没有,既然DLL木马这么好,为什么到现在能找到的DLL木马寥寥无几?现在让我来泼冷水,最重要的原因只有一个:由于DLL木马挂着系统进程运行,如果它本身写得不好,例如没有防止运行错误的代码或者没有严格规范用户的输入,DLL就会出错崩溃。别紧张,一般的EXE也是这样完蛋的,但是DLL崩溃会导致它挂着的程序跟着遭殃,别忘记它挂接的是系统进程哦,结局就是……惨不忍睹。所以写一个能公布的DLL木马,在排错检查方面做的工作要比一般的EXE木马多,写得多了自己都烦躁……

六、DLL木马的发现和查杀

经常看看启动项有没有多出莫名其妙的项目,这是Loader的所在,只要杀了狼,狈就不能再狂了。而DLL木马本体比较难发现,需要你有一定编程知识和分析能力,在Loader里查找DLL名称,或者从进程里看多挂接了什么陌生的DLL,可是对新手来说……总之就是比较难啊比较难,所以,最简单的方法:杀毒软件和防火墙(不是万能药,切忌长期服用)。

0条大神的评论

发表评论