From 086b5655a03e0593cbbd0c5b8254aadf6fe17670 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 28 Jul 2025 10:13:09 +0000 Subject: [PATCH] Translated ['src/generic-methodologies-and-resources/phishing-methodolog --- src/SUMMARY.md | 1 + .../phishing-methodology/README.md | 56 +++++----- .../phishing-methodology/homograph-attacks.md | 104 ++++++++++++++++++ 3 files changed, 135 insertions(+), 26 deletions(-) create mode 100644 src/generic-methodologies-and-resources/phishing-methodology/homograph-attacks.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 4a374c24d..4f96c20dc 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -32,6 +32,7 @@ - [Clone a Website](generic-methodologies-and-resources/phishing-methodology/clone-a-website.md) - [Detecting Phishing](generic-methodologies-and-resources/phishing-methodology/detecting-phising.md) - [Discord Invite Hijacking](generic-methodologies-and-resources/phishing-methodology/discord-invite-hijacking.md) + - [Homograph Attacks](generic-methodologies-and-resources/phishing-methodology/homograph-attacks.md) - [Mobile Phishing Malicious Apps](generic-methodologies-and-resources/phishing-methodology/mobile-phishing-malicious-apps.md) - [Phishing Files & Documents](generic-methodologies-and-resources/phishing-methodology/phishing-documents.md) - [Basic Forensic Methodology](generic-methodologies-and-resources/basic-forensic-methodology/README.md) diff --git a/src/generic-methodologies-and-resources/phishing-methodology/README.md b/src/generic-methodologies-and-resources/phishing-methodology/README.md index 33970bced..8f41141f4 100644 --- a/src/generic-methodologies-and-resources/phishing-methodology/README.md +++ b/src/generic-methodologies-and-resources/phishing-methodology/README.md @@ -1,12 +1,12 @@ -# Phishing-Methodologie +# Phishing Methodology {{#include ../../banners/hacktricks-training.md}} -## Methodologie +## Methodology -1. Rekognoszieren Sie das Opfer -1. Wählen Sie die **Opferdomain**. -2. Führen Sie eine grundlegende Webenumeration durch, **um nach Anmeldeportalen** zu suchen, die vom Opfer verwendet werden, und **entscheiden** Sie, welches Sie **nachahmen** möchten. +1. Recon der Zielperson +1. Wählen Sie die **Ziel-Domain** aus. +2. Führen Sie eine grundlegende Webenumeration durch, **um nach Login-Portalen** zu suchen, die von der Zielperson verwendet werden, und **entscheiden** Sie, welches Sie **nachahmen** möchten. 3. Verwenden Sie einige **OSINT**, um **E-Mails zu finden**. 2. Bereiten Sie die Umgebung vor 1. **Kaufen Sie die Domain**, die Sie für die Phishing-Bewertung verwenden möchten. @@ -14,25 +14,29 @@ 3. Konfigurieren Sie den VPS mit **gophish**. 3. Bereiten Sie die Kampagne vor 1. Bereiten Sie die **E-Mail-Vorlage** vor. -2. Bereiten Sie die **Webseite** vor, um die Anmeldeinformationen zu stehlen. +2. Bereiten Sie die **Webseite** vor, um die Anmeldedaten zu stehlen. 4. Starten Sie die Kampagne! ## Generieren Sie ähnliche Domainnamen oder kaufen Sie eine vertrauenswürdige Domain ### Techniken zur Variation von Domainnamen -- **Schlüsselwort**: Der Domainname **enthält** ein wichtiges **Schlüsselwort** der ursprünglichen Domain (z.B. zelster.com-management.com). -- **getrennte Subdomain**: Ändern Sie den **Punkt in einen Bindestrich** einer Subdomain (z.B. www-zelster.com). +- **Keyword**: Der Domainname **enthält** ein wichtiges **Keyword** der ursprünglichen Domain (z.B. zelster.com-management.com). +- **hypen-subdomain**: Ändern Sie den **Punkt in einen Bindestrich** einer Subdomain (z.B. www-zelster.com). - **Neue TLD**: Gleiche Domain mit einer **neuen TLD** (z.B. zelster.org). - **Homoglyph**: Es **ersetzt** einen Buchstaben im Domainnamen durch **Buchstaben, die ähnlich aussehen** (z.B. zelfser.com). + +{{#ref}} +homograph-attacks.md +{{#endref}} - **Transposition:** Es **tauscht zwei Buchstaben** innerhalb des Domainnamens (z.B. zelsetr.com). - **Singularisierung/Pluralisierung**: Fügt ein „s“ am Ende des Domainnamens hinzu oder entfernt es (z.B. zeltsers.com). -- **Auslassung**: Es **entfernt einen** der Buchstaben aus dem Domainnamen (z.B. zelser.com). +- **Omission**: Es **entfernt einen** der Buchstaben aus dem Domainnamen (z.B. zelser.com). - **Wiederholung:** Es **wiederholt einen** der Buchstaben im Domainnamen (z.B. zeltsser.com). -- **Ersetzung**: Wie Homoglyph, aber weniger heimlich. Es ersetzt einen der Buchstaben im Domainnamen, möglicherweise mit einem Buchstaben in der Nähe des ursprünglichen Buchstabens auf der Tastatur (z.B. zektser.com). +- **Ersetzung**: Wie Homoglyph, aber weniger stealthy. Es ersetzt einen der Buchstaben im Domainnamen, möglicherweise mit einem Buchstaben in der Nähe des ursprünglichen Buchstabens auf der Tastatur (z.B. zektser.com). - **Subdominiert**: Fügen Sie einen **Punkt** innerhalb des Domainnamens ein (z.B. ze.lster.com). - **Einfügung**: Es **fügt einen Buchstaben** in den Domainnamen ein (z.B. zerltser.com). -- **Fehlender Punkt**: Fügen Sie die TLD an den Domainnamen an. (z.B. zelstercom.com) +- **Fehlender Punkt**: Hängen Sie die TLD an den Domainnamen an. (z.B. zelstercom.com) **Automatische Werkzeuge** @@ -51,7 +55,7 @@ Es besteht die **Möglichkeit, dass eines der Bits, die gespeichert oder in der Wenn dieses Konzept auf DNS-Anfragen **angewendet wird**, ist es möglich, dass die **Domain, die vom DNS-Server empfangen wird**, nicht die gleiche ist wie die ursprünglich angeforderte Domain. -Zum Beispiel kann eine einzige Bitänderung in der Domain "windows.com" sie in "windnws.com" ändern. +Zum Beispiel kann eine einzelne Bitänderung in der Domain "windows.com" sie in "windnws.com" ändern. Angreifer können **dies ausnutzen, indem sie mehrere Bit-Flipping-Domains registrieren**, die der Domain des Opfers ähnlich sind. Ihre Absicht ist es, legitime Benutzer auf ihre eigene Infrastruktur umzuleiten. @@ -60,7 +64,7 @@ Für weitere Informationen lesen Sie [https://www.bleepingcomputer.com/news/secu ### Kaufen Sie eine vertrauenswürdige Domain Sie können auf [https://www.expireddomains.net/](https://www.expireddomains.net) nach einer abgelaufenen Domain suchen, die Sie verwenden könnten.\ -Um sicherzustellen, dass die abgelaufene Domain, die Sie kaufen möchten, **bereits ein gutes SEO hat**, können Sie nachsehen, wie sie kategorisiert ist in: +Um sicherzustellen, dass die abgelaufene Domain, die Sie kaufen möchten, **bereits eine gute SEO hat**, können Sie nachsehen, wie sie kategorisiert ist in: - [http://www.fortiguard.com/webfilter](http://www.fortiguard.com/webfilter) - [https://urlfiltering.paloaltonetworks.com/query/](https://urlfiltering.paloaltonetworks.com/query/) @@ -83,7 +87,7 @@ Vergessen Sie außerdem nicht, dass, wenn die Benutzer **ein Webportal verwenden Sie können es von [https://github.com/gophish/gophish/releases/tag/v0.11.0](https://github.com/gophish/gophish/releases/tag/v0.11.0) herunterladen. Laden Sie es herunter und entpacken Sie es in `/opt/gophish` und führen Sie `/opt/gophish/gophish` aus.\ -Ihnen wird ein Passwort für den Admin-Benutzer auf Port 3333 in der Ausgabe angezeigt. Greifen Sie daher auf diesen Port zu und verwenden Sie diese Anmeldeinformationen, um das Admin-Passwort zu ändern. Möglicherweise müssen Sie diesen Port auf lokal tunneln: +Sie erhalten ein Passwort für den Admin-Benutzer auf Port 3333 in der Ausgabe. Greifen Sie daher auf diesen Port zu und verwenden Sie diese Anmeldeinformationen, um das Admin-Passwort zu ändern. Möglicherweise müssen Sie diesen Port zu lokal tunneln: ```bash ssh -L 3333:127.0.0.1:3333 @ ``` @@ -223,19 +227,19 @@ service gophish stop ### Warten & legitim sein -Je älter eine Domain ist, desto unwahrscheinlicher ist es, dass sie als Spam erkannt wird. Daher solltest du so viel Zeit wie möglich warten (mindestens 1 Woche) vor der Phishing-Bewertung. Außerdem wird die Reputation besser, wenn du eine Seite über einen reputationswürdigen Sektor erstellst. +Je älter eine Domain ist, desto unwahrscheinlicher ist es, dass sie als Spam erkannt wird. Daher sollten Sie so viel Zeit wie möglich warten (mindestens 1 Woche) vor der Phishing-Bewertung. Darüber hinaus wird die Reputation besser sein, wenn Sie eine Seite über einen reputationswürdigen Sektor erstellen. -Beachte, dass du, auch wenn du eine Woche warten musst, jetzt alles konfigurieren kannst. +Beachten Sie, dass Sie, auch wenn Sie eine Woche warten müssen, jetzt alles konfigurieren können. ### Konfigurieren des Reverse DNS (rDNS) Eintrags -Setze einen rDNS (PTR) Eintrag, der die IP-Adresse des VPS auf den Domainnamen auflöst. +Setzen Sie einen rDNS (PTR) Eintrag, der die IP-Adresse des VPS auf den Domainnamen auflöst. ### Sender Policy Framework (SPF) Eintrag -Du musst **einen SPF-Eintrag für die neue Domain konfigurieren**. Wenn du nicht weißt, was ein SPF-Eintrag ist, [**lies diese Seite**](../../network-services-pentesting/pentesting-smtp/index.html#spf). +Sie müssen **einen SPF-Eintrag für die neue Domain konfigurieren**. Wenn Sie nicht wissen, was ein SPF-Eintrag ist, [**lesen Sie diese Seite**](../../network-services-pentesting/pentesting-smtp/index.html#spf). -Du kannst [https://www.spfwizard.net/](https://www.spfwizard.net) verwenden, um deine SPF-Richtlinie zu generieren (verwende die IP der VPS-Maschine). +Sie können [https://www.spfwizard.net/](https://www.spfwizard.net) verwenden, um Ihre SPF-Richtlinie zu generieren (verwenden Sie die IP der VPS-Maschine). ![](<../../images/image (1037).png>) @@ -247,7 +251,7 @@ v=spf1 mx a ip4:ip.ip.ip.ip ?all Sie müssen **einen DMARC-Eintrag für die neue Domain konfigurieren**. Wenn Sie nicht wissen, was ein DMARC-Eintrag ist, [**lesen Sie diese Seite**](../../network-services-pentesting/pentesting-smtp/index.html#dmarc). -Sie müssen einen neuen DNS TXT-Eintrag erstellen, der auf den Hostnamen `_dmarc.` mit folgendem Inhalt zeigt: +Sie müssen einen neuen DNS TXT-Eintrag erstellen, der den Hostnamen `_dmarc.` mit folgendem Inhalt zeigt: ```bash v=DMARC1; p=none ``` @@ -314,7 +318,7 @@ Die Seite [www.mail-tester.com](https://www.mail-tester.com) kann Ihnen anzeigen ### E-Mail-Vorlage - Setzen Sie einen **Namen zur Identifizierung** der Vorlage -- Schreiben Sie dann einen **Betreff** (nichts Ungewöhnliches, nur etwas, das Sie in einer regulären E-Mail erwarten würden) +- Schreiben Sie dann einen **Betreff** (nichts Ungewöhnliches, einfach etwas, das Sie in einer regulären E-Mail erwarten würden) - Stellen Sie sicher, dass Sie "**Tracking-Bild hinzufügen**" aktiviert haben - Schreiben Sie die **E-Mail-Vorlage** (Sie können Variablen wie im folgenden Beispiel verwenden): ```html @@ -350,7 +354,7 @@ Beachten Sie, dass **um die Glaubwürdigkeit der E-Mail zu erhöhen**, empfohlen - Schreiben Sie einen **Namen** - **Schreiben Sie den HTML-Code** der Webseite. Beachten Sie, dass Sie **Webseiten importieren** können. -- Markieren Sie **Eingereichte Daten erfassen** und **Passwörter erfassen** +- Aktivieren Sie **Erfasste eingereichte Daten** und **Erfasste Passwörter** - Setzen Sie eine **Weiterleitung** ![](<../../images/image (826).png>) @@ -360,12 +364,12 @@ Beachten Sie, dass **um die Glaubwürdigkeit der E-Mail zu erhöhen**, empfohlen > Beachten Sie, dass Sie, wenn Sie **statische Ressourcen** für das HTML benötigen (vielleicht einige CSS- und JS-Seiten), diese in _**/opt/gophish/static/endpoint**_ speichern können und dann von _**/static/\**_ darauf zugreifen können. > [!TIP] -> Für die Weiterleitung könnten Sie **die Benutzer zur legitimen Hauptwebseite** des Opfers umleiten oder sie beispielsweise zu _/static/migration.html_ umleiten, eine **Ladeanimation (**[**https://loading.io/**](https://loading.io)**) für 5 Sekunden anzeigen und dann angeben, dass der Prozess erfolgreich war**. +> Für die Weiterleitung könnten Sie **die Benutzer zur legitimen Hauptwebseite** des Opfers umleiten oder sie beispielsweise zu _/static/migration.html_ umleiten, eine **Ladeanimation** (**[**https://loading.io/**](https://loading.io)**) für 5 Sekunden anzeigen und dann angeben, dass der Prozess erfolgreich war. ### Benutzer & Gruppen - Setzen Sie einen Namen -- **Importieren Sie die Daten** (beachten Sie, dass Sie, um die Vorlage für das Beispiel zu verwenden, den Vornamen, Nachnamen und die E-Mail-Adresse jedes Benutzers benötigen) +- **Importieren Sie die Daten** (beachten Sie, dass Sie für die Verwendung der Vorlage für das Beispiel den Vornamen, Nachnamen und die E-Mail-Adresse jedes Benutzers benötigen) ![](<../../images/image (163).png>) @@ -392,7 +396,7 @@ clone-a-website.md ## Hintertür-Dokumente & -Dateien -In einigen Phishing-Bewertungen (hauptsächlich für Red Teams) möchten Sie möglicherweise auch **Dateien mit einer Art Hintertür senden** (vielleicht ein C2 oder einfach etwas, das eine Authentifizierung auslöst).\ +In einigen Phishing-Bewertungen (hauptsächlich für Red Teams) möchten Sie möglicherweise auch **Dateien mit einer Art Hintertür senden** (vielleicht ein C2 oder vielleicht nur etwas, das eine Authentifizierung auslöst).\ Überprüfen Sie die folgende Seite für einige Beispiele: {{#ref}} @@ -414,7 +418,7 @@ Hier sind Tools wie [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** ### Via VNC -Was wäre, wenn Sie anstatt den **Opfer zu einer bösartigen Seite** mit dem gleichen Aussehen wie die Originalseite zu senden, ihn zu einer **VNC-Sitzung mit einem Browser, der mit der echten Webseite verbunden ist, senden**? Sie können sehen, was er tut, das Passwort, die verwendete MFA, die Cookies stehlen...\ +Was wäre, wenn Sie anstelle von **den Opfern auf eine bösartige Seite** mit dem gleichen Aussehen wie die Originalseite zu senden, sie zu einer **VNC-Sitzung mit einem Browser, der mit der echten Webseite verbunden ist,** senden? Sie können sehen, was er tut, das Passwort, die verwendete MFA, die Cookies stehlen...\ Sie können dies mit [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC) tun. ## Erkennung der Erkennung diff --git a/src/generic-methodologies-and-resources/phishing-methodology/homograph-attacks.md b/src/generic-methodologies-and-resources/phishing-methodology/homograph-attacks.md new file mode 100644 index 000000000..347723819 --- /dev/null +++ b/src/generic-methodologies-and-resources/phishing-methodology/homograph-attacks.md @@ -0,0 +1,104 @@ +# Homograph / Homoglyph Angriffe im Phishing + +{{#include ../../banners/hacktricks-training.md}} + +## Übersicht + +Ein Homograph (auch Homoglyph) Angriff nutzt die Tatsache aus, dass viele **Unicode-Codepunkte aus nicht-lateinischen Schriften visuell identisch oder extrem ähnlich zu ASCII-Zeichen sind**. Durch das Ersetzen eines oder mehrerer lateinischer Zeichen durch ihre ähnlich aussehenden Gegenstücke kann ein Angreifer: + +* Anzeigenamen, Betreffzeilen oder Nachrichteninhalte erstellen, die für das menschliche Auge legitim erscheinen, aber keyword-basierte Erkennungen umgehen. +* Domains, Subdomains oder URL-Pfade erstellen, die Opfer dazu bringen, zu glauben, sie besuchen eine vertrauenswürdige Seite. + +Da jedes Glyph intern durch seinen **Unicode-Codepunkt** identifiziert wird, reicht ein einzelnes ersetztes Zeichen aus, um naive String-Vergleiche zu überwinden (z. B. `"Παypal.com"` vs. `"Paypal.com"`). + +## Typischer Phishing-Workflow + +1. **Nachrichteninhalt erstellen** – Ersetzen Sie spezifische lateinische Buchstaben in der impersonierten Marke / dem Schlüsselwort durch visuell nicht unterscheidbare Zeichen aus einer anderen Schrift (Griechisch, Kyrillisch, Armenisch, Cherokee usw.). +2. **Unterstützende Infrastruktur registrieren** – Optional eine Homoglyph-Domain registrieren und ein TLS-Zertifikat erhalten (die meisten CAs führen keine visuellen Ähnlichkeitsprüfungen durch). +3. **E-Mail / SMS senden** – Die Nachricht enthält Homoglyphen an einem oder mehreren der folgenden Orte: +* Absenderanzeige (z. B. `Ηеlрdеѕk`) +* Betreffzeile (`Urgеnt Аctіon Rеquіrеd`) +* Hyperlink-Text oder vollqualifizierter Domainname +4. **Umleitungs-Kette** – Das Opfer wird durch scheinbar harmlose Websites oder URL-Shortener geleitet, bevor es auf dem bösartigen Host landet, der Anmeldeinformationen erntet / Malware liefert. + +## Häufig missbrauchte Unicode-Bereiche + +| Schrift | Bereich | Beispiel-Glyph | Sieht aus wie | +|--------|-------|---------------|------------| +| Griechisch | U+0370-03FF | `Η` (U+0397) | Latein `H` | +| Griechisch | U+0370-03FF | `ρ` (U+03C1) | Latein `p` | +| Kyrillisch | U+0400-04FF | `а` (U+0430) | Latein `a` | +| Kyrillisch | U+0400-04FF | `е` (U+0435) | Latein `e` | +| Armenisch | U+0530-058F | `օ` (U+0585) | Latein `o` | +| Cherokee | U+13A0-13FF | `Ꭲ` (U+13A2) | Latein `T` | + +> Tipp: Vollständige Unicode-Diagramme sind verfügbar unter [unicode.org](https://home.unicode.org/). + +## Erkennungstechniken + +### 1. Mischschriftinspektion + +Phishing-E-Mails, die sich an eine englischsprachige Organisation richten, sollten selten Zeichen aus mehreren Schriften mischen. Eine einfache, aber effektive Heuristik ist es,: + +1. Jedes Zeichen des inspizierten Strings zu durchlaufen. +2. Den Codepunkt seinem Unicode-Block zuzuordnen. +3. Eine Warnung auszulösen, wenn mehr als eine Schrift vorhanden ist **oder** wenn nicht-lateinische Schriften an unerwarteten Stellen erscheinen (Anzeigename, Domain, Betreff, URL usw.). + +Python Proof-of-Concept: +```python +import unicodedata as ud +from collections import defaultdict + +SUSPECT_FIELDS = { +"display_name": "Ηоmоgraph Illusion", # example data +"subject": "Finаnꮯiаl Տtatеmеnt", +"url": "https://xn--messageconnecton-2kb.blob.core.windows.net" # punycode +} + +for field, value in SUSPECT_FIELDS.items(): +blocks = defaultdict(int) +for ch in value: +if ch.isascii(): +blocks['Latin'] += 1 +else: +name = ud.name(ch, 'UNKNOWN') +block = name.split(' ')[0] # e.g., 'CYRILLIC' +blocks[block] += 1 +if len(blocks) > 1: +print(f"[!] Mixed scripts in {field}: {dict(blocks)} -> {value}") +``` +### 2. Punycode-Normalisierung (Domains) + +Internationalisierte Domainnamen (IDNs) werden mit **punycode** (`xn--`) codiert. Die Umwandlung jedes Hostnamens in Punycode und dann zurück in Unicode ermöglicht das Abgleichen mit einer Whitelist oder das Durchführen von Ähnlichkeitsprüfungen (z. B. Levenshtein-Distanz) **nachdem** der String normalisiert wurde. +```python +import idna +hostname = "Ρаypal.com" # Greek Rho + Cyrillic a +puny = idna.encode(hostname).decode() +print(puny) # xn--yl8hpyal.com +``` +### 3. Homoglyph-Wörterbücher / Algorithmen + +Tools wie **dnstwist** (`--homoglyph`) oder **urlcrazy** können visuell ähnliche Domain-Permutationen auflisten und sind nützlich für proaktive Abschaltungen / Überwachung. + +## Prävention & Minderung + +* Strenge DMARC/DKIM/SPF-Richtlinien durchsetzen – Spoofing von unautorisierten Domains verhindern. +* Implementieren Sie die oben genannte Erkennungslogik in **Secure Email Gateways** und **SIEM/XSOAR**-Playbooks. +* Nachrichten kennzeichnen oder quarantänisieren, bei denen der Anzeigename-Domain ≠ Absender-Domain. +* Benutzer schulen: Verdächtigen Text in einen Unicode-Inspektor kopieren, Links überfahren, URL-Shortener niemals vertrauen. + +## Beispiele aus der Praxis + +* Anzeigename: `Сonfidеntiаl Ꭲiꮯkеt` (Kyrillisch `С`, `е`, `а`; Cherokee `Ꭲ`; lateinisches Kleinbuchstaben `ꮯ`). +* Domain-Kette: `bestseoservices.com` ➜ kommunales `/templates` Verzeichnis ➜ `kig.skyvaulyt.ru` ➜ gefälschte Microsoft-Anmeldung bei `mlcorsftpsswddprotcct.approaches.it.com`, geschützt durch benutzerdefinierte OTP CAPTCHA. +* Spotify-Imitation: `Sρօtifւ` Absender mit Link, der hinter `redirects.ca` verborgen ist. + +Diese Beispiele stammen aus der Forschung von Unit 42 (Juli 2025) und veranschaulichen, wie Homographenmissbrauch mit URL-Umleitung und CAPTCHA-Umgehung kombiniert wird, um automatisierte Analysen zu umgehen. + +## Referenzen + +- [The Homograph Illusion: Not Everything Is As It Seems](https://unit42.paloaltonetworks.com/homograph-attacks/) +- [Unicode Character Database](https://home.unicode.org/) +- [dnstwist – domain permutation engine](https://github.com/elceef/dnstwist) + +{{#include ../../banners/hacktricks-training.md}}