# Phishing

### **🧭 Visão Geral**

Este documento reúne definições, técnicas, ferramentas e checklists práticos para **phishing** (ataques de engenharia social voltados a roubo de credenciais/execução de código).

***

### **🔎 Phishing — Conceitos Principais**

#### **O que é**

Phishing é um conjunto de técnicas de engenharia social que busca enganar usuários para:

* revelar credenciais (usuário/senha, OTP, tokens);
* executar links/malware;
* aprovar requisições (pagamentos, transferência de dados).

#### **Tipos Comuns**

1. **Spear-phishing** — alvo específico (indivíduo/empresa).
2. **Whaling** — alvo de alto valor (C-level).
3. **Clone phishing** — cópia de email legítimo com anexos/malware alterados.
4. **Vishing** — phishing via voz/telefonema.
5. **Smishing** — phishing via SMS.
6. **Credential harvesting** — páginas falsas que coletam login/senha.

#### **Fases de um ataque de Phishing**

1. **Reconhecimento** — coleta de informações (OSINT) sobre alvos.
2. **Criação do conteúdo** — e-mails, landing pages, anexos maliciosos.
3. **Distribuição** — envio massivo ou direcionado.
4. **Exfiltração/Exploração** — credenciais usadas, payload executado.
5. **Pivoteamento** — ganhar maior persistência ou movimentos laterais.

***

### **🛠️ Ferramentas & Utilitários (Phishing / Recon)**

#### **Coleta & OSINT**

* **theHarvester**, **SpiderFoot**, **Maltego** — mapeamento de e-mails, domínios, perfis.
* **Sherlock**, **GHunt** — busca de nomes de usuário e dados públicos.

#### **Criação de Páginas / Harvesters**

* **Gophish** — plataforma de phishing para campanhas (setup de templates e tracking).
* Servidores web leves (nginx, apache) + templates HTML.

#### **Encaminhamento / Payloads**

* Serviços de curto link, kits de captura de credenciais (ex.: páginas phish clonadas).
* Anexos com macros (Word/Excel) — atenção: macros são um vetor clássico.

#### **Rede & Análise**

* **Wireshark**, **tcpdump** — captura de tráfego.
* **Burp Suite** — inspeção/interceptação de tráfego HTTP(S).

***

### **🧰 Comandos e Instalação (exemplos rápidos)**

#### Instalar theHarvester (Linux/WSL / Windows com Python)

```bash
pip install theharvester
# ou
git clone https://github.com/laramies/theHarvester.git
cd theHarvester
pip3 install -r requirements.txt
```

#### Rodar Gophish (exemplo básico)

1. Baixar release, descompactar, editar `config.json` com domínio/certs.
2. Iniciar:

```bash
./gophish
```

#### Gerar página de captura (exemplo simples com Python http.server)

```bash
mkdir phish_site && cd phish_site
# colocar index.html (página de login falsa) e script que registra POSTs para um arquivo
python3 -m http.server 80
```

> **Nota:** Nunca hospede páginas de phishing em redes públicas sem autorização; use *labs* isolados (VMs, redes NAT ou Faraday cage) para testes.

#### **Fundamentos**

* Conceito de identificação vs autenticação vs autorização.
* Tipos de credenciais (senha, token, certificado, biometria).

#### **Técnicas de coleta de credenciais**

* Phishing (páginas/links/anexos).
* Keylogging & screen scraping.
* Interceptação de tráfego HTTP(S) — MitM (se TLS inválido ou user aceita certificado).
* Credential stuffing / replay attacks.

#### **Avaliação & Testes**

* Metodologias para testar a resistência de fluxos de autenticação.
* Laboratórios: simular spear-phishing, validar MFA, testar processo de recuperação de conta.
* Checklists de auditoria (política de senha, rotação, armazenamento seguro).

#### **Controles de Mitigação**

* Hashing/salting seguro, vaults para segredos, rotação automática de chaves/tokens.
* Uso de OAuth/OIDC com práticas seguras (PKCE para apps públicos).
* Monitoramento de vazamentos de credenciais (haveibeenpwned, heap scans).

***

### **📎 Referências & Leituras Recomendadas**

* Documentação de **SPF / DKIM / DMARC** (para proteção de e-mail).
* Repositórios: **theHarvester**, **Gophish**, **Burp Suite** docs.
* Boas práticas NIST para gerenciamento de senhas e autenticação.

***

## Cheetsheet / Documentação — Infraestrutura Phishing

Baseei esta documentação no repositório **morteerror404/RedTeamInfraDeveloper-CWL**, que oferece scripts e estrutura para instalar Evilginx, Gophish e Pwndrop de forma automatizada. ([GitHub](https://github.com/morteerror404/RedTeamInfraDeveloper-CWL))

> Objetivo: passo-a-passo prático e enxuto para subir uma infra de phishing (laboratório) segura e repetível, com dicas de configuração, persistência e operacionalização.

***

### 1) Resumo da arquitetura recomendada

* **Host**: VM ou VPS dedicada (Debian/Ubuntu 22.04 recomendado).
* **Serviços**:
  * **Evilginx** — MitM / cookie-harvesting (phishlets).
  * **Gophish** — gerenciamento de campanhas e templates.
  * **Pwndrop** — serviço para hospedar payloads/artefatos.
* **Proxy reverso / TLS**: Nginx (ou Caddy) para TLS e virtualhosts.
* **DNS**: domínio próprio + subdomínios para cada campanha e wildcard TLS se possível.
* **Logs / SIEM**: arquivar acessos, POSTs e eventos para análise (syslog/ELK/Graylog).
* **Isolamento**: rede NAT ou VPC privada para evitar exposição acidental.

***

### 2) Pré-requisitos (servidor)

```bash
# sistema base
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git build-essential nginx certbot python3-pip unzip
# opcional: ufw
sudo apt install -y ufw
```

**Observações**

* O repositório inclui um script de instalação automatizada (`install_redteam_tools.sh`) que instala e posiciona as ferramentas em `/opt/redteam_tools/`. Use-o se preferir automação. ([GitHub](https://github.com/morteerror404/RedTeamInfraDeveloper-CWL))
* Trabalhe sempre em **ambientes isolados** (VM snapshots, redes NAT ou lab isolado).

***

### 3) DNS & Certificados

1. Crie registros DNS:
   * `A` record → IP do servidor (ex.: `phish.example.com`).
   * Subdomínios para cada alvo/campanha: `login-target.example.com`, `mail-target.example.com`.
   * Se possível, use wildcard `*.example.com` para facilitar (Let's Encrypt + DNS-01).
2. Gerar TLS com **certbot** (nginx):

```bash
sudo certbot --nginx -d phish.example.com -d '*.example.com' --manual --preferred-challenges dns
```

(Se usar DNS provider com API, automatize DNS-01.)

***

### 4) Instalação básica (manual rápido)

#### 4.1 Usando o script do repo

```bash
# obter script (exemplo)
curl -o install_redteam_tools.sh https://raw.githubusercontent.com/morteerror404/RedTeamInfraDeveloper-CWL/main/Machine/tools/install_redteam_tools.sh
chmod +x install_redteam_tools.sh
sudo ./install_redteam_tools.sh
```

O script (quando presente no repo) instala Evilginx, Gophish e Pwndrop em `/opt/redteam_tools/`. ([GitHub](https://github.com/morteerror404/RedTeamInfraDeveloper-CWL))

#### 4.2 Instalação manual (resumo)

**Evilginx**

* Baixe o binário/clone: `git clone https://github.com/kgretzky/evilginx2.git`
* Compilar/instalar (siga doc oficial).
* Configure phishlets e dominios via CLI do Evilginx.

**Gophish**

`wget https://github.com/gophish/gophish/releases/download/vX.Y/gophish-vX.Y-linux-64bit.zip`

* Descompactar `/opt/redteam_tools/gophish` e editar `config.json` (porta, admin user).
* Iniciar: `./gophish` (ou systemd service).

**Pwndrop**

* Baixar binário e configurar diretório `/opt/redteam_tools/pwndrop`.
* Rodar binário com variáveis de ambiente para senha/porta.

***

### 5) Nginx — proxy + regras (exemplo)

```nginx
server {
    listen 80;
    server_name phish.example.com;

    # redireciona para HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name phish.example.com;

    ssl_certificate /etc/letsencrypt/live/phish.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/phish.example.com/privkey.pem;

    location /gophish/ {
        proxy_pass http://127.0.0.1:3333/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location /evil/ {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_buffering off;
    }
}
```

* Ajuste rotas/paths para não expor portas diretamente.
* Para Evilginx pode ser necessário expor portas específicas (ex.: 80/443) se usando phishlets diretos.

***

### 6) systemd — serviços persistentes

#### Gophish service

```ini
# /etc/systemd/system/gophish.service
[Unit]
Description=Gophish Phishing Framework
After=network.target

[Service]
Type=simple
ExecStart=/opt/redteam_tools/gophish/gophish
WorkingDirectory=/opt/redteam_tools/gophish
Restart=always
User=www-data

[Install]
WantedBy=multi-user.target
```

Carregar e iniciar:

```bash
sudo systemctl daemon-reload
sudo systemctl enable --now gophish
```

Repita para Evilginx e Pwndrop, ajustando paths e usuários. ([GitHub](https://github.com/morteerror404/RedTeamInfraDeveloper-CWL))

***

### 7) Configurações operacionais e dicas práticas

* **Isolamento de dados**: capture POSTs em arquivos separados com timestamps e IPs.
* **Headers**: configure proxies para preservar `Host` e `X-Forwarded-For` quando necessário; para maior furtividade, normalize headers para imitar o serviço legítimo.
* **Rate limiting**: evite spikes que denunciem campanha a filtros de segurança.
* **User-Agent**: registre UA para análise e fingerprinting.
* **Backup**: exporte phishlets, templates e DBs antes de atualizar.

***

### 8) Logging & Monitoramento

* Todos os acessos HTTP(S) (nginx access.log)
* Submits (arquivo/DB no backend do Gophish/Evilginx)
* Processos e execuções (systemd journal)
* Integre com SIEM ou arquivo rotativo com `logrotate`.

***

### 9) Hardening e segurança operacional (lab-safe)

* **Não** execute campanhas externas sem autorização escrita.
* Use snapshots antes de alterações.
* Restrinja SSH por chave e desative password auth.
* Habilite firewall (ufw):

```bash
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'   # 80/443
sudo ufw enable
```

* Mantenha servidor com atualizações de segurança.

***

### 10) Detecção e contra-medidas (para defenders)

Se você for defender, monitore:

* Submissions para domínios novos/recém-criados.
* Domínios com WHOIS recentes e sem histórico.
* Atividade Office+Macro ou links curtos em massa.
* Sessões autenticadas vindas de novos IPs ou sem MFA.

***

### 11) Checklist de implantação (rápido)

* Domínio + registros DNS criados.
* Certificados TLS válidos.
* Nginx configurado como reverse proxy.
* Evilginx + Gophish + Pwndrop instalados em `/opt/redteam_tools/`. ([GitHub](https://github.com/morteerror404/RedTeamInfraDeveloper-CWL))
* systemd services configurados e habilitados.
* Logs e backup configurados.
* Ambiente isolado e snapshots criados.
* Autorização por escrito (se ambiente real).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://0xmorte.gitbook.io/bibliadopentestbr/tecnicas/fatores-humanos/phishing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
