追踪垃圾邮件.doc_第1页
追踪垃圾邮件.doc_第2页
追踪垃圾邮件.doc_第3页
追踪垃圾邮件.doc_第4页
追踪垃圾邮件.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2005年黑客聚焦 追踪垃圾邮件 (1)发布时间:2006.01.13 09:34 来源:安全中国 作者:wodow相信大家和我一样,在日常生活中收垃圾邮件也算是一份固定的工作了吧?收到垃圾信件后,如何追踪垃圾邮件发送者呢?很多朋友会毫不犹豫的说,当然是查出寄信人的IP了。其实,在对付垃圾邮件方面,主要有两种形式:防御与追踪。防御主要是强调对垃圾邮件的过滤或者是阻止垃圾邮件的产生,而追踪则强调主动地追查垃圾邮件来源,并对其进行警告或者采取其它措施。本文将主要介绍对邮件的追踪方面的技术,通过针对邮件头进行分析,并查询到最接近源头的地址,以揭开垃圾邮件发送者的“庐山真面目”。邮件头及传输过程首先,我们通过一次反垃圾邮件的测试来看看什么是邮件头。因为大多数情况下,服务器都会把寄信人的相关信息附在邮件的文件头。比如,利用T的免费邮箱,给 发一个邮件,然后进入/邮箱,收到后打开看看(如图1所示):图1点击信箱上面的“邮件头信息”,可看到这样的信息:Return-Path:Delivered-To: Received: from 2 (HELO )(envelope-from )by (quarkmail-1.2.1) with SMTP id S918541AbULBMFsfor ; Thu, 2 Dec 2004 20:05:48 +0800X-scanvirus: By Sophos Scan EngineX-scanresult: CLEANX-Received:unknown,95,20041202195628Received: from unknown (HELO ) (95)by localhost with SMTP; 2 Dec 2004 11:56:28 -0000MIME-Version: 1.0Message-ID: 41AF02AE.000113.05427bjapp25Date: Thu, 2 Dec 2004 19:55:26 +0800 (CST)From: =?gb2312?B?cHdicHVi?=To: Subject: =?gb2312?B?wKy7+NPKvP6y4srU?=X-Priority: 3X-Originating-IP: X-Mailer: 163netContent-Type: Multipart/Alternative;boundary=Boundary-=_yvxueODEqwFokhipGevKzuojgYQF对方是从不同的邮件服务器上发来的,中间自然有转信过程,每转一次都会在文件头顶部加信息。下表列出了一部分表头的相关含义,对我们分析垃圾邮件具有事半功倍的效果。From: 邮件从哪里发送的。很容易被伪造,在分析中,非常不可信任。From 不同于From:域,这行并不通常是邮件头的一部分,但是邮件转发程序经常插入这一行,表明邮件什么时候被接收的。这一行总是邮件头的第一行,也可以被伪造,但并不一定。Reply-To: 回复时发送的地址。很容易被伪造,但常常提供线索,比如有些垃圾邮件经常用该域指向一个合法的邮件地址,以便spammer能够接收到回复的邮件。Return-Path: 与Reply-To:相同Sender: 消息发送者。这通常都是伪造的Message-ID: 邮件系统在创建邮件时的唯一标记。也是最容易被伪造的地方。正常情况下,“Message-ID:”能确定发送者所登录的系统,而不仅仅是创建邮件的系统。Message-ID 的结构同邮件服务器程序有直接关系,不同的邮件服务器产生的ID 也不一样,有时,相同邮件服务器的不同处理也会产生不一样的ID。多数邮件服务器会包含日期、时间、DNS等,有的甚至包含邮件用户信息。如 0040409085748.91B1.SAN,就是由日期、时间、标识、邮件用户和DNS构成。In-Reply-To: 在回复的时候可能存在,通常指向原邮件的Messgae-ID。Received: 最可信赖的头。一般会有几条,形成站点列表,这些信息表明达到目的地过程中邮件所经过的服务器,该域都是邮件服务器自动插入的,spammer可以伪造,但是在被伪造的那个点之后的是无法伪造的。这个列表从下往上表明了服务器路径,最上面的一条Received:是最终目的的系统或邮件服务器。通常的邮件传递主要步骤由下面过程完成:SenderMUAMTA(routing) MTA MDA filtering MUAreceiver脚本小子:MUA(Mail User Agent)表示邮件客户端程序,比如Foxmail、Outlook、Mutt等;MTA(Mail Transport Agent or Message Transfer Agent)表示消息传输代理,这部分程序负责存储和转发、发送E-mail,它从MUA或者其他的MTA 接收到邮件后,就存在于本地,并分析收件人或者转发到其他的MTA,在处理过程中,它通常会编辑、添加邮件头内容,比如Sendmail、 Exchange等;MDA(Mail Delivery Agent)表示邮件发送代理,这个程序负责将邮件发送给用户,通常处理某种特定发送操作。了解了这些环节,我们就可以顺藤摸瓜,探测垃圾发送者的老巢了。垃圾邮件追踪实例SMTP 协议对我们来说,应该是再熟悉不过的了,但是,这个协议在创建的时候并没有考虑到未来的邮件会成为垃圾,因此安全性很差,邮件头可以任意创建、伪造和修改,而邮件服务器一般不检查发送者的内容,而只关心接收者。这就给了垃圾邮件发送者可乘之机,比如,通过Outlook就可以伪造邮件头。为了对付ISP 监控垃圾邮件,这些垃圾邮件发送者通常用一些邮件程序将邮件转发到其他的邮件服务器,并且修改和伪造邮件头,避免被追踪。所以,我们现在的关键任务是识别伪造内容并获得真实信息,根据真实信息进行查询。1邮件头追踪一般来说,邮件内容、Reply-to、最终邮件服务器的Received的内容都有助于我们追踪垃圾邮件的来源。对于“Received:”域来说,我们可以从时区出错、时间误差、IP地址错误这几个方面来追查。试想,一个邮件经过了几天甚至更长时间来传递,正常吗?下面就是一个修改了邮件地址和IP地址的邮件头:Return-Path:Delivered-To: Received: from (unknown 211.167.xxx.xxx)by (Postfix) with ESMTP id 590F2160A9 for;Thu, 8 Aug 2004 16:48:46 +0800 (CST)Received: from ()by localhost (mail)(amavisd-new, port 10024) with ESMTP id 30543-01 for;Thu, 8 Aug 2004 16:47:14 +0800 (CST)Received: from (unknown 218.18.xxx.xxx) (Postfix) with ESMTP id 32E0817DC17 for;Thu, 8 Aug 2004 16:47:06 +0800 (CST)Date: Wed, 5 May 2004 14:36:13 +0800From: wljTo: Subject:Message-Id: 20040505143613.25Mime-Version: 1.0Content-Type: multipart/mixed;X-Virus-Scanned: by amavisd-new at 上面的邮件头,明显经过了篡改,包括在MUA 发送邮件时添加的头内容和经过MTA过程中添加的内容。现在,关键的任务就是要检查“Received:”的传递过程了。第一步:找到如下内容:Received: from (unknown 218.18.xxx.xxx) by (Postfix) with ESMTP id 32E0817DC17 for ; Thu, 8 Aug 2004 16:47:06 +0800 (CST)仔细分析,我们可以看到,这是第一个MTA 从MUA 接收邮件时插入的头内容。MUA 的机器名是R(这不是MUA 的DNS,而只是机器名),(unknown218.18.xxx.xxx)表示该机器的IP地址,但是查询的DNS是unknown的。该邮件被 接收,邮件服务器采用Postfix,而且采用的是ESMTP(扩展的SMTP),分配的ESMTP id是32E0817DC17,传递目标是,接收时间为Thu,6 May 2004 16:47:06,时区是+0800 (CST)。第二步:查找第二个Received:内容。具体如下:Received: from () by localhost (mail) (amavisd-new, port 10024) with ESMTP id 30543-01 for ; Thu, 8 Aug 2004 16:47:14 +0800 (CST)这是邮件服务器内部程序进行的一个处理过程,因此IP 地址为,并且是Localhost处理,(amavisd-new, port 10024)表明这个处理程序是使用的Amavisd-new,amavisd-new是一个用于邮件服务器的杀毒、过滤等的接口。第三步:查找第三个Received:内容。具体如下:Received: from (unknown 211.167.xxx.xxx) by (Postfix) with ESMTP id 590F2160A9 for ; Thu, 8 Aug 2004 16:48:46 +0800 (CST)该过程表示邮件从服务器名为M 传递出去,IP 地址为211.167.xxx.xxx,接收邮件的服务器是T,采用Postfix服务程序,也通常使用的ESMTP,传递的目标是 ,日期为Thu,8 Aug 2004 16:48:46,时区是+0800(CST)。从这个例子可以看出,邮件的传递过程是:(MUA)(MTA)localhost(MTA中的amavisd-new)(MTA)整个过程经历了将近两分钟,不过,在追踪垃圾邮件过程中,这个传递过程中的Received:存在被篡改的可能,也就是说,发送者可能使用了“障眼法”,因此,要炼就一双火眼金睛,判断哪些信息是伪造的,哪些是真实的。对于Received:来说,最后的站点是接收者自己的邮件服务器,因此最后的 Received是真实可靠的,除非自己的服务器已经不安全了。2垃圾广告邮件追踪现在,垃圾广告邮件尤其猖獗。对于这类邮件来说,内容中有联系人、联系电话、联系Email、邮编等,追查就很直接。一个典型的此类邮件头内容如下:Return-Path:Delivered-To: Received: from (unknown 0)by (Postfix) with ESMTP id 399521C124for ; Mon, 24 May 2004 11:07:41 +0800 (CST)From: bbcssSubject: =?GB2312?B?0KGxvrS0tPPStcrmtvmxptXQycw=?=To: Content-Type: multipart/mixed;boundary=_NextPart_2rfkindysadvnqw3nerasdf;charset=GB2312MIME-Version: 1.0Reply-To: Date: Mon, 24 May 2004 11:07:45 +0800X-Priority: 3Message-Id: 20040524030745.399521C124现在来对该邮件进行简单的分析。首先找到这一段:Received: from (unknown 0)by (Postfix) with ESMTP id 399521C124 for ; Mon, 24 May 2004 11:07:41 +0800 (CST)本例中,测试用的邮件服务器T是可信的,因此这一条Received信息也是可靠的,但其中的一些内容可能并不是真实可靠的。邮件来自一个机器名为的,IP 地址为0,邮件接收时间是Mon, 24 May 2004 11:07:41 +0800 (CST)。简单检查S,可以得出IP地址为S 203.207.*.*,很容易可以知道这个只是一个名字而已。该邮件的发送者是From: bbcss ,而回复地址是:Reply-To:。实际上,我们就可以推测:就是伪造的了,但是回复地址却可能是真实的;另外,他们肯定使用了一些垃圾邮件发送工具,能够

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论