Warum können SPF, DKIM und DMARC einige Phishing-Attacken nicht stoppen?

In diesem Beitrag möchte ich das Thema E-Mail-Security aus der Perspektive von SPF, DKIM und DMARC erläutern und zeigen, wie Ihre eigene Domain beim Phishing unfreiwillig zum Mithelfer wird.

Teil 2 des Beitrags: Anatomie einer Erpressungskampagne aus der Google Cloud

Erpressungsmail

Bei einer routinemäßigen Überprüfung des Spam-Ordners habe ich einige interessante E-Mails entdeckt. Die beiden Erpressungsmails sind unten vollständig zu lesen. Nicht der Inhalt, sondern der Absender war interessant:

From: kоntakt@krеyman.de
To:   kоntakt@krеyman.de

Übrigens wurden die E-Mails an meine Seite an eine spezielle Adresse weitergeleitet. Das war bis zum 14.05.2026 der Fall.

Inhaltlich war die E-Mail eine klassische Erpressung mit erfundenen Drohungen: Mein Gerät sei gehackt worden, kompromittierende Inhalte seien gesichert worden und sollten innerhalb von 48 Stunden ein Lösegeld in Bitcoin gezahlt werden, sonst würden sie veröffentlicht. Technisch trivial, psychologisch für einige möglicherweise perfide. Gmail hatte die E-Mail korrekt als Spam markiert.

Sollten Sie eine ähnliche E-Mail erhalten haben und keine technischen Ursachen benötigen, finden Sie unter der Antwort auf Ihre möglichen Fragen untern dem Punkt: Erste Hilfe: Bin ich wirklich gehackt?

Solche Inhalte können im Allgemeinen als „Phishing” bezeichnet werden, sie fallen aber auch teileweise  unter die Kategorie Sextortion.

Anders als beim klassischen Phishing, bei dem über gefälschte Login-Seiten die Anmeldedaten gestohlen werden, gibt es hier keinen Klick-Köder, sondern eine reine Drohkulisse. Dieser Satz könnte einigen sicher unangenehm vorkommen: „Werfen Sie einen Blick auf den Absender dieser E-Mail. Ja, ich habe diese Nachricht direkt von Ihrem eigenen Konto gesendet.”

Was beide Angriffsarten gemeinsam haben, ist die Technik der Absender-Fälschung, auch Spoofing genannt. Und genau hier wird mein Fall technisch interessant.

Blick in den Header…

Ein Blick auf die technischen Eigenschaften der E-Mail zeigt, dass drei Überprüfung-Mechanismen (oder besser gesagt Verifikations- oder Überprüfungs-Framework) „PASS” meldeten:

dkim=pass header.i=@kreyman.de header.s=cloudpit header.b=Os3jHkJQ;
spf=pass (google.com: domain of kоntakt@kreyman.de designates 89.22.108.181 as permitted sender)
dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=kreyman.de

Zum Glück nutzt Gmail für die Spam-Bewertung ein vielschichtiges Modell mit vermutlich hunderten Features, von denen SPF, DKIM und DMARC nur drei sind. Selbst wenn die DKIM-Signatur stimmt, SPF passt und DMARC aligned ist, ist das noch keine Garantie dafür, dass eine solche E-Mail im Postfach landet.

Sicherlich wird auch Folgendes bewertet:

  • Inhalt (Sextortion-Sprache, Bitcoin-Forderung, Dringlichkeit, Drohung),
  • technische Anomalien (Self-Send-Pattern, E-Mail von sich selbst an sich selbst),
  • bekannte Indicators of Compromise (Bitcoin-Adresse aus bekannten Erpressungskampagnen).

Wie ist das möglich?

Eines vorweg: Niemand hat meinen Account übernommen und diese E-Mail an mich versendet. Außerdem gibt es gar keinen Account für kоntakt@kreyman.de, den jemand übernehmen könnte.

Um diese Frage zu beantworten, lohnt sich ein Blick auf die technischen Eigenschaften von SPF, DKIM und DMARC.

Die Rolle von SPF, DKIM und DMARC

Alle diese Abkürzungen sind die TXT-Einträge in der DNS-Konfiguration einer Website.

SPF (Sender Policy Framework)

SPF legt fest, welcher Server (IP-Adresse oder FQDN) überhaupt berechtigt ist, die E-Mails im Namen einer Domain zu versenden. Das bedeutet, dass die Server, die als Mailserver (MX) für meine Domain und im SPF-Eintrag eingetragen sind, dürfen im Namen meiner Domain sprechen.

Meine Konfiguration:

v=spf1 a mx include:secure-mailgate.com ~all
  • a         – ein A-Record
  • mx     –  ein MX-Record, welcher die angegebene Domäne des Senders enthält.
  • include:secure-mailgate.com – die im SPF-Record von secure-mailgate.com aufgelisteten IPs gelten zusätzlich.
  • ~all  steht für SoftFail. Wenn der Server nicht auf der Liste steht, ist es wahrscheinlich Spam, das trotzdem eingelassen wird. Ehrlich gesagt ist das keine optimale Konfiguration für eine Produktionsumgebung.

Die Alternative zu ~all  wäre -all (Hardfail). Alle nicht autorisierte Mails werden strikt abgelehnt. Das ist zwar konsequenter, kann aber in Forwarding-Szenarien problematisch sein, weil weitergeleitete E-Mails von Servern stammen, die im ursprünglichen SPF-Record nicht erlaubt sind.

DKIM (DomainKeys Identified Mail)

Während SPF geprüft hat, dass die Mail von einer „richtigen“ Domain kommt, stellt DKIM sicher, dass eine E-Mail kryptografisch signiert ist und auf dem Weg nicht verändert wurde.

Der Ablauf besteht aus zwei Schritten:

Im ersten Schritt wird ein Body-Hash (bh=) gebildet. Der versendende Mailserver berechnet einen Hash (in der Regel SHA-256) über den E-Mail-Body und über ausgewählte Header-Felder, wie From, Subject und Date. Beispiel aus der E-Mail (Base64-kodiert):

bh=EDSAFZwvfKUzO0iRIkYnJ8NwTxINd4WZiLHYe8CxC74=; 
h=From:To:Subject:Date:From;

Im zweiten Schritt findet die Signierung statt. Der berechnete Hash wird mit dem privaten RSA-Schlüssel verschlüsselt. Diese Signatur wird in den Mail-Header eingefügt:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kreyman.de;

Das Feld b= enthält die eigentliche Signatur (verschlüsselter Hash, ebenfalls Base64-kodiert):

b=Os3jHkJQiwMeclhHq9GSvRflm99gdudZw2rRxa8HJW5vijvRAhr1FKXWAyzvB6g5h PPDKBRMcAHTdbQq0mUat4N6GQnytD2h/RRc9Q8KZYRCRtxPGyd7yG1fq36o1SBAe1F GjJzAWGL/O6rbZPbtO0QvSPPB8pLsbTaKi88dj54=

Der private Schlüssel liegt auf den Outbound-Mailservern meines Hosters Alfahosting. Alfahosting hat das Schlüsselpaar beim Einrichten von DKIM für meine Domain generiert und den öffentlichen Teil automatisch als DNS-Record veröffentlicht. Somit ist er öffentlich einsehbar.

Was passiert beim Empfänger? Bevor die E-Mail im Postfach landet, passiert Folgendes:

Der empfangende Mailserver, in meinem Fall mx.google.com, liest beim Eintreffen der E-Mail zuerst die Metadaten aus dem DKIM-Header. Dazu gehören:

  • die signierende Domain (d=kreyman.de),
  • den Selector (s=cloudpit),
  • die signierten Header-Felder (h=From:To:Subject:Date:From),
  • den Body-Hash (bh=…)
  • und die Signatur (b=…).
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; 
d=kreyman.de; s=cloudpit; 
h=From:To:Subject:Date:From; 
bh=EDSAFZwvfKUzO0iRIkYnJ8NwTxINd4WZiLHYe8CxC74=; 
b=Os3jHkJQiwMeclhHq9GSv...

Aus Selector und Domain baut er die DNS-Adresse zusammen, an der der öffentliche Schlüssel liegt: cloudpit._domainkey.kreyman.de. Diesen TXT-Record ruft er ab und erhält den öffentlichen Schlüssel.

Body-Hash: Der Mailserver berechnet selbst einen Hash über den empfangenen Body und vergleicht den Wert mit dem Wert aus bh=. Wenn der Wert übereinstimmt, wurde der Inhalt der E-Mail unterwegs nicht verändert.

Header-Hash und Signatur: Der Mailserver berechnet selbst einen Hash über die in h= aufgelisteten Header-Felder. Parallel dazu entschlüsselt er die Signatur aus b= mit dem öffentlichen Schlüssel, den er aus dem DNS geholt hat. Stimmen beide Werte überein und sind die Header unverändert, hatte der Versender auch Zugriff auf den passenden privaten Schlüssel.

DMARC (Domain-based Message Authentication, Reporting and Conformance)

DMARC ist eine übergeordnete Konfiguration, die die beiden oben genannten Mechanismen ergänzt. Hier wird festgelegt, was mit einer E-Mail geschehen sollte, wenn diese die Überprüfungen (Alignment-Prüfung) nicht besteht.

Alignment bedeutet die Übereinstimmung zwischen dem Header-From (die Adresse, die der Nutzer im E-Mail-Client sieht) und der durch SPF bzw. DKIM bestätigten Domain aus dem d=-Feld. Die DMARC-Prüfung gilt als bestanden, wenn mindestens einer dieser beiden Parameter mit dem Header-From übereinstimmt.

DMARC bietet außerdem die Möglichkeit, bestimmte Folgeschritte zu definieren, sollte die Überprüfung fehlschlagen:

  • p=none – nichts tun, nur Reports senden
  • p=quarantine – in den Spam-Ordner verschieben
  • p=reject – komplett ablehnen

Zusätzlich gibt es die Möglichkeit, Reports zu generieren und sie an die angegebene Adresse zu versenden.

Meine Konfiguration:

v=DMARC1; p=quarantine; adkim=r; aspf=r; 
rua=mailto:meinemail@gmail.com; ruf=mailto:meinemail@gmail.com;
  • p=quarantine – E-Mails, die die Prüfung nicht bestehen, landen im Spam.
  • adkim=r / aspf=r – r steht für relaxed. Das bedeutet, wenn die E-Mail von einer Subdomain (z. B. ccsp.kreyman.de) stammt, wird sie trotzdem als zur Hauptdomain passend akzeptiert. Die strenge Alternative wäre s (strict)
  • rua & ruf – hier werden die Meldeadressen für die Statistikberichte (rua) und die detaillierten Fehlerberichte (ruf) eingetragen.

Wie man sieht, kann eine E-Mail alle Mechanismen von SPF, DKIM und DMARC vollständig durchlaufen und dennoch kriminell sein.

Fazit

Was lernen wir aus dieser Geschichte? Erstens, eine Weiterleitung hat (wahrscheinlich von Provider zu Provider unterschiedlich) sehr unangenehme Seiteneffekte.  Die eigene Domain wird so zum technisch beglaubigten Versandkanal für E-Mails, die der Domain-Inhaber nie autorisiert hat. Weder SPF noch DKIM oder DMARC schützen davor, dass Fremde eine Domain auf die oben beschriebene Art und Weise missbrauchen können.

Eine technisch saubere Lösung für dieses Problem ist ARC (Authenticated Received Chain). Dabei handelt es sich um einen Standard, bei dem Forwarder keine neue DKIM-Signatur erzeugen, sondern den ursprünglichen Auth-Status der E-Mail in einer separaten Signatur „verpacken”. Empfänger sehen dann, dass die E-Mail nur weitergeleitet wurde, und können den ursprünglichen Absender prüfen. Wie es scheint, ist diese Technologie noch nicht bei allen Hostern implementiert.

Wer eine Kontaktadresse auf seiner Website angibt, sollte genau wissen, wie sein Hoster mit weitergeleiteten E-Mails umgeht. In meinem Fall habe ich die Weiterleitung deaktiviert.

 


Erste Hilfe: Bin ich wirklich gehackt?

Wenn Sie diesen Beitrag gefunden haben, weil Sie eine ähnliche E-Mail erhalten haben, hier die wichtigste Antwort vorweg: Mit extrem hoher Wahrscheinlichkeit ist die Behauptung in der E-Mail gelogen. Auf Ihrem Gerät befindet sich kein Trojaner, niemand hat über Ihre Webcam gefilmt und es existieren keine kompromittierenden Aufnahmen. Diese E-Mails werden millionenfach automatisiert versendet. Ein winziger Anteil der Empfänger zahlt jedoch aus Panik – und genau das ist das Geschäftsmodell.

Auch wenn der Absender Ihre eigene E-Mail-Adresse zu sein scheint: Das beweist nicht, dass Ihr Konto kompromittiert ist. Es ist technisch erstaunlich einfach, einen Absender zu fälschen.

Was tun?

  • Nicht zahlen! Wer einmal zahlt, landet auf einer Liste als „zahlungsbereit” und bekommt weitere Forderungen.
  • Nicht antworten. Jede Reaktion bestätigt dem Versender, dass diese E-Mail-Adresse aktiv genutzt wird (in meinem Fall ist es sogar unmöglich)
  • E-Mail löschen oder als Spam (falls es nicht der Fall ist) markieren.
  • Bei akuter Sorge, falls Sie doch nicht einschlafen können: Ändern Sie die Passwörter wichtiger Konten und aktivieren Sie wenn möglich die Zwei-Faktor-Authentifizierung.

Erpressungsmail 1:

Grüße! Ich muss Ihnen schlechte Nachrichten mitteilen. Vor ungefähr einigen Monaten habe ich Zugriff auf Ihre Geräte erhalten, die Sie zum Surfen im Internet verwenden. Danach habe ich begonnen, Ihre Internetaktivitäten zu verfolgen. Hier ist der Ablauf der Ereignisse: Irgendwann Vorher habe ich Zugang zu E-Mail-Konten von Hackern erworben (heute ist es ziemlich einfach, so etwas online zu kaufen). Offensichtlich habe ich es problemlos geschafft, mich in Ihr E-Mail-Konto einzuloggen [kоntаkt@krеуman.de] Wenn Sie Zweifel haben, kann ich ein paar Mausklicks machen und alle Ihre Videos werden an Ihre Freunde, Kollegen und Verwandten weitergegeben. Ich habe auch überhaupt kein Problem damit, sie öffentlich zugänglich zu machen. Ich denke, das möchten Sie wirklich nicht, wenn man die Besonderheiten der Videos bedenkt, die Sie sich gerne ansehen. (Sie wissen genau, was ich meine) es wird eine wahre Katastrophe für Sie verursachen. Lassen Sie es uns so regeln: Sie überweisen mir 700 EUR (in Bitcoin-Äquivalent zum Wechselkurs zum Zeitpunkt der Überweisung), und sobald die Überweisung eingegangen ist, werde ich all dieses schmutzige Zeug sofort löschen.

Meine Bitcoin-Wallet-Adresse lautet: bc1q

Danach werden wir uns vergessen. Ich verspreche auch, alle schädliche Software von Ihren Geräten zu deaktivieren und zu löschen. Vertrauen Sie mir, ich halte mein Wort. Dies ist ein fairer Deal und der Preis ist ziemlich niedrig, wenn man bedenkt, dass ich schon seit einiger Zeit dein Profil und deinen Traffic checke. Im Falle, Wenn Sie nicht wissen, wie Sie die Bitcoins kaufen und übertragen sollen, können Sie jede moderne Suchmaschine verwenden. Hier ist meine Bitcoin-Wallet: […] Sie haben weniger als 48 Stunden ab dem Zeitpunkt, an dem Sie diese E-Mail geöffnet haben (genau 2 Tage).

Erpressungsmail 2:

Hallo,

Ich habe schlechte Nachrichten für Sie.

Vor einiger Zeit wurde Ihr Gerät durch einen von mir entwickelten Trojaner, ein sogenanntes Remote-Administration-Tool (RAT), infiziert. Dieses Programm hat mir unbemerkten Zugriff auf Ihr gesamtes System verschafft: Ihre Dateien, Ihre Konten und sogar Ihre Kamera.

Werfen Sie einen Blick auf den Absender dieser E-Mail. Ja, ich habe diese Nachricht direkt von Ihrem eigenen Konto gesendet. Dies war möglich, weil ich volle Kontrolle über Ihr Gerät habe. Während Sie auf fragwürdigen Webseiten unterwegs waren, habe ich heimlich über Ihre Webcam alles aufgezeichnet. Ich habe genau gesehen, was Sie getan haben und wie viel Vergnügen Sie dabei hatten. Dieses Video existiert und ich kann es jederzeit verbreiten.

Nachdem ich meine Aufnahmen gemacht hatte, habe ich meine Malware entfernt, um keine Spuren zu hinterlassen. Falls Sie an meinen Worten zweifeln, reicht ein einziger Mausklick von mir, um das Video an alle Ihre E-Mail-Kontakte, Freunde und Verwandten zu senden oder es auf sozialen Netzwerken und im Darknet zu veröffentlichen. Ebenso habe ich die Möglichkeit, all Ihre Dateien öffentlich zugänglich zu machen. 

Sie haben jedoch die Möglichkeit, das zu verhindern. Alles, was Sie tun müssen, ist, mir 920 USD in Bitcoin (BTC) zu überweisen. Nach erfolgreicher Transaktion werde ich alles unwiderruflich löschen und keine weiteren Maßnahmen ergreifen. Ich halte mein Wort.

Sie können die Zahlung ganz einfach vornehmen: Senden Sie den Betrag an meine Bitcoin-Wallet-Adresse. Falls Sie noch keine Erfahrung mit Kryptowährungen haben, können Sie die Software „Atomicwallet“ oder „Exodus Wallet herunterladen und verwenden.

Meine Bitcoin-Wallet-Adresse lautet: bc1q

Alternativ können Sie den Betrag auch per QR-Code direkt von Ihrem Wallet senden.

Zeit ist ein wichtiger Faktor. Sie haben nicht mehr als 12 Stunden, nachdem Sie diese E-Mail geöffnet haben. Da ich auch Zugriff auf Ihr E-Mail- Konto habe, weiß ich genau, wann Sie diese Nachricht gelesen haben. Falls die Zahlung nicht innerhalb dieser Frist erfolgt, werde ich wie angekündigt handeln.

Ein Rat von mir: Ändern Sie regelmäßig Ihre Passwörter und halten Sie Ihre Geräte stets mit den neuesten Sicherheitsupdates auf dem neuesten Stand.