Paylaşılan e-posta sağlayıcısı (gmail) için SPF / DMARC - bu e-posta SPF'yi nasıl geçti?

Dec 14 2020

Kısa bir süre önce, kendi kuruluşumuzdan olduğunu iddia eden ve kendini "beyaz şapkalı hacker" olarak tanımlayan bir e-posta aldık.

Mail başlıklarına göre spf, dmarc, dkim ve arc hepsi tamam geçti ve gmail yine de işaretlemedi.

E-postamız için google etki alanlarını kullanıyoruz ve etki alanı için söz konusu spf / dmarc kaydı

SPF v = spf1 şunları içerir: _spf.google.com -all

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

(DMARC ayarının şu anda hiçbirini karantinaya almadığını biliyorum, ancak tüm kontroller geçildiği için bunun yardımcı olacağına inanmıyorum)

SPF geçişi (ve bunlardan ikisi var - biri alanımızdan, diğeri orijinal gönderen alanından)

Received-SPF: pass (google.com: alan adı [email protected], 209.85.220.69'u izin verilen gönderici olarak belirler) client-ip = 209.85.220.69;

Received-SPF: pass (google.com: [email protected] etki alanı 195.216.236.82'yi izin verilen gönderici olarak belirler) client-ip = 195.216.236.82;

Anlayabildiğim kadarıyla, izinli bir gönderen olarak _spf.google.com'u (ve ilişkili IP'leri) belirttiğimiz için, bu sunucular kullanılarak (yani herhangi bir gmail kullanıcısı tarafından) gönderilen herhangi bir e-posta geçerlidir. Anlayışım açıkça yanlış, ancak neden / nasıl veya daha da önemlisi bu sahtekarlığın geçmesini önlemek için neyi değiştirmem gerektiğinden emin değilim.

Gmail'de, saldırganın dahili SPF kontrolünü atlamak için gelen ağ geçitlerini kullandığı bir güvenlik açığına referanslar buldum, ancak bu Ağustos ayında düzeltildi ve görebildiğim kadarıyla, SPF kontrolü gerçekten yapılıyor (ve geçiyor) - https://ezh.es/blog/2020/08/the-confused-mailman-sending-spf-and-dmarc-passing-mail-as-any-gmail-or-g-suite-customer/ ve https://www.forbes.com/sites/leemathews/2020/08/20/google-fixed-a-dangerous-gmail-bug-that-allowed-email-spoofing/

Buna benzer bir soru var - Bir kimlik avı e-postası SPF, DKIM ve DMARC'yi nasıl geçti? ancak bu sorudaki e-postanın aslında farklı bir etki alanından geldiğini düşünmüyorum (From: Bank of America yerine From: uber), burada From: olarak bu e-postadaki açıkça CompanyX idi) ve Bu soruda gönderenlerin nasıl engelleneceği konusunda bir çözüm yok.

Sorular

  1. Bir gmail kullanıcısının _spf.google.com'u gönderen olarak yetkilendiren başka bir şirketin kimliğine bürünmesini engelleyen şey nedir?

  2. Bunun olmasını önlemek için kurulumumda neyi değiştirebilirim?

Teşekkürler


Yarı tam başlıklar - uzay nedenleriyle ilgisiz olduğunu düşündüğüm bazılarını çıkardı.

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]>```

Yanıtlar

2 AdamKatz Dec 21 2020 at 23:38

Redaksiyonu yapılmış başlıklarınızı Google'ın Messageheader aracının okuyabileceği bir şeye nasıl aktaracağımı çözemiyorum , ancak bu iyi bir ilk adım olabilir. Google, benden biraz daha fazla yetkiyle yaptıklarını size gösterecek (özellikle redaksiyonlarınız göz önüne alındığında).

Başlıklarınızı manuel olarak okurken (ve hiçbirinin sahte olmadığını varsayarsak), bu inbox.eu aracılığıyla gelir ve SPF'lerini iletir. ARC-Authentication-ResultsKullandığı başlık, Doğrulanmış Alınan Zincir diyor kısmını Not: (Google'a Google'dan bu durumda) güven uzatmak için bazı ilginç veriler var header.from=inbox.eu - header¨ birden değişiverdi sonra bu başlık eklenmiş ama önceAuthentication-Results başlık eklenmiştir.

ARC'nin orijinal From etki alanı olduğunu söylediği gibi, bu, SPF ve orijinal From başlık ile uyum sayesinde inbox.eu'nun DMARC'sinden geçer . Bu başlık daha sonra şirketinize sihirli bir şekilde değişir (belki saldırganın hesabındaki bir GMail filtresi aracılığıyla?) Ve zaten Google'ın altyapısında olduğu için SPF'den geçer.

Bu , bahsettiğiniz yamalı vuln'a çok benziyor.


SPF, paylaşılan ana bilgisayarlarda harika değildir. Google, SMTP mail fromkomutunun ve Frombaşlık adresinin kanıtlanabilir şekilde size ait olduğunu doğrulayarak bunu azaltmaya çalışır , ancak bu son atlamada bir şeyler ters gitti (en üstteki Authentication-Resultsve Received-SPFen üstteki Receivedbaşlığa bağlanan ARC başlığından sonra ).

Google'a borçlu olmak yerine, bir SPF kaydı ayarlamanızı v=spf1 ?all("SPF ne geçebilir ne de başarısız olabilir" diyor) ve bunun yerine DKIM kullanmanızı öneririm. DMARC gerektirir ya Google'ın altyapısı dahilinde başlığındaki itibaren etki alanını çimdik bir saldırı yardım DMARC'ye gelen nod alır bir SPF geçiş oluşturmaz böylece, DKIM veya SPF hizalama ile geçmek. DKIM'de sahtecilik yapmak, şifrelemeyi bozmayı veya etki alanınız adına oturum açma yetkisine sahip bazı sunucuları kandırmayı gerektirir.

DKIM olmadan posta göndermesi gereken ana makineniz varsa, bunları açık bir şekilde (IP adresi veya çok sıkı IP CIDR ile) bu SPF kaydına ekleyin, ancak Google'ı yalnızca alanınızı DKIM için kullanacak şekilde yapılandırabileceğiniz zaman tüm Google'ı kutsamayın .

Tüm sorumlu E-posta Hizmet Sağlayıcıları ve e-posta pazarlama sistemleri de DKIM'yi destekler. p=noneHangi e-posta sistemlerini kaçırmış olabileceğinizi anlamak için DMARC'ye geri dönmeyi ve toplu günlüklerinizi gerçekten izlemeyi unutmayın.