# Phishing

## 1. **Reconnaissance (Informationsbeschaffung)**

Der erste Schritt einer Phishing-Kampagne ist die Informationsbeschaffung über das Ziel. Hierbei werden Techniken und Tools eingesetzt, um die Angriffsfläche zu analysieren.

### **1.1 Ziel-Domain auswählen**

* Wählen Sie die Domain des Unternehmens, das Sie angreifen möchten (z. B. `example.com`).
* Identifizieren Sie häufig genutzte Subdomains oder Portale, z. B. `login.example.com` oder `portal.example.com`.

### **1.2 Web-Enumeration**

* Nutzen Sie Tools wie `Nmap`, `Sublist3r` oder `Gobuster`, um Subdomains oder Webdienste zu finden.
*   Suchen Sie nach Login-Seiten, die Sie nachahmen können. Beispiel:

    ```bash
    gobuster dns -d example.com -w /path/to/wordlist.txt
    Found: login.example.com
    Found: mail.example.com
    ```
* Dokumentieren Sie, welche Seiten und Portale potenziell nützlich für den Angriff sind.

### **1.3 E-Mail-Adressen sammeln**

E-Mails sind der Schlüssel zu einer erfolgreichen Phishing-Kampagne. Nutzen Sie Open Source Intelligence (OSINT), um möglichst viele E-Mail-Adressen des Ziels zu finden:

*   **Tools**:

    * `theHarvester`: Sammelt E-Mail-Adressen und Domain-Informationen.
    * `hunter.io` oder `phonebook.cz`: Durchsucht öffentliche Datenbanken nach E-Mail-Adressen.

    ```bash
    theHarvester -d example.com -l 500 -b google
    Emails found: john.doe@example.com, jane.smith@example.com
    ```
*   Prüfen Sie SMTP-Server auf gültige Adressen:

    ```bash
    smtp-user-enum -M VRFY -U userlist.txt -t mail.example.com
    ```

***

## 2. **Umgebung vorbereiten**

Sobald die Zielinformationen vorliegen, muss die Umgebung für die Phishing-Kampagne eingerichtet werden.

### **2.1 Ähnliche Domain kaufen**

Die Glaubwürdigkeit Ihrer Phishing-Domain ist entscheidend. Verwenden Sie Domain-Variations-Techniken, um die Ziel-Domain zu imitieren:

* **Keyword**: `example-support.com`
* **Hyphenated Subdomain**: `www-example.com`
* **Neues TLD**: `example.org`
* **Homoglyph**: `examp1e.com` (mit einer „1“ statt „l“).
* **Tools**:
  * [dnstwist](https://dnstwist.it/): Automatische Generierung von Domain-Variationen.

### **2.2 E-Mail-Service konfigurieren**

Um sicherzustellen, dass Ihre Phishing-Mails nicht sofort als Spam markiert werden, müssen Sie DNS-Einträge und E-Mail-Dienste richtig konfigurieren:

*   **SPF**:

    ```plaintext
    v=spf1 mx a ip4:192.168.1.1 ~all
    ```
*   **DMARC**:

    ```plaintext
    v=DMARC1; p=none
    ```
* **DKIM**: Generieren Sie Schlüssel und fügen Sie sie als TXT-Record hinzu.

### **2.3 GoPhish installieren**

GoPhish ist ein leistungsstarkes Open-Source-Tool zur Durchführung von Phishing-Kampagnen.

*   Installation:

    ```bash
    $ wget https://github.com/gophish/gophish/releases/latest/download/gophish-v0.x-linux-64bit.zip
    $ unzip gophish-v0.x-linux-64bit.zip -d /opt/gophish
    $ /opt/gophish/gophish
    ```
* **TLS einrichten**:
  * Zertifikate mit `certbot` erstellen.
  * Zertifikate in `/opt/gophish/ssl_keys/` speichern.
*   **Konfiguration**: Bearbeiten Sie `/opt/gophish/config.json`:

    ```json
    "phish_server": {
        "listen_url": "0.0.0.0:443",
        "use_tls": true,
        "cert_path": "/opt/gophish/ssl_keys/key.crt",
        "key_path": "/opt/gophish/ssl_keys/key.pem"
    }
    ```

***

## 3. **Phishing-Kampagne vorbereiten**

Nach der Konfiguration der Umgebung erstellen Sie die E-Mail-Vorlagen, Landing Pages und Benutzerlisten.

### **3.1 E-Mail-Vorlage erstellen**

*   **Beispiel**:

    ```html
    htmlCode kopieren<html>
    <body>
    <p>Sehr geehrte/r {{.FirstName}} {{.LastName}},</p>
    <p>Bitte klicken Sie auf den folgenden Link, um Ihr Konto zu verifizieren:</p>
    <a href="{{.URL}}">Konto verifizieren</a>
    <p>Vielen Dank,<br>Support-Team</p>
    </body>
    </html>
    ```
* **Variablen nutzen**:
  * `{{.FirstName}}`, `{{.LastName}}`, `{{.URL}}`.

### **3.2 Landing Page**

*   Klonen Sie die Ziel-Webseite (z. B. mit `HTTrack`):

    ```bash
    bashCode kopieren$ httrack https://login.example.com -O /opt/gophish/static/
    ```
* Erfassen Sie Anmeldedaten:
  * Aktivieren Sie in GoPhish "Capture Submitted Data" und "Capture Passwords".
* Weiterleitung: Nach der Datenerfassung können Benutzer zur echten Seite weitergeleitet werden.

### **3.3 Benutzergruppen**

*   Importieren Sie die gesammelten E-Mails:

    ```csv
    firstname,lastname,email
    John,Doe,john.doe@example.com
    Jane,Smith,jane.smith@example.com
    ```

***

## 4. **Kampagne starten**

Erstellen Sie die Kampagne in GoPhish:

1. **Senden-Profil**: E-Mail-Adresse und SMTP-Server konfigurieren.
2. **Vorlage und Landing Page**: Wählen Sie die vorbereiteten Inhalte aus.
3. **Benutzergruppe**: Zielbenutzer definieren.
4. **Kampagne starten**: Verfolgen Sie in Echtzeit, wer auf den Link klickt und Anmeldedaten eingibt.

***

## 5. **Erweiterte Angriffe**

**5.1 MFA umgehen**

Nutzen Sie Tools wie `evilginx2` oder `CredSniper`, um 2FA-geschützte Konten anzugreifen:

* Erfassen Sie Anmeldedaten, OTPs und Sitzungs-Cookies in Echtzeit.
* Weiterleitung erfolgt über einen MitM-Angriff.

### **5.2 Hintertür-Dateien**

Senden Sie manipulierte Dokumente, um Zugriff zu erhalten:

* Word-Dokumente mit eingebetteten Makros (`.docm`).
* NTLM-Hash-Leaks durch speziell gestaltete Links.

***

## 6. **Evaluierung der Kampagne**

* **Blacklist-Check**: Überprüfen Sie, ob Ihre Domain oder IP auf Blacklists steht:
  * [Spamhaus](https://www.spamhaus.org/lookup/)
  * [malwareworld](https://malwareworld.com/).
* **Spam-Tests**:
  * Nutzen Sie [mail-tester](https://www.mail-tester.com/), um die Spam-Wahrscheinlichkeit Ihrer E-Mails zu prüfen.
