電子メールの偽の「差出人」フィールド


9

メールの「from」フィールドを操作して、「to」ユーザーに実際とは異なるものを表示させるにはどうすればよいですか。

例:

本当にから

From: TStamper@yahoo.com

彼らは見る

From: Tremayne "Top Dog" Stamper

SMTPの操作から聞いたことがありますが、それがどれほど正確で、どのように実行できるかは本当にわかりません


2
これは有効な問題だと思います。私たちは常にこれを行っています(特に、ソフトウェアからの電子メールを、ユーザーに送信しているように見せます)。
C.ロス

差出人フィールドを変更して住所ではなく実名のようなものを表示したい場合、これが有効な問題になる可能性があることに同意します。私たちのシステムでも常にそうしています。問題の例があるアドレスから別のアドレスに変更されているため、これはほんの少しのフラグです。スパム餌。
squillman、

より良い例で更新
TStamper 2009年

それが彼らがSPFレコードを作成した理由
Elijah Glover

回答:


14

基本的に、SMTPは実際の検証を行わない単なるテキストベースのプロトコルです。次に例を示します。

=== Trying g3.example.net:25...
=== Connected to g3.example.net.
<-  220 home.example.net ESMTP Exim 4.68 Thu, 07 May 2009 11:03:21 -0400
 -> EHLO g3.example.net
<-  250-home.example.net Hello g3.example.net [192.168.0.4]
<-  250-SIZE 52428800
<-  250-PIPELINING
<-  250-AUTH CRAM-SHA1 CRAM-MD5 MSN
<-  250-STARTTLS
<-  250 HELP
 -> MAIL FROM:<jj33@g3.example.net>
<-  250 OK
 -> RCPT TO:<jj33@g3.example.net>
<-  250 Accepted
 -> DATA
<-  354 Enter message, ending with "." on a line by itself
 -> Date: Thu, 07 May 2009 11:03:21 -0400
 -> To: jj33@g3.example.net
 -> From: jj33@g3.example.net
 -> Subject: test Thu, 07 May 2009 11:03:21 -0400
 -> X-Mailer: swaks v20070921.0-dev jetmore.org/john/code/#swaks
 -> 
 -> This is a test mailing
 -> 
 -> .
<-  250 OK id=KJA4HL-0006M6-8T
 -> QUIT
<-  221 home.example.net closing connection
=== Connection closed with remote host.

"MAIL FROM:"行はSMTPエンベロープ送信者を定義し、From:はメッセージDATAで定義されています。これを防ぐ方法はいくつかありますが、プロトコル自体ではなく、メールサーバーロジックで定義されます。

たとえば、私はメールプロバイダーとして、user @ domainタイプのユーザー名を使用してユーザーに認証を要求する場合があります。次に、私のメールサーバーでは、送信するすべてのメールに、エンベロープ送信者と、認証されたユーザーと一致するFrom:ヘッダーが必要になる場合があります。DKIMやSPFなどの追加のテクノロジーもこの分野で役立ちます。


8

ここで考慮すべき点がいくつかあります。別の名前または電子メールアドレスを表示したいだけの場合は、メッセージの "差出人"ヘッダー(メッセージの差出人アドレス)を電子メールアドレスに設定します。

From:Joe Example <joe@example.com>

メッセージヘッダーの「from」行は表示目的でのみ使用されることに注意してください。実際のルーティングは、SMTPエンベロープアドレスによって行われます。これは、サーバー間でメッセージを送信するためにSMTPサーバーが実際に使用するものです。これは、メッセージの「from」ヘッダーとは異なる場合があります。カスタムSMTPエンジンがある場合は、SMTPエンベロープで1つのアドレスを使用し、実際のメッセージの "from"ヘッダーで別のアドレスを使用するようにします。

これを実行する正当な理由はいくつかありますが、悪意のある目的は控えてください。

正しい構文の例はRFC 5322-A.2.1にあります。


1
ブラケットの例が間違っている、それは後方だ
jj33

修繕; この種のものを実装してから久しぶりです。
ジャスティンスコット

RFC 822に合わせて、もう一度更新しました
Mike Graf

1
@MikeGraf 822は少なくとも2回置き換えられました。5322の方が優れています。
Patrick Mevzek 2018

2
telnet some_smtp_server.com 25
ehlo whatsup
mail from: JohnBaker@yahoo.com
rcpt to: recipient@somewhere.com
data
your message here
end with a dot on a single line like this:
.

もちろん、リレーを許可するSMTPサーバーが必要ですが、これを見つけることはほとんど不可能です...または自分でロールする(この知識をスパムに使用しないでください!)。


2

「really from」アドレスは、SMTP会話の「from:」ダイアログから取得されます。

「偽物」は、SMTP会話のデータ部分に配置されたさまざまなヘッダーフィールドを表示するという電子メールクライアントの一般的な慣行を利用することから来ています。例えば:

# telnet mail.example.com 25
Connected to mail.example.com.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix
helo fakeserver
250 mail.example.com
mail from: real@example.com
250 2.1.0 OK
rcpt to: real@example.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
from: fake@example.com
to: you@example.com
subject: This is a subject
This is the body.
.
250 2.0.0 Ok: queued as 90D0F95A06
quit
221 2.0.0 Bye
Connection closed by foreign host.
#

データ部分の「from:」行と「to:」行を省略した場合、実際のエンベロープ送信者と受信者が表示されます。

これらの種類のトリックはスパムフィルターによって頻繁に検索され、永続的な友達にはならないことに注意してください。また、これはすべてのメールクライアント(最も一般的なもののみ)では機能しません。


1

はい、SMTPヘッダーを手動で設定することにより、簡単に実行できます。グーグルそれ。しかし、スパムに巻き込まれないでください......


0

これはコードから直接出た私の2c-C#で書かれた

    public static void SendSpam(string message, string to)
    {
        System.Net.Mail.MailMessage myMessage = new System.Net.Mail.MailMessage("Fake Name", to);
        myMessage.Subject = "SPAM";
        myMessage.Body = message;
        System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("mail.mailserver.com", 25);
        System.Net.NetworkCredential c = new System.Net.NetworkCredential("realusername@mailserver.com", "realpassword");
        client.Credentials = c;
        client.Send(myMessage);
    }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.