共有メールプロバイダー(Gmail)のSPF / DMARC-このメールはどのようにSPFを通過しましたか?

Dec 14 2020

最近、私たちの組織から来たと称する自称「ホワイトハットハッカー」からメールを受け取りました。

メールヘッダーによると、spf、dmarc、dkim、arcはすべて正常に通過し、Gmailはとにかくフラグを立てませんでした。

メールにはGoogleドメインを使用しており、ドメインの問題のspf / dmarcレコードは

SPF v = spf1 include:_spf.google.com -all

DMARC _dmarc.companyX.com v = DMARC1; p =なし; pct = 100; rua = mailto:[email protected]

(DMARC設定は現時点では何も検疫していないことを認識していますが、すべてのチェックに合格したため、これが役に立ったとは思いません)

SPFパス(2つあります。1つはドメインからのもので、もう1つは元の送信者ドメインからのものです)

受信-SPF:パス(google.com:[email protected]のドメインは許可された送信者として209.85.220.69を指定します)client-ip = 209.85.220.69;

受信-SPF:パス(google.com:[email protected]のドメインは195.216.236.82を許可された送信者として指定します)client-ip = 195.216.236.82;

私が理解できることから、許可された送信者として_spf.google.com(およびそれに関連付けられたIP)を指定したので、それらのサーバーを使用して(つまり、Gmailユーザーによって)送信されたすべての電子メールは有効です。私の理解は明らかに間違っていますが、このなりすましが通過するのを防ぐために、なぜ/どのように、またはさらに重要なことに、何を変更する必要があるのか​​わかりません。

攻撃者がインバウンドゲートウェイを使用して内部SPFチェックをバイパスするというGmailの脆弱性への言及を見つけましたが、これは8月に修正され、私が見る限り、SPFチェックは実際に行われています(そして合格しています) - https://ezh.es/blog/2020/08/the-confused-mailman-sending-spf-and-dmarc-passing-mail-as-any-gmail-or-g-suite-customer/ そして https://www.forbes.com/sites/leemathews/2020/08/20/google-fixed-a-dangerous-gmail-bug-that-allowed-email-spoofing/

これと同様の質問があります-フィッシングメールはどのようにしてSPF、DKIM、DMARCを通過しましたか?しかし、その質問の電子メールは実際には別のドメイン(From:Bank of AmericaではなくFrom:uber)からのものであり、この電子メールのFrom:は明示的にCompanyXであったため、これは適切ではないと思います。このような送信者をブロックする方法についてのその質問の解決策はありません。

質問

  1. Gmailユーザーが_spf.google.comを送信者として承認している他の会社になりすますことができないのはなぜですか。

  2. これを防ぐために、セットアップで何を変更できますか?

ありがとう


半完全なヘッダー-スペース上の理由から無関係だと思うものをいくつか削除しました。

Delivered-To: [email protected]
Return-Path: <[email protected]>
Received: from mail-sor-f69.google.com (mail-sor-f69.google.com. [209.85.220.69])
        by mx.google.com with SMTPS id a77sor4025261wme.15.2020.12.10.15.34.18
        for <[email protected]>
        (Google Transport Security);
        Thu, 10 Dec 2020 15:34:19 -0800 (PST)
Received-SPF: pass (google.com: domain of [email protected] designates 209.85.220.69 as permitted sender) client-ip=209.85.220.69;
Authentication-Results: mx.google.com;
       dkim=pass [email protected] header.s=20150623 header.b="xcnlWAQ/";
       arc=pass (i=2 spf=pass spfdomain=inbox.eu dkim=pass dkdomain=inbox.eu dmarc=pass fromdomain=inbox.eu);
       spf=pass (google.com: domain of [email protected] designates 209.85.220.69 as permitted sender) [email protected];
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=companyX.com
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass [email protected] header.s=20140211 header.b=OQtRvw0v;
       spf=pass (google.com: domain of [email protected] designates 195.216.236.82 as permitted sender) [email protected];
       dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=inbox.eu
Received: from eu-shark2.inbox.eu (eu-shark2.inbox.eu. [195.216.236.82])
        by mx.google.com with ESMTPS id v7si6670766wra.295.2020.12.10.15.34.17
        for <[email protected]>
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Thu, 10 Dec 2020 15:34:17 -0800 (PST)
Received-SPF: pass (google.com: domain of [email protected] designates 195.216.236.82 as permitted sender) client-ip=195.216.236.82;
Received: from eu-shark2.inbox.eu (localhost [127.0.0.1])
    by eu-shark2-out.inbox.eu (Postfix) with ESMTP id B3004442C39
    for <[email protected]>; Fri, 11 Dec 2020 01:34:16 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
    by eu-shark2-in.inbox.eu (Postfix) with ESMTP id A70E64428EF
    for <[email protected]>; Fri, 11 Dec 2020 01:34:16 +0200 (EET)
Received: from eu-shark2.inbox.eu ([127.0.0.1])
    by localhost (eu-shark2.inbox.eu [127.0.0.1]) (spamfilter, port 35)
    with ESMTP id CNGUsZY_Hba1 for <[email protected]>;
    Fri, 11 Dec 2020 01:34:16 +0200 (EET)
Received: from mail.inbox.eu (eu-pop1 [127.0.0.1])
    by eu-shark2-in.inbox.eu (Postfix) with ESMTP id 08A1B440DC5
    for <[email protected]>; Fri, 11 Dec 2020 01:34:16 +0200 (EET)
Received: from DESKTOPR10AFHO (unknown [39.34.131.177])
    (Authenticated sender: [email protected])
    by mail.inbox.eu (Postfix) with ESMTPA id 36E2F1BE00DA
    for <[email protected]>; Fri, 11 Dec 2020 01:34:14 +0200 (EET)
From: "'Mr White Hat' via Sales & Enquiries" <[email protected]>
To: <[email protected]>
X-Original-Sender: [email protected]
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 [email protected] header.s=20140211 header.b=OQtRvw0v;       spf=pass
 (google.com: domain of [email protected] designates 195.216.236.82
 as permitted sender) [email protected];
       dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=inbox.eu
X-Original-From: "Mr White Hat" <[email protected]>
Reply-To: "Mr White Hat" <[email protected]>```

回答

2 AdamKatz Dec 21 2020 at 23:38

編集したヘッダーをGoogleのMessageheaderツールが読み取れるものにマッサージする方法がわかりませんが、それは良い最初のステップになるでしょう。グーグルは私が持っているより少し多くの権限でそれがしたことをあなたに案内します(特にあなたの編集を与えられて)。

ヘッダーを手動で読み取ると(偽造されたものがないと仮定して)、これはinbox.euを介して送信され、SPFを渡します。ARC-Authentication-Results使用するヘッダ、認証された受信チェーンを(GoogleのGoogleにこの場合)信頼を拡張するためには、いくつかの興味深いデータがありますと言う部分に注意してくださいheader.from=inbox.eu -何とか変えFromヘッダーの後にこのヘッダが追加されましたが、前にAuthentication-Resultsヘッダが追加されました。

ARCが元のFromドメインであると言っていることを使用して、これはSPFと元の Fromヘッダーとの位置合わせのおかげでinbox.euのDMARCを渡します。次に、そのヘッダーは魔法のように会社に変更され(おそらく、攻撃者のアカウント内のGMailフィルターを介して?)、すでにGoogleのインフラストラクチャにあるため、SPFを渡します。

これは、参照したパッチが適用された脆弱性によく似てます。


SPFは共有ホストには適していません。グーグルは、SMTP検証することであること軽減しようとするmail fromコマンドやFromヘッダアドレスを証明可能あなたですが、何かが(、ARCヘッダの後、その最上位のその最終ホップに間違っていたAuthentication-Resultsし、Received-SPF一番上に縛らReceivedヘッダ)。

Googleに注目されるのではなく、SPFレコードv=spf1 ?all(「SPFは合格も不合格もできない」と書かれています)を設定し、代わりにDKIMを使用することをお勧めします。DMARCでは、アライメントを使用してパスするためにDKIMまたはSPFのいずれかが必要であるため、Googleのインフラストラクチャ内のFromヘッダードメインを微調整できる攻撃は、DMARCからうなずくSPFパスの作成に役立ちません。DKIMを偽造するには、暗号化を破るか、ドメインに代わって署名する権限を持つサーバーをだます必要があります。

DKIMなしでメールを送信する必要があるホストがある場合は、それらを明示的に(IPアドレスまたは非常にタイトなIP CIDRで)そのSPFレコードに追加しますが、DKIMにドメインを使用するようにGoogleを構成できる場合は、すべてのGoogleを祝福しないでください。

すべての責任ある電子メールサービスプロバイダーと電子メールマーケティングシステムは、DKIMもサポートしています。DMARCに戻ってp=none、実際に集計ログを監視して、見逃した可能性のある電子メールシステムを特定することを忘れないでください。