偽造メールの観察

syuya yuikura
這いよれ Pentest Lab
7 min readJul 13, 2019

概要

本記事では、偽造メールを詳細に分析してみたいと考える。

先日、私のYahooメールに「Amazon」を名乗る偽造メールが届いた。

「あなたのAmazonアカウントはセキュリティ上の理由で中断されました」とのことであり、メール内容からリンクをクリックした先でアカウント情報を再度入力すればいいらしい。

もちろんこれは罠であり、アカウント情報を入力すると、それらは別サーバに記録され、Amazonアカウントを乗っ取られることになるだろう。

今回は、どのように偽造メールを見破るかを、本メールを元に考えていきたい。

メール内容の考察

まず、私に送信されてきたメール内容は下記だ。

こういうのもアレだが、結構いい出来である。

ITリテラシーのない人は以下の点で、本メールを本物だと考えるだろう。

・ 差出人(From)がAmazon.co.jp

・アマゾンのロゴがメールに入っている

また、メール内容も緊急性のありそうなものであり、騙されてリンクをクリックする人がいてもおかしくない。

とりあえず、このメールが本物でない証明をしていこう。

送信元偽造の確認

まず、差出人(From)は送信元ではない点を覚えておこう。

前提知識として、メールの送受信はエンベロープ(封筒)という仕組みを使って行われる。

エンベロープにメールの送受信に必要な情報が記載されており、それを頼りにメール本体を指定のユーザに届ける。

ただ、このエンベロープはメール本体とは別物であり、ユーザのメールクライアントに主に表示されているのはメール本体の情報だ。

そのため、メール本体に記載された差出人(From)は、メールの送受信には一切の影響を与えておらず、正しい送信元とは限らないのだ。

では、正しいメール送信元(エンベロープ内の送信元)を確認してみよう。

Yahooメールであれば、右上の詳細ヘッダーボタンから確認可能だ。

Received: from rimbaraspam ([207.148.25.8])
by smtp-relay.gmail.com with ESMTPS id s11sm330624pjp.2.2019.07.02.12.42.23
for <xxxxxxxxxxxxxx@yahoo.co.jp>
(version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
Tue, 02 Jul 2019 12:42:23 -0700 (PDT)
X-Relaying-Domain: hexcro-4.com

Receivedは送信元・経由箇所を示す。

Receivedが複数ある場合は、本パラメータは順次上に追加されていく特性があるため、一番下のReceivedを確認するといい(上記の例は最も下のReceivedを抽出している)。

また、下記の例は正しいAmazonからのメールだ。比較してみよう。

Received: from 54.240.24.22  (EHLO a24-22.smtp-out.us-west-2.amazonses.com) (54.240.24.22)
by mta033.mail.bbt.yahoo.co.jp with SMTP; Sun, 07 Jul 2019 10:05:18 +0900
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple;
~(中略)~

From: "Amazon.co.jp" <store-news@amazon.co.jp>
To: xxxxxxxxxxxxxxxxxxxx@yahoo.co.jp

Receivedの値を比較した場合、以下になる。

偽造メール:rimbaraspam ([207.148.25.8])

Amazon:54.240.24.22 (EHLO a24–22.smtp-out.us-west-2.amazonses.com)

表示されている文字列から、すでに本物と偽物がわかる。

IPからWHOIS情報を検索しても、相手がAmazonなのか、そうじゃないのかが判別できる。

リンク先偽造の確認

今度はメール本文から真偽を判定してみよう。

一番簡単なのはリンク先のURLを見ることだ。

偽造メールは、メールを開いただけでは攻撃が成立しない。

メール内のURLにアクセスさせたり、添付ファイルを開かせて初めて攻撃が成り立つ。

そのため、怪しいメールが届いたらまずはリンク先のURLを確認しよう(間違っても、URLを開いて確認しない様に!)。

今回のはリンクにマウスを当てるやり方で確認してみた。

「確認用アカウント」ボタンのURLは以下であることが確認できる。

https://d.pr/DkiiH3?hmgqnRZ (リンク切れ)

明らかにAmazonのドメインではないことが確認できる。

Amazonが自身のドメイン以外のURLを、自身のメールに参照することは、まずありえないので、本メールは偽造メールであると判断できる。

タイトルからの推定

さらに手っ取り早い方法が存在する。

メールタイトルをGoogleで検索する手法だ。

今回の偽造メールのタイトルは「あなたのAmazonアカウントはセキュリティ上の理由で中断されました」だった。これを検索してみよう。

一番上にスパムと注意喚起されていることが確認できる。

偽造メールはあなた個人にではなく数万人に送信されている。

そのため、怪しいメールタイトルはすでにスパムと確認されて、誰かが記事にしている可能性が非常に高いのだ。

ただ、不幸にもあなたが最も早く偽造メールを受け取る可能性もあるため、本手法は過信しない様にしてほしい。

メールの偽造方法

今回紹介したメールの偽造方法は、以下だ。

  1. 送信元を偽造する
  2. 罠ページへのURLをリンクに設定する

2に関しては当たり前すぎる設定のため説明はしない。

また、1もほとんどのメールクライアント(Gmail, Yahooメール)が、設定可能になっている。

設定例としては以下のサイト等を参照してほしい。

要するに、偽造メールの送信は本当に簡単だということだ。

まとめ

今回は、私に届いた偽造メールの解析を行った。

メールとは50年前に設計された古い機能だ。

メールの機能としてのセキュリティ(暗号化やフィルタ機能)は年々改良されているが、基本的な設計や運用方法は大差がない。

メールは今現在でも、不特定多数に送信でき、タイトルや内容に好きなものが記載でき、(受信者が見る)メール本文の送信元を好きなドメインにできる。

攻撃者から見れば、これほど人を騙すために便利な道具はないといえるだろう。

そのためメールを運用するものは、常にその信ぴょう性を疑ってほしい。

P.S.

個人的にはメールという概念から社会が離脱することを切に願っている。正直、メーリングリストで回ってくるメールを確認するだけで仕事時間を消費してしまう。効率的に情報伝達する機能が、仕事そのものの効率を落としているなど笑い話にもならない。セキュリティ的にも効率的にも、50年前の概念だと私は考えている。

--

--