2024年4月12日发(作者:)

现在很多单位都采用单独的计算机来存放重要的涉密文件。然而如果涉密文件被盗,

不仅会带来严重的经济损失,窃密者还可能逍遥法外。为了解决这个问题,我们需要对涉

密文件采取某些措施:如绑定木马,在窃密者在得手后木马能自动执行,并记录下窃密者

的相关信息,最后及时通知监控端。上面所采取的措施,我们称为网络跟踪技术。本文所

要讲述的汇编木马,就经常应用在跟踪技术中。

举个例子:在一涉密.Doc文件中绑定一个.Exe木马。如果木马功 能复杂,并且是在

VC等编译环境下生成,那它的体积至少有几十K,再加上.Doc文件自身的数据量就非常

可观了。一个大的.Doc文件会引起窃密者的怀 疑,我们的跟踪也就达不到效果。因此,

我们势必要设法在不影响最终目的的前提下,尽量减小木马文件的体积。办法可能不止一

个,而我采用的是编写汇编木马的 方式。当然,研究的平台都是在Windows2000以上

的操作系统中。

Win32汇编木马设计思路

完整的汇编木马又称为“小马”,原因有两个:一是它体积小,只有几K;二是它的

功能仅仅是反向连接攻击端,从攻击端下载并执行真正的功能复杂的木马(大马)。为了便

于大家理解,本文将不关心“大马”的功能实现,重点是提出汇编木马的设计思路,并尽

量从基础的角度进行讨论。

汇编木马的设计围绕4个重要的技术指标:体积小、防杀、突破防火墙与进程隐藏、

拖动并执行“大马”,

下面逐一介绍:

1、 体积小。常规木马大多用高级语言编写,在集成环境下编译生成。虽然实现方便,

但是生成的.Exe文件体积较大。对于汇编木马,我们采用Win32汇编来实现,使得.Exe

文件体积控制在几K。

2、 防杀。为了避免被诺顿、卡巴斯基、江民等主流杀毒软件所识别,木马文件一定

要进行可靠的加壳处理。根据经验,一般我们选用最新的ASProtect,加壳后的.Exe文件

生存能力一般比较强。如果需要,在必要的时候还可以手动修改文件特征码。

3、 突破防火墙与进程隐藏。木马文件执行的时候需要与攻击端通信,必须访问网络。

但不仅第三方的个人防火墙会阻拦你,现在Windows XP SP2也自带了软件防火墙。当

“不可信任”的应用程序访问网络时,防火墙会报警。我的解决方法是:将网络通信部分

的代码作为远程线程注入到防火墙“可信任”的进程中。这个“可信任”的进程一般是系

统进程,也可以是IE。代码的注入,同时起到了进程隐藏的作用。

4、 拖动并执行“大马”。这是汇编木马的核心功能,也是本文要重点举例讨论的内

容。最终的监控、跟踪功能是在“大马”中实现的,它可以通过高级语言来实现,体积大

小并没有什么限制。

Win32汇编基础

为了进行下面的讨论,Win32汇编是大家必须掌握的基础知识。Win32汇编生成的程

序也是运行在Windows保护模式下的。我们可以通过下面几个方面去了解:

1、Win32ASM编译器