<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositories einreichen.
**Sofort verfügbare Einrichtung für Schwachstellenbewertung und Penetrationstests**. Führen Sie einen vollständigen Pentest von überall aus mit 20+ Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- und Exploit-Module, um ihnen etwas Zeit zu geben, tiefer zu graben, Shells zu öffnen und Spaß zu haben.
Das **Simple Mail Transfer Protocol (SMTP)** ist ein Protokoll, das innerhalb der TCP/IP-Suite für das **Senden und Empfangen von E-Mails** verwendet wird. Aufgrund seiner Einschränkungen beim Warten auf Nachrichten beim Empfänger wird SMTP häufig zusammen mit entweder **POP3 oder IMAP** eingesetzt. Diese zusätzlichen Protokolle ermöglichen es Benutzern, Nachrichten in einem Server-Postfach zu speichern und sie regelmäßig herunterzuladen.
In der Praxis ist es üblich, dass **E-Mail-Programme****SMTP zum Senden von E-Mails** verwenden, während sie zum **Empfangen****POP3 oder IMAP** nutzen. Auf Unix-basierten Systemen sticht **sendmail** als der am häufigsten für E-Mail-Zwecke verwendete SMTP-Server hervor. Das kommerzielle Paket namens Sendmail umfasst einen POP3-Server. Darüber hinaus bietet **Microsoft Exchange** einen SMTP-Server und die Möglichkeit, POP3-Unterstützung einzuschließen.
Wenn Sie die Möglichkeit haben, **den Opfer dazu zu bringen, Ihnen eine E-Mail zu senden** (zum Beispiel über das Kontaktformular der Webseite), tun Sie es, denn **Sie könnten etwas über die interne Topologie** des Opfers erfahren, wenn Sie die Header der E-Mail sehen.
Sie können auch eine E-Mail von einem SMTP-Server erhalten, der versucht, **eine E-Mail an eine nicht existierende Adresse auf diesem Server zu senden** (weil der Server dem Angreifer eine NDN-E-Mail senden wird). Stellen Sie jedoch sicher, dass Sie die E-Mail von einer erlaubten Adresse senden (überprüfen Sie die SPF-Richtlinie) und dass Sie NDN-Nachrichten empfangen können.
Sie sollten auch **verschiedene Inhalte senden, da Sie möglicherweise interessantere Informationen** in den Headern finden können, wie z.B.: `X-Virus-Scanned: by av.domain.com`\
Wenn der Server NTLM-Authentifizierung (Windows) unterstützt, können Sie sensible Informationen (Versionen) erhalten. Weitere Informationen [**hier**](https://medium.com/@m8r0wn/internal-information-disclosure-using-hidden-ntlm-authentication-18de17675666).
Einige SMTP-Server vervollständigen automatisch die Absenderadresse, wenn der Befehl "MAIL FROM" ohne vollständige Adresse ausgegeben wird, wodurch ihr interner Name offengelegt wird:
VRFY (Verify) ist ein Befehl in SMTP (Simple Mail Transfer Protocol), der normalerweise verwendet wird, um die Gültigkeit einer E-Mail-Adresse zu überprüfen. Es kann von Hackern verwendet werden, um gültige E-Mail-Adressen auf einem Mailserver zu identifizieren. Es wird jedoch nicht mehr von allen Mailservern unterstützt, da es als Sicherheitsrisiko angesehen wird.
Der EXPN-Befehl wird verwendet, um die vollständige E-Mail-Adresse eines bestimmten Postfachs auf dem SMTP-Server abzurufen. Dies kann dazu führen, dass sensible Informationen offengelegt werden, da der Server die tatsächliche E-Mail-Adresse zurückgibt, wenn die EXPN-Funktion aktiviert ist. Es ist wichtig, diese Funktion zu deaktivieren, um die Offenlegung von Informationen zu vermeiden.
**Sofort verfügbare Einrichtung für Schwachstellenbewertung & Penetrationstests**. Führen Sie einen vollständigen Pentest von überall aus mit 20+ Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- & Exploit-Module, um ihnen etwas Zeit zu geben, tiefer zu graben, Shells zu öffnen und Spaß zu haben.
**Zustellungsstatusbenachrichtigungsberichte**: Wenn Sie eine **E-Mail** an eine Organisation an eine **ungültige Adresse** senden, wird die Organisation Sie benachrichtigen, dass die Adresse ungültig war, indem sie Ihnen eine **E-Mail zurücksendet**. **Header** der zurückgesendeten E-Mail werden möglicherweise **sensible Informationen** enthalten (wie die IP-Adresse der Maildienste, die mit den Berichten interagiert haben, oder Informationen zur Antivirensoftware).
Die SMTP-Schmuggel-Schwachstelle ermöglichte es, alle SMTP-Schutzmaßnahmen zu umgehen (weitere Informationen zu den Schutzmaßnahmen finden Sie im nächsten Abschnitt). Weitere Informationen zum SMTP-Schmuggel finden Sie unter:
Organisationen werden daran gehindert, unbefugte E-Mails in ihrem Namen zu versenden, indem sie **SPF**, **DKIM** und **DMARC** einsetzen, da das Spoofing von SMTP-Nachrichten einfach ist.
Ein **vollständiger Leitfaden zu diesen Gegenmaßnahmen** ist unter [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/) verfügbar.
SPF wurde 2014 "veraltet" (https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/). Dies bedeutet, dass anstelle eines **TXT-Eintrags** in `_spf.domain.com` ein Eintrag in `domain.com` mit der **gleichen Syntax** erstellt wird.\
Darüber hinaus ist es recht häufig, etwas wie `"v=spf1 include:_spf.google.com ~all"` zu finden, um frühere SPF-Einträge wiederzuverwenden.
**Sender Policy Framework** (SPF) ist ein Mechanismus, der es Mail Transfer Agents (MTAs) ermöglicht zu überprüfen, ob ein Host, der eine E-Mail sendet, autorisiert ist, indem er eine Liste autorisierter Mailserver abfragt, die von den Organisationen definiert wurden. Diese Liste, die IP-Adressen/Bereiche, Domains und andere Entitäten spezifiziert, die **autorisiert sind, E-Mails im Namen eines Domainnamens zu senden**, enthält verschiedene "**Mechanismen**" im SPF-Eintrag.
| ALL | Passt immer; wird für ein Standardergebnis wie `-all` für alle IPs verwendet, die nicht von vorherigen Mechanismen abgeglichen wurden. |
| A | Wenn der Domainname einen Adresseneintrag (A oder AAAA) hat, der auf die Adresse des Absenders aufgelöst werden kann, wird er abgeglichen. |
| IP4 | Wenn der Absender in einem bestimmten IPv4-Adressbereich ist, passt es. |
| IP6 | Wenn der Absender in einem bestimmten IPv6-Adressbereich ist, passt es. |
| MX | Wenn der Domainname einen MX-Eintrag hat, der auf die Adresse des Absenders auflöst, wird er abgeglichen (d.h. die E-Mail stammt von einem der eingehenden Mailserver der Domain). |
| PTR | Wenn der Domainname (PTR-Eintrag) für die Adresse des Clients in der angegebenen Domain ist und dieser Domainname auf die Adresse des Clients auflöst (forward-confirmed reverse DNS), passt es. Dieser Mechanismus wird nicht empfohlen und sollte vermieden werden, wenn möglich. |
| EXISTS | Wenn der angegebene Domainname zu einer beliebigen Adresse auflöst, passt es (unabhängig von der aufgelösten Adresse). Dies wird selten verwendet. Zusammen mit der SPF-Makrosprache bietet es komplexere Abgleiche wie DNSBL-Abfragen. |
| INCLUDE | Verweist auf die Richtlinie einer anderen Domain. Wenn die Richtlinie dieser Domain bestanden wird, wird dieser Mechanismus bestanden. Wenn jedoch die eingeschlossene Richtlinie fehlschlägt, wird die Verarbeitung fortgesetzt. Um die Richtlinie einer anderen Domain vollständig zu delegieren, muss die Weiterleitungs-Erweiterung verwendet werden. |
| REDIRECT | <p>Ein Redirect ist ein Zeiger auf einen anderen Domainnamen, der eine SPF-Richtlinie hostet, er ermöglicht es, dass mehrere Domains dieselbe SPF-Richtlinie teilen. Es ist nützlich, wenn mit einer großen Anzahl von Domains gearbeitet wird, die die gleiche E-Mail-Infrastruktur teilen.</p><p>Die SPF-Richtlinie der im Redirect-Mechanismus angegebenen Domain wird verwendet.</p> |
Es ist auch möglich, **Qualifizierer** zu identifizieren, die anzeigen, **was getan werden soll, wenn ein Mechanismus abgeglichen wird**. Standardmäßig wird der **Qualifizierer "+"** verwendet (daher bedeutet ein abgeglichener Mechanismus, dass er erlaubt ist).\
In der Regel finden Sie **am Ende jeder SPF-Richtlinie** etwas wie: **\~all** oder **-all**. Dies wird verwendet, um anzuzeigen, dass **wenn der Absender keiner SPF-Richtlinie entspricht, die E-Mail als nicht vertrauenswürdig markiert (\~) oder abgelehnt (-) werden sollte**.
* **`~`**: Kennzeichnet SOFTFAIL und dient als Mittelweg zwischen NEUTRAL und FAIL. E-Mails, die dieses Ergebnis erfüllen, werden in der Regel akzeptiert, aber entsprechend markiert.
* **`-`**: Zeigt FAIL an und legt nahe, dass die E-Mail abgelehnt werden sollte.
Im folgenden Beispiel wird die **SPF-Richtlinie von google.com** veranschaulicht. Beachten Sie die Einbeziehung von SPF-Richtlinien aus verschiedenen Domains innerhalb der ersten SPF-Richtlinie:
Traditionell war es möglich, jede Domain zu fälschen, die keinen korrekten/keinen SPF-Eintrag hatte. **Heutzutage** wird eine **E-Mail von einer Domain ohne gültigen SPF-Eintrag** wahrscheinlich automatisch **abgelehnt/als nicht vertrauenswürdig markiert**.
Um den SPF einer Domain zu überprüfen, können Sie Online-Tools wie: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html) verwenden.
DKIM wird verwendet, um ausgehende E-Mails zu signieren, was ihre Validierung durch externe Mail Transfer Agents (MTAs) ermöglicht, indem der öffentliche Schlüssel der Domain aus dem DNS abgerufen wird. Dieser öffentliche Schlüssel befindet sich in einem TXT-Eintrag der Domain. Um auf diesen Schlüssel zuzugreifen, muss man sowohl den Selektor als auch den Domainnamen kennen.
Um beispielsweise den Schlüssel anzufordern, sind der Domainname und der Selektor unerlässlich. Diese Informationen finden sich im E-Mail-Header `DKIM-Signature`, z. B. `d=gmail.com;s=20120113`.
DMARC verbessert die E-Mail-Sicherheit, indem es auf den SPF- und DKIM-Protokollen aufbaut. Es umreißt Richtlinien, die Mailserver bei der Behandlung von E-Mails aus einer bestimmten Domäne anleiten, einschließlich der Handhabung von Authentifizierungsfehlern und der Bestimmung, wohin Berichte über E-Mail-Verarbeitungsaktionen gesendet werden sollen.
> Wenn ich eine E-Mail von pielovers.demon.co.uk erhalte und es keine SPF-Daten für pielovers gibt, sollte ich dann eine Ebene zurückgehen und SPF für demon.co.uk testen? Nein. Jede Subdomäne bei Demon ist ein anderer Kunde, und jeder Kunde könnte seine eigene Richtlinie haben. Es würde keinen Sinn machen, wenn die Richtlinie von Demon standardmäßig für alle Kunden gelten würde; wenn Demon das tun möchte, kann es SPF-Einträge für jede Subdomäne einrichten.
> Daher lautet der Rat an SPF-Verleger: Sie sollten für jede Subdomäne oder jeden Hostnamen einen SPF-Eintrag hinzufügen, der über einen A- oder MX-Eintrag verfügt.
Das ergibt Sinn - eine Subdomäne kann sich durchaus an einem anderen geografischen Standort befinden und eine sehr unterschiedliche SPF-Definition haben.
Beim Versenden von E-Mails ist es entscheidend, sicherzustellen, dass sie nicht als Spam markiert werden. Dies wird oft durch die Verwendung eines **Relay-Servers erreicht, der vom Empfänger vertraut wird**. Eine häufige Herausforderung besteht jedoch darin, dass Administratoren möglicherweise nicht vollständig darüber im Bilde sind, welche **IP-Bereiche sicher zuzulassen sind**. Dieses mangelnde Verständnis kann zu Fehlern bei der Einrichtung des SMTP-Servers führen, ein Risiko, das in Sicherheitsbewertungen häufig identifiziert wird.
Ein Workaround, den einige Administratoren verwenden, um Probleme bei der E-Mail-Zustellung zu vermeiden, insbesondere im Zusammenhang mit der Kommunikation mit potenziellen oder laufenden Kunden, besteht darin, **Verbindungen von jeder IP-Adresse zuzulassen**. Dies wird durch Konfigurieren des Parameters `mynetworks` des SMTP-Servers erreicht, um alle IP-Adressen zu akzeptieren, wie unten gezeigt:
Um zu überprüfen, ob ein Mail-Server ein offenes Relay ist (was bedeutet, dass er E-Mails von jeder externen Quelle weiterleiten könnte), wird häufig das `nmap`-Tool verwendet. Es enthält ein spezifisches Skript, das für diesen Test entwickelt wurde. Der Befehl für einen ausführlichen Scan auf einem Server (zum Beispiel mit der IP 10.10.10.10) auf Port 25 mit `nmap` lautet:
Wenn Sie einen Fehler bei der Verwendung der dkim Python-Bibliothek beim Parsen des Schlüssels erhalten, können Sie gerne den folgenden verwenden.\
**HINWEIS**: Dies ist nur eine schnelle Lösung, um schnelle Überprüfungen durchzuführen, falls aus irgendeinem Grund der OpenSSL-Privatschlüssel **nicht von dkim geparst werden kann**.
## The receiver won't be able to check it, but the email will appear as signed (and therefore, more trusted)
dkim_selector="s1"
sig = dkim.sign(message=msg_data,selector=str(dkim_selector).encode(),domain=sender_domain.encode(),privkey=dkim_private_key.encode(),include_headers=headers)
**Weitere Informationen zu diesen Schutzmaßnahmen finden Sie unter** [**https://seanthegeek.net/459/demystifying-dmarc/**](https://seanthegeek.net/459/demystifying-dmarc/)
Normalerweise enthält `/etc/postfix/master.cf`, wenn installiert, **Skripte zur Ausführung**, wenn z. B. eine neue E-Mail von einem Benutzer empfangen wird. Zum Beispiel bedeutet die Zeile `flags=Rq user=mark argv=/etc/postfix/filtering-f ${sender} -- ${recipient}`, dass `/etc/postfix/filtering` ausgeführt wird, wenn eine neue E-Mail vom Benutzer mark empfangen wird.
SMTP (Simple Mail Transfer Protocol) is a TCP/IP protocol used in sending and receiving e-mail. However, since it is limited in its ability to queue messages at the receiving end, it is usually used with one of two other protocols, POP3 or IMAP, that let the user save messages in a server mailbox and download them periodically from the server.
**Sofort einsatzbereite Einrichtung für Schwachstellenanalyse und Penetrationstests**. Führen Sie einen vollständigen Pentest von überall aus mit mehr als 20 Tools & Funktionen durch, die von der Aufklärung bis zum Reporting reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- und Exploit-Module, um ihnen etwas Zeit zu geben, tiefer zu graben, Shells zu öffnen und Spaß zu haben.
<summary><strong>Erlernen Sie AWS-Hacking von Null auf Held mit</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](https://peass.creator-spring.com)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github Repositories einreichen.