`
kong0itey
  • 浏览: 305848 次
社区版块
存档分类
最新评论

如何发送伪造的电子邮件

 
阅读更多

最近在看有关协议分析的资料,其中谈到了邮件传输协议(SMTP)的工作原理,深受感触。之后在网上又搜索了一些相关的资料,大概的整理了一下,希望对大家有帮助,有不对的地方请批评指正。

对照此方法可以检验你的邮件服务器是否有此方面的安全缺陷。对用此方法而引起的后果自负(如需转载,请注明信息来源)
一、SMTP 邮件的传输
   共分为三个阶段:1、建立连接2、数据传输3、连接关闭
   首先在建立连接阶段我不用再罗嗦,主要就是TCP的三次握手。而问题就出现在第二个阶段(数据传输)在此过程中可以人为控制。邮件在传输的时候,我个人认为是通过五条命令来实现(有的资料上说的是其中三条命令)的分别是:
Helo
mail from:
rcpt to:
data
quit
注:(这五条命令是内嵌在程序中自动完成,对用户来说是透明的。比如OUTLOOK、foxmail等程序)后面我会具体说明如何使用这些命令。
五条命令的含义:
Helo       表示与服务器内处理邮件的进程开始“通话”
mail from: 表明信息的来源地址,也就是要伪造的地址
rcpt to:    邮件接收者的地址
data        邮件的具体内容
quit         退出邮件
二、SMTP 数据包分析
下面是一个通过FOXMAIL程序发送邮件并进行抓包的分析(作了适当的修改):
172.17.1.1是邮件服务器地址,域名是abc.cn
192.168.0.1是客户端地址;请留意粗体字部分

Source

Destiination

Protocol

Info

172.17.1.1

192.168.0.1

SMTP

RESPONSE:220 abc.cn ESMTP sendmail 7.14.2/7.14.2; Thu, 22 may 2010 23:30:60 +0800 (CST)

192.168.0.1

172.17.1.1

SMTP

Command: HELO abc.cn

172.17.1.1

192.168.0.1

SMTP

Response: 250 abc.cn Hello [172.17.1.1],pleased to meet you

192.168.0.1

172.17.1.1

SMTP

Command: MAIL FROM:<admin@abc.cn>

172.17.1.1

192.168.0.1

SMTP

Response: 250 2.1.0 <admin@abc.cn> …. Sender ok

192.168.0.1

172.17.0.1

SMTP

Command: RCPT TO: <abc@abc.cn>

172.17.0.1

192.168.0.1

SMTP

Response: 250 2.1.0 <admin@abc.cn> …. Recipient ok

192.168.0.1

172.17.0.1

SMTP

Command:DATA

172.17.0.1

192.168.0.1

SMTP

Response: 354 Enter mail,end with “.”on a line by itself

192.168.0.1

172.17.0.1

SMTP

Message Body

172.17.0.1

192.168.0.1

SMTP

Response: 221 2.0.0 ab.cn closing connection

注意:Response: 354 Enter mail,end with “.”on a line by itself这条信息,它的意思是在你输入邮件内容后“回车”另起一行,输入点号“.”再“回车”表示邮件正文书写完成。后面会具体说明。
下面是对数据包解析后的信息并注说明:
220 abc.cn SMTP sendmail 7.14.2/7.14.2; Thu, 22 may 2010 23:30:60 +0800 (CST)
(邮件服务器反馈给你的信息,可以了解该邮件服务器的大致情况)
HELO abc.cn (邮件地址的域名比如SINA邮箱:sina.com.cn;也表述你所在的域,此处是为了与邮件服务器进程“通话”类似于自我介绍)
250 abc.cn Hello [172.17.1.1], pleased to meet you (邮件服务器反馈给你的信息)
MAIL FROM: <admin@abc.cn>(邮件源地址,也就是伪造的地址)
250 2.1.0 admin@abc.cn... Sender ok(表示邮件服务器认可伪造的地址)
RCPT TO: <abc@abc.cn> (邮件接收者的地址)
250 2.1.5 <abc@abc.cn>... Recipient ok(服务器认可此地址,前提是邮件服务器中必须有此账号)
DATA (邮件的具体内容)
354 Enter mail, end with "." on a line by itself(上面已经说明)
Date: (邮件的日期)Thu, 22 May 2010 11:30:40 +0900
From: (邮件的来源地址) "admin" < admin@abc.cn >
To: (邮件接收者的地址) "abc" < abc@abc.cn >
Subject: (邮件的主题) mail test    
邮件的具体内容,此处略…….
250 1.0.0 m4M3Ulgx010724 Message accepted for delivery(邮件成功投递)
QUIT (发送成功,执行退出命令)
221 2.0.0 abc.cn closing connection (成功关闭与abc.cn的连接)
题外话:
    为了体现所发邮件真实可性,注意上面加下划线的部分。需要在data中要包含from(伪造的邮件地址)、to(邮件的接收者地址)、subject(邮件的主题)、date(时间)这几个关键字。也就是我们在邮件中看到的“完整邮件头”下面是一个事例:
From: "admin" <admin@abc.cn> (你伪造的地址)
To: abc@abc.cn (邮件接收者的地址)
Subject: mail test (邮件的主题)
Date: Fri, 16 May 2010 12:45:39 +0800 (邮件的时间信息)
三、具体实现过程
   在我们了解了SMTP后,现在开始描述实现过程
第一步 进入字符模式,windows下是DOS:
第二步 启动telnet程序:
        c:\telnet 172.17.1.1 25
         注意:登录的是25端口,
登录成功后邮件服务器会反馈一个信息“RESPONSE:220 abc.cn ESMTP sendmail 8.14.2/8.14.2; Thu, 22 may 2010 23:30:60 +0800 (CST)”
第三步 注意此时的字符界面是没有任何提示,直接输入:
      HELO abc.cn (想要伪造邮件的地址域名,比如SINA邮箱:sina.com.cn)
系统会反馈一个信息“Response: 250 abc.cn Hello [172.17.1.1],pleased to meet you”表示邮件系统认可
第四步 输入:
      MAIL FROM :admin@abc.cn (不能缺少“:”号,下面同样,邮件发送者的地址)
系统反馈信息“Response: 250 2.1.0 <admin@abc.cn> …. Sender ok”
第五步 输入:
      RCPT TO :abc@abc.cn (邮件接收者的地址)
系统反馈信息“Response: 250 2.1.0 <admin@abc.cn> …. Recipient ok”
第六步 输入:
      DATA 回车
(开始输入邮件正文,完成后一定要“回车”之后输入“.”号)
.         (注意是英文状态下的“.”号,表示邮件输入完毕,最后再“回车”)
第七步 输入:
      QUIT (邮件内容输入完成,退出)
系统反馈信息“Response: 221 2.0.0 ab.cn closing connection”
到此为止邮件发送完成
最后说明:在使用此方法发送邮件的时候,不管如何伪造发件人的地址,但是在接收人的邮件中都会显示你的真实IP
分享到:
评论
1 楼 valenon 2015-05-19  
评论呢?从MAIL FROM命令开始貌似就出错了:500 Error: bad syntax

相关推荐

    第04篇:在线邮件伪造网站和临时邮件1

    在IT行业中,电子邮件服务是日常通信的关键组成部分。无论是个人还是企业,都需要可靠且安全的邮件系统来传递信息。本文将探讨“在线邮件伪造网站和临时邮件”这一主题,特别是针对.NET开发者,他们可能需要了解如何...

    网安工具系列:几个好用的邮件伪造工具

    本文将详细介绍两个常用的邮件伪造工具——Swaks和SimpleEmailSpoofer,它们都是在匿名发送电子邮件时常用的工具。 首先,让我们来看看Swaks。Swaks,全称“SMTP Swiss Army Knife”,是一个功能强大的命令行工具,...

    SMTP.rar_site:www.pudn.com_smtp伪造_伪造发件_伪造邮件_邮件伪造

    SMTP(Simple Mail Transfer Protocol)是互联网上用于发送电子邮件的标准协议。在标题和描述中提到的“SMTP伪造”或“伪造发件人发送邮件”,是指利用SMTP协议中的漏洞或不安全设置,来伪装成不同的发件人地址发送...

    Mail-forge-python:使用虚假发件人地址发送邮件

    伪造电子邮件! 一些背景信息:在 Hotmail、Yahoo 和 G-mail 等流行电子邮件网站为用户提供 GUI 之前,有一个称为 SMTP(简单邮件传输协议)的系统,它是发送消息的主要方式。 我们在 orderr 中使用 python 从任何...

    基于SMTP邮件发送客户端

    SMTP(Simple Mail Transfer Protocol)是互联网上用于发送电子邮件的标准协议,它定义了如何在邮件服务器之间传输邮件。基于SMTP的邮件发送客户端是实现这一功能的应用程序,允许用户通过网络发送电子邮件。下面将...

    电子邮件开发应用

    电子邮件开发应用是一个涵盖广泛的主题,它涉及到如何使用编程语言创建、发送、接收和管理电子邮件。在本文中,我们将深入探讨电子邮件开发的相关知识点,包括SMTP、POP3、IMAP协议、邮件编码、邮件验证以及常见的...

    邮件发送,应用网络通讯协议

    电子邮件发送涉及许多网络通信协议,这些协议构成了互联网通信的基础。在这里,我们将深入探讨电子邮件系统如何利用这些协议来实现高效、可靠的信息传递。 首先,我们有SMTP(Simple Mail Transfer Protocol),这...

    电子邮件安全技术研究

    电子邮件在互联网上传输时,面临被截获、篡改甚至伪造的风险。为保障邮件安全,加密技术成为首要防御措施。通过使用公开密钥系统,发送方可以对邮件内容进行加密,确保只有持有正确私钥的接收方才能解密读取。这种...

    第01篇:搭建匿名SMTP服务器1

    SMTP(Simple Mail Transfer Protocol)不强制要求身份验证,使得攻击者能够轻易地伪造电子邮件头信息,从而伪装成任何发件人地址。这种行为被称为电子邮件欺骗,或者邮件伪造。在本文中,我们将讨论如何搭建一个...

    IPv6环境下可信任电子邮件系统的设计与实现

    ### IPv6环境下可信任电子邮件系统的设计与实现 #### 一、引言 随着互联网的快速发展,电子邮件成为人们日常生活中不可或缺的通信工具。然而,垃圾邮件、病毒邮件和网络欺诈等问题严重干扰了用户的正常使用,同时...

    PGP安全电子邮件系统研究与实现

    本文重点研究基于PGP混合加密技术的电子邮件系统中的邮件 信息的安全问题。首先介绍了本文将要用到的密码学基础和电子邮件 的相关协议。然后介绍了当前非常流行的安全电子邮件加密标准 PGP。通过对PGP的介绍,详细...

    php注册发送邮件

    但考虑到现代电子邮件的标准和安全性,通常会使用如PHPMailer或SwiftMailer这样的第三方库。 1. PHPMailer库的使用: PHPMailer是一个流行的PHP邮件发送库,支持HTML邮件、附件、SMTP验证等功能。要使用PHPMailer...

    电子邮件开发

    1. **邮件协议**:电子邮件系统主要基于SMTP(Simple Mail Transfer Protocol)发送邮件,而POP3(Post Office Protocol version 3)或IMAP(Internet Message Access Protocol)用于接收邮件。SMTP用于从发件人...

    fakemailer:Fake Mailer是一种PHP Email Spoofer,它能够将伪造或被篡改的电子邮件发送到目标。 无需注册,匿名发送电子邮件,演示站点可供测试!

    Fake Mailer是一种PHP Email Spoofer,它能够将伪造或被篡改的电子邮件发送到目标。 无需注册,匿名发送电子邮件,演示站点可供测试! 免责声明 :laptop: 该项目仅出于良好目的和个人用途而创建。 本软件“按原样...

    C# 成功发送邮件

    在现代软件开发中,电子邮件功能是一项重要的通信工具,特别是在企业级应用中。本文将详细介绍如何使用C#语言及.NET框架来实现邮件发送功能,并重点讲解代码示例中的关键部分。 #### 二、关键概念与技术 本节将详细...

    电子邮件安全系统84P.pptx

    电子邮件系统是互联网上的一种基本通信方式,它允许用户发送和接收文本、图片、文件等多种类型的信息。本章重点讨论电子邮件系统的安全问题,包括邮件收发机制、邮件的一般格式、安全防范措施以及安全电子邮件系统。...

    完整版直接邮件发送模块.rar

    直接邮件发送模块是电子邮件系统中的一个重要组成部分,它允许程序或用户通过编程方式向目标收件人发送电子邮件。在本文中,我们将深入探讨直接邮件发送模块的相关知识点,包括其工作原理、实现方式、常见问题以及...

    PHP表单发送邮件系统.rar

    PHP表单发送邮件系统是一种基于PHP编程语言的实用工具,它允许用户通过Web表单轻松地发送电子邮件。这种系统的设计目标是简化邮件发送的过程,尤其是对于那些不熟悉复杂正则表达式的用户而言。通过这样的系统,你...

    smtp认证的邮件发送程序

    SMTP(Simple Mail Transfer Protocol)是互联网上用于发送电子邮件的标准协议。SMTP认证是在SMTP基础上增加的安全措施,用于防止滥用和垃圾邮件。在这个“smtp认证的邮件发送程序”中,我们将探讨如何利用SMTP认证...

    邮件发送邮件发送

    本主题将深入探讨“邮件发送”这一核心概念,包括SMTP(简单邮件传输协议)、电子邮件格式、邮件服务器以及安全性和隐私问题。 首先,我们需要了解SMTP是如何工作的。SMTP是互联网上用于发送电子邮件的标准协议。它...

Global site tag (gtag.js) - Google Analytics