Logo UFPR Logo Licenciatura em Computação

CÓDIGO DA DISCIPLINA: DEE345

SEGURANÇA DIGITAL - Aula 4

Professor Jéfer Benedett Dörr

Prof. Jéfer Benedett Dörr

Departamento de Engenharias e Exatas - UFPR/Palotina

Docente de Segurança da Informação

Aula 4: Cibercriminosos, Programas de Bug Bounty e Engenharia Social

1. Cibercriminosos e Suas Motivações

Existem diversos perfis de cibercriminosos, classificados segundo competências técnicas e objetivos:

Script Kiddies: O Caso do Ataque a Escolas Públicas (2023)

Em março de 2023, alunos do ensino médio utilizaram scripts prontos do GitHub para derrubar servidores de escolas em SP, causando prejuízos de R$ 1,2 milhão.

Ferramenta usada: LOIC (Low Orbit Ion Cannon) para DDoS

Comando de proteção: iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

APT29 (Cozy Bear): Espionagem em Universidades

Grupo ligado ao governo russo que em 2022 atacou pesquisas de vacinas em universidades brasileiras.

Técnica: Spear phishing com documentos .docm maliciosos

Detecção: clamscan --recursive --infected /home/pesquisador/Downloads

LOIC (Low Orbit Ion Cannon): Ferramenta de teste de estresse de rede, usada para simular ataques DDoS, enviando grandes volumes de tráfego TCP/UDP/HTTP a um alvo. Seu uso é ilegal sem autorização.

iptables: Utilitário no Linux para configurar regras de firewall, filtrando pacotes de rede (ex.: bloquear IPs maliciosos).

clamscan: Antivírus de código aberto para verificar arquivos em busca de malwares (ex.: clamscan arquivo.txt).

curl: Ferramenta de linha de comando para transferir dados via HTTP/HTTPS, útil para verificar URLs suspeitas (ex.: curl -I https://site.com).

Laboratório: Análise de Ataques Recentes

  1. Acesse o relatório da Kaspersky sobre APTs na América Latina
  2. Execute: curl -s https://securelist.com/latin-american-apt-report/ | grep -A10 "Brazil"
  3. Identifique 3 técnicas usadas por grupos brasileiros

Exercício Prático (Linux):

  • grep "Failed password" /var/log/auth.log | tail -n 20 — Identificar as últimas tentativas de login fracassadas.
  • awk -F: '$3 == 0 { print $1 }' /etc/passwd — Listar contas com UID 0 (potenciais duplicatas de root).
  • ps -eo user,pid,cmd --sort=user | grep -vE "^(root|usuario_conhecido)" — Exibir processos de usuários não reconhecidos no sistema.

grep: Ferramenta de linha de comando no Linux/Unix para buscar padrões em arquivos ou saídas (ex.: grep "erro" log.txt encontra linhas com "erro").

tail: Exibe as últimas linhas de um arquivo, útil para monitoramento em tempo real (ex.: tail -f /var/log/auth.log mostra atualizações de log).

awk: Utilitário para processar e manipular textos estruturados, como extrair colunas de dados (ex.: awk '{print $1}' arquivo.txt).

ps: Lista processos em execução no sistema, permitindo identificar atividades suspeitas (ex.: ps aux | grep suspeito busca processos específicos).

2. Bug Bounty

Programas de recompensa por bugs (Bug Bounty) remuneram quem encontra vulnerabilidades em sistemas. As empresas divulgam escopos e oferecem prêmios, estimulando pesquisadores independentes a reportarem falhas antes que criminosos as explorem.

O Caso do Banco XYZ (Recompensa de R$ 80.000)

Em 2023, pesquisador encontrou falha no endpoint /api/v3/transfer que permitia:

curl -X POST https://banco.xyz/api/v3/transfer \
-H "Authorization: Bearer null" \
-d '{"amount":10000,"dest":"attacker"}'

Prêmio: Máximo da tabela por impacto financeiro

Ferramentas e Comandos (Linux) para Pesquisas de Bug Bounty:

  • nmap -p- -sV exemplo.com — Scan completo de portas e serviços, identificando versões de software.
  • gobuster dir -u http://exemplo.com -w /usr/share/wordlists/dirb/common.txt — Fuzzing de diretórios e arquivos ocultos em aplicações web.
  • curl -I https://exemplo.com — Inspecionar cabeçalhos HTTP e obter informações sobre servidor e TLS.
  • git clone https://github.com/trustedsec/social-engineer-toolkit.git
    cd social-engineer-toolkit && python3 setup.py install
    — Instalar e executar o Social-Engineer Toolkit (SET) para demonstrações de phishing controladas.

nmap: Ferramenta de varredura de rede para mapeamento de hosts, portas abertas e serviços (ex.: nmap -sV 192.168.1.1 identifica serviços e versões em um IP). Usada em auditorias de segurança, mas requer autorização para evitar uso indevido.

gobuster: Utilitário para enumeração de diretórios e arquivos em servidores web, descobrindo conteúdos ocultos (ex.: gobuster dir -u https://site.com -w wordlist.txt testa URLs com uma lista de palavras). Ideal para testes de penetração éticos, com permissão.

Social-Engineer Toolkit (SET): Conjunto de ferramentas para simular ataques de engenharia social, como phishing e clonagem de sites (ex.: setoolkit inicia o menu interativo para criar campanhas de teste). Usado em treinamentos de segurança, mas exige autorização legal para evitar uso malicioso.

Ferramentas Essenciais para Bug Hunters

FerramentaComandoTarget
Nuclei nuclei -u https://alvo.com -t cves/ CVEs conhecidas
Amass amass enum -d alvo.com -passive Subdomínios

Desafio de Laboratório

Encontre vulnerabilidades no alvo controlado:

docker run --rm -it vulnerables/web-dvwa

Tarefas:

  1. Localize XSS com: ffuf -u http://localhost/FUZZ -w wordlist.txt
  2. Explore SQLi com: sqlmap -u "http://localhost/?id=1" --dbs

Nuclei: Ferramenta open-source para varredura de vulnerabilidades baseada em templates YAML, permitindo escaneamentos rápidos e personalizáveis em aplicações, APIs e redes (ex.: nuclei -u https://site.com -t cves/ verifica CVEs). Suporta múltiplos protocolos (HTTP, DNS, TCP) e é usada para testes de segurança com zero falsos positivos. github.com/projectdiscovery/nuclei(https://github.com/projectdiscovery/nuclei)

Amass: Ferramenta de enumeração de subdomínios e mapeamento de superfícies de ataque, coletando dados via OSINT, brute-force e DNS (ex.: amass enum -d example.com lista subdomínios). Ideal para identificar ativos digitais em testes de penetração. github.com/OWASP/Amass(https://dev.to/ademking/pentesting-tools-i-use-everyday-4kff)

Docker: Plataforma de contêineres que simplifica a implantação de ferramentas como Nuclei e Amass, isolando ambientes (ex.: docker run -v /path:/app projectdiscovery/nuclei -u https://site.com executa Nuclei em um contêiner). Facilita a portabilidade e escalabilidade em varreduras de segurança. docker.com(https://projectdiscovery.io/blog/how-to-run-nuclei-other-projectdiscovery-tools-in-docker)

ffuf: Fuzzer web rápido em Go para descoberta de diretórios, parâmetros e vhosts (ex.: ffuf -w wordlist.txt -u https://site.com/FUZZ -mc 200 encontra diretórios com status 200). Usado em testes de penetração para identificar conteúdos ocultos, com alta performance. github.com/ffuf/ffuf(https://github.com/ffuf/ffuf)

3. 0day (Zero-Day Vulnerability) e Gestão de Emergências

Uma vulnerabilidade 0day é aquela sem correção disponível publicamente. Até que um patch ou atualização seja lançado, usuários e administradores ficam expostos.

Log4Shell: O Apocalipse do Java

CVE-2021-44228 - Impactou 60% das empresas globais

09/12/2021: Vulnerabilidade divulgada

10/12/2021: Exploits ativos no Brasil

14/12/2021: Correção parcial (CVE-2021-45046)

Mitigação Emergencial

# Linux/MacOS
find / -name "*log4j*" -exec grep -l "JndiLookup" {} \;

# Windows
Get-ChildItem -Path C:\ -Include "*log4j*" -Recurse -ErrorAction SilentlyContinue | Select-String "JndiLookup"

Simulação de Resposta a Incidentes

Com base no relatório do CERT.br sobre Log4J:

  1. Baixe o scanner: wget https://github.com/logpresso/CVE-2021-44228-Scanner/releases/latest/download/logpresso-log4j2-scan-1.6.3-linux.tar.gz
  2. Execute: ./log4j2-scan --scan-log4j1 --scan-zip --scan-gzip /
  3. Analise o relatório JSON gerado

Exercício Prático (Linux):

  • dpkg -l | grep log4j — Verificar se há pacote Log4J instalado e sua versão.
  • apt list --upgradable | grep log4j2 — Checar se existe atualização de segurança disponível para Log4J.
  • grep "jndi:" /var/log/tomcat/catalina.out — Buscar tentativas de exploração de Log4J em logs de aplicação Tomcat.

dpkg: Ferramenta de gerenciamento de pacotes no Debian/Ubuntu, usada para instalar, remover ou gerenciar pacotes .deb (ex.: dpkg -i pacote.deb instala um pacote; dpkg -l lista pacotes instalados). Essencial para administração de sistemas Linux, mas não resolve dependências automaticamente.

apt: Gerenciador de pacotes de alto nível para sistemas baseados em Debian, que utiliza o dpkg e resolve dependências automaticamente (ex.: apt install pacote instala um pacote; apt update atualiza a lista de repositórios). Simplifica a gestão de software em Linux.

log4j: Biblioteca de logging em Java, amplamente usada para registrar eventos em aplicações (ex.: registrar erros em um servidor). Vulnerabilidades críticas, como a Log4Shell (CVE-2021-44228) em 2021, permitiram execução remota de código, exigindo atualizações urgentes para versões seguras (ex.: 2.17.1 ou superior).

tomcat: Servidor web e contêiner de servlets open-source para aplicações Java (ex.: /etc/init.d/tomcat start inicia o serviço). Usado para hospedar aplicações web, mas requer configuração segura (ex.: desativar portas padrão inseguras) para evitar ataques, como os explorados em vazamentos de dados.

4. Engenharia Social na Era Digital

CVE (Common Vulnerabilities and Exposures)

O sistema CVE padroniza nomeação e descrição de vulnerabilidades, facilitando a comunicação entre ferramentas e profissionais.

Ferramentas e Comandos (Linux) para CVE:

  • git clone https://github.com/cve-search/cve-search.git
    cd cve-search && python3 -m venv venv && source venv/bin/activate
    pip install -r requirements.txt
    ./sbin/db_prep.sh
    — Instalar e atualizar o banco de dados local do cve-search para buscas offline.
  • ./cve-search.py -s "CVE-2021-28310" — Exibir informações detalhadas sobre a CVE especificada.
  • lynx -dump "https://www.cvedetails.com/cve/CVE-2021-28310/" | head -n 20 — Acessar via terminal a página CVE no cvedetails.com e ver as primeiras linhas.

CVE (Common Vulnerabilities and Exposures): Sistema que cataloga vulnerabilidades de segurança em software e hardware, atribuindo um identificador único (ex.: CVE-2021-38165) para rastrear falhas conhecidas. Gerenciado pelo MITRE, ajuda na identificação e mitigação de riscos (ex.: consultar cve.mitre.org para detalhes de uma vulnerabilidade específica) .

Lynx: Navegador web em modo texto para sistemas Unix/Linux, ideal para ambientes de baixa largura de banda ou acessibilidade. Vulnerabilidades conhecidas, como CVE-2008-4690 (execução arbitrária de código via URLs lynxcgi) e CVE-2021-38165 (exposição de credenciais em SNI), exigem atualizações para versões seguras (ex.: 2.8.9 ou superior) e cautela ao usá-lo como manipulador de URLs. (https://www.cvedetails.com/vulnerability-list/vendor_id-5836/product_id-9869/Lynx-Lynx.html) e (https://vulners.com/search/vendors/Lynx_project/cve).

MITRE: Organização que mantém o sistema CVE e frameworks como o MITRE ATT&CK, um banco de dados de táticas e técnicas de ciberataques (ex.: uso de phishing para engenharia social). Usado globalmente para mapear ameaças e fortalecer defesas cibernéticas, acessível em attack.mitre.org.

Golpe do PIX no Setor Educacional

Tática: E-mails falsos de "atualização cadastral" com:

  • Domínio clonado: gov.br@servicos-online.org
  • Certificado SSL falso (Let's Encrypt)

Detecção: dig +short mx servicos-online.org

Engenharia Social: Uso do Seeker + Ngrok + WhatsApp para Coleta de Dados

⚠️ AVISO LEGAL: Este guia é apenas para fins educacionais e de testes éticos. O uso não autorizado dessas técnicas é ilegal e pode resultar em consequências criminais. Sempre obtenha permissão explícita antes de testar em qualquer pessoa.

📌 Pré-requisitos

  • Sistema operacional Linux (Kali Linux recomendado)
  • Conexão estável à internet
  • Conta no Ngrok (free ou pago)
  • WhatsApp (ou outro meio de envio de mensagens)
  • Python 3 instalado

🔧 Passo 1: Instalação e Configuração do Seeker

O Seeker é uma ferramenta que cria páginas falsas para capturar informações de geolocalização e dados do dispositivo.

1.1 Clonando o Repositório

git clone https://github.com/thewhiteh4t/seeker.git
cd seeker

1.2 Instalando Dependências

chmod +x install.sh
./install.sh

1.3 Executando o Seeker

python3 seeker.py

Escolha um template (ex: NearYou) e aguarde o servidor iniciar na porta 8080.

🌐 Passo 2: Expondo o Servidor com Ngrok

Como o Seeker roda localmente, usamos o Ngrok para criar um túnel e acessá-lo externamente.

2.1 Baixando e Configurando o Ngrok

wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
unzip ngrok-stable-linux-amd64.zip
./ngrok authtoken SEU_TOKEN_AQUI  # Obtenha o token em https://dashboard.ngrok.com

2.2 Iniciando o Túnel

./ngrok http 8080

Copie o link HTTPS gerado (ex: https://abc123.ngrok.io).

🎣 Passo 3: Engenharia Social (Criando o Ataque)

Agora, vamos criar um link convincente para enganar a vítima.

3.1 Estratégias de Phishing

  • Método 1: Link de imagem falsa (ex: "Olha essa foto sua vazada: [LINK_NGROK]")
  • Método 2: Página de login falsa (ex: "Confirme sua conta do WhatsApp: [LINK_NGROK]")

3.2 Encurtando o Link (Opcional)

Use serviços como Bitly ou TinyURL para disfarçar o link do Ngrok.

📲 Passo 4: Envio pelo WhatsApp

Envie o link para a vítima como se fosse legítimo.

Exemplo de mensagem: "Oi, você viu essa foto sua circulando? [LINK_NGROK]"

🖥️ Passo 5: Monitorando os Resultados no Seeker

Quando a vítima clicar, o Seeker capturará:

  • 📍 Localização aproximada (via GPS/IP)
  • 📱 Modelo do dispositivo e navegador
  • 🛡️ Endereço IP e User-Agent

Os dados aparecerão em tempo real no terminal do Seeker.

🔒 Passo 6: Proteções Contra esse Ataque

  • Não clique em links suspeitos
  • Verifique URLs encurtadas
  • Desative permissões de localização desnecessárias
  • Use VPN para ocultar seu IP

📌 Conclusão

Demonstrado um ataque de engenharia social pode ser realizado usando ferramentas gratuitas. O objetivo é conscientizar sobre os riscos e promover a segurança digital.

🚨 Lembre-se: Testes só devem ser feitos em ambientes controlados e com autorização. O uso malicioso é crime.

Engenharia Social: ZPhisher para Phishing

⚠️ AVISO LEGAL: Este material é apenas para fins educacionais e de testes de penetração autorizados. Phishing sem consentimento é crime em muitos países. Use apenas em ambientes controlados com permissão explícita.

📌 Pré-requisitos do ZPhisher

  • Sistema Linux (Kali, Ubuntu, etc.)
  • Conexão à internet estável
  • Git instalado (sudo apt install git)
  • Python 3
  • Ngrok (para tunelamento)
  • Serviço de e-mail temporário (opcional)

🔧 Passo 1: Instalação do ZPhisher

1.1 Clonando o Repositório

git clone https://github.com/htr-tech/zphisher.git
cd zphisher

1.2 Instalando Dependências

chmod +x zphisher.sh
./zphisher.sh

1.3 Executando o ZPhisher

O script iniciará um menu interativo. Escolha uma opção:

1) Servidor Local (127.0.0.1)
2) Ngrok (Recomendado para acesso externo)
3) Cloudflared (Alternativa ao Ngrok)

🌐 Passo 2: Configurando Tunelamento com Ngrok

2.1 Se optar pelo Ngrok no ZPhisher

O próprio script tentará configurar automaticamente. Caso queira manualmente:

./ngrok http 80

Copie o URL HTTPS gerado (ex: https://abc123.ngrok.io).

2.2 Alternativas ao Ngrok

  • Cloudflared: ./zphisher.sh → Opção 3
  • Localhost.run: ssh -R 80:localhost:80 localhost.run

🎣 Passo 3: Personalizando o Ataque

3.1 Selecionando Templates

O ZPhisher oferece templates prontos para:

  • Facebook, Instagram, WhatsApp Web
  • Páginas de login bancário
  • Netflix, Google, Microsoft

3.2 Modificando Templates (Opcional)

Edite os arquivos em sites/ para personalizar:

nano sites/facebook/login.html

📩 Passo 4: Engenharia Social (Opcional)

4.1 Criando E-mails Falsos

Use serviços como:

  • Temp-Mail (e-mail temporário)
  • Mailinator
  • FakeSMTP (para testes locais)

4.2 Encurtando Links

Para disfarçar o link do Ngrok:

  • Bit.ly
  • TinyURL
  • adf.ly (com redirecionamento)

📲 Passo 5: Distribuição do Phishing

5.1 Métodos Comuns

  • WhatsApp: "Seu número será bloqueado, clique para verificar [LINK]"
  • E-mail: "Alerta de segurança - sua conta foi acessada"
  • SMS: "Você ganhou um prêmio, resgate aqui [LINK]"
IMPORTANTE: Nunca use esses métodos para atividades ilegais. Este guia é apenas para demonstração de técnicas de segurança.

🖥️ Passo 6: Coletando Credenciais

6.1 Visualizando Dados Capturados

As credenciais serão salvas em:

cat sites/facebook/usernames.txt

6.2 Automatizando com Scripts

Exemplo de script para notificação em tempo real:

while true; do 
    if [ -s sites/facebook/usernames.txt ]; then
        echo "Nova vítima!"
        cat sites/facebook/usernames.txt
        # Aqui você pode adicionar um webhook para Discord/Telegram
    fi
    sleep 5
done

🔒 Passo 7: Proteções Contra ZPhisher

  • Verifique sempre a URL antes de digitar credenciais
  • Habilite autenticação em dois fatores (2FA)
  • Desconfie de links em mensagens não solicitadas
  • Use gerenciadores de senhas (geram alertas para sites falsos)

📌 Conclusão

O ZPhisher é uma ferramenta poderosa para demonstrar vulnerabilidades em testes de penetração autorizados. Combinado com Ngrok e técnicas de engenharia social, pode ser usado para conscientização sobre segurança digital.

Nota para Pentesters: Sempre obtenha autorização por escrito antes de realizar testes. Documente todos os passos para relatórios formais.

Técnicas de Prevenção

TécnicaContramedidaFerramenta
Spear Phishing Treinamento com PhishTester python3 -m pip install phishing-tracker
Vishing (“voice phishing”): é uma modalidade de ataque de engenharia social em que o atacante utiliza chamadas telefônicas ou mensagens de voz para enganar a vítima e obter informações confidenciais (senhas, dados bancários, números de cartão etc.). Autenticação em 2 fatores

Resumo: O que é Vishing?

Vishing é uma forma de ataque de engenharia social que utiliza chamadas telefônicas ou mensagens de voz para enganar a vítima e obter informações confidenciais, como senhas ou dados bancários. Por exemplo, em 2024 um call center falso que “se passava por TI” de uma universidade, pedindo reset de senha

Principais Características

  • Origem do termo: combinação de “voice” (voz) + “phishing”.
  • Disfarce de Origem: número de telefone pode ser falsificado (caller ID spoofing) para parecer oficial.
  • Senso de Urgência: o atacante usa scripts bem elaborados, clamando perigo iminente ou bloqueio de conta.
  • Uso de Dados Reais: pesquisa prévia de informações públicas para tornar a chamada mais convincente.

Exemplos de Cenários

  • “Sou do banco, detectamos movimentação suspeita na sua conta. Preciso que confirme CPF e senha imediatamente.”
  • “Estamos atualizando sistema de segurança. Informe número completo do cartão e código de segurança.”
  • “Há um vírus no seu computador. Instale nosso software de suporte remoto via link que enviaremos por SMS.”

Diferenças para Smishing e Phishing

  • Phishing (e-mail): usa e-mails falsos com links ou anexos maliciosos.
  • Smishing (SMS): usa mensagens de texto com links enganosos ou solicitações por SMS.
  • Vishing (voz): usa chamadas telefônicas ou mensagens de voz para obter dados diretamente.

Como se Proteger

  • Desconfie de chamadas não solicitadas que peçam dados sigilosos.
  • Nunca forneça senhas ou códigos de autenticação por telefone.
  • Verifique sempre o número oficial no site ou verso do cartão antes de retornar a ligação.
  • Use autenticação multifator (MFA) para dificultar acessos não autorizados.
  • Reporte suspeitas de vishing à instituição oficial ou à polícia.

Monitoramento de Segurança (Exemplos em Linux)

  • grep "Failed password" /var/log/auth.log | tail -n 20 — Verifica tentativas de login fracassadas, possivelmente originadas de credenciais vazadas.
  • grep "Accepted password" /var/log/auth.log | tail -n 20 — Exibe logins bem-sucedidos, útil para detectar acessos suspeitos.
  • find /var/mail -type f -mtime 0 — Lista e-mails recebidos no último dia, ajudando a identificar campanhas de spear-phishing ligadas a vishing.

Laboratório de Phishing Controlado

git clone https://github.com/und3sc0n0c1d0/BlackPhish.git
cd BlackPhish
chmod +x install.sh
./install.sh

Objetivo: Criar página clone do SUAP para treinamento

dig: Ferramenta de linha de comando para consultas DNS, usada para obter informações sobre registros de domínios, como endereços IP ou servidores de e-mail (ex.: dig example.com MX lista servidores de e-mail). Útil para verificar a legitimidade de domínios em investigações de phishing.

phishing-tracker: Utilitário no GitHub para gerenciar e monitorar links de phishing, rastreando seu status e remoção ao longo do tempo (ex.: python3 phishing-tracker.py executa varreduras). Ajuda na análise de campanhas maliciosas, mas requer instalação de dependências via pip3 install -r requirements.txt. github.com/ndejong/phishing-tracker(https://github.com/ndejong/phishing-tracker)

BlackPhish.git: Ferramenta de phishing open-source no GitHub, usada para criar páginas falsas de login para sites como Instagram e Google (ex.: sudo python3 blackphish.py inicia o programa). Projetada para testes educacionais, oferece templates e requer autorização legal para uso ético. github.com/iinc0gnit0/BlackPhish(https://github.com/baylandogu/blackphish)

Ferramentas Adicionais para Detecção de Phishing

PhishTank - Verificação em Tempo Real

A ferramenta PhishTank, mantida pela OpenDNS, oferece um banco de dados colaborativo de URLs de phishing conhecidas, atualizado em tempo real:

Como verificar URLs suspeitas via API:
curl "https://checkurl.phishtank.com/checkurl/" \
  -d "format=json&app_key=SEU_API_KEY&url=https://exemplo-falso.com"

Onde obter sua API Key: Registre-se gratuitamente no PhishTank para obter uma chave de API.

Comparação com outras ferramentas:
Ferramenta Comando Vantagem
PhishTank curl API Base crowdsourced com atualização em minutos
dig dig +short exemplo-falso.com Verificação DNS imediata
VirusTotal vt-cli url exemplo-falso.com Multiplos motores antivírus
Exercício Prático:
  1. Registre-se no PhishTank para obter uma API key
  2. Teste uma URL conhecida:
    curl "https://checkurl.phishtank.com/checkurl/" \
      -d "format=json&app_key=SUA_CHAVE&url=http://example.com"
  3. Analise a resposta JSON para os campos:
    • results.valid (true/false)
    • results.verified (se foi confirmado)

Dica de Segurança: Combine com outras verificações:

# Verificação DNS + PhishTank
url="http://site-suspeito.com"
dig +short $(echo $url | awk -F/ '{print $3}') | \
xargs -I{} sh -c 'echo "IP: {}"; \
curl -s "https://checkurl.phishtank.com/checkurl/" \
  -d "format=json&app_key=SUA_CHAVE&url=$url"'

PhishTank: Banco de dados colaborativo que coleta e verifica URLs de phishing, permitindo que usuários relatem e consultem sites maliciosos (ex.: acessar phishtank.com para verificar uma URL suspeita). Exemplo: Identificação de sites falsos que imitam bancos, como no golpe de phishing contra clientes da Caixa Econômica em 2023.

vt-cli: Ferramenta de linha de comando do VirusTotal para analisar URLs, arquivos e IPs em busca de ameaças (ex.: vt url https://site-suspeito.com verifica se uma URL é maliciosa). Exemplo: Detecção de links de phishing usados em campanhas contra o Ministério da Saúde em 2021. github.com/VirusTotal/vt-cli

Referência ao MITRE ATT&CK

Para aprofundar as contramedidas e entender as técnicas utilizadas pelos atacantes, consulte o framework MITRE ATT&CK. Em particular, observe as seguintes táticas:

  • T1566 – Phishing: descreve métodos de envio de e-mails falsos ou maliciosos para induzir cliques em links ou anexos (por exemplo, Phishing: Spearphishing Attachment é codificada como T1598 dentro dessa tática).
  • T1598 – Phishing: Spearphishing Attachment: detalha ataques onde o invasor envia anexos maliciosos sob medida para um alvo específico.

Ao estudar essas táticas, você poderá relacionar cada técnica de prevenção discutida aqui (treinamento de usuários, uso de ferramentas como PhishTester, autenticação multifator etc.) com as contramedidas recomendadas pelo ATT&CK para detectar e mitigar cada etapa do ataque.

Consulte também o MITRE ATT&CK Navigator para visualizar matrizes completas e exemplos de deteção: mitre-attack.github.io/attack-navigator.

MITRE ATT&CK: Framework que cataloga táticas, técnicas e procedimentos (TTPs) usados por atacantes cibernéticos, organizado em matrizes como Enterprise e Mobile (ex.: técnica T1566 - Phishing, usada para obter credenciais). Ajuda na análise de ameaças e defesa, como no ataque ao Siafi (2024), onde TTPs de engenharia social foram identificados. attack.mitre.org

5. Comércio Eletrônico e Internet Banking

Reforça boas práticas ao comprar online e ao realizar transações bancárias pela Internet:

Exercício Prático (Linux):

  • openssl s_client -connect exemplo-ecommerce.com:443 -showcerts — Inspecionar detalhadamente o certificado SSL do site de comércio eletrônico.
  • curl -I https://exemplo-banco.com — Verificar cabeçalhos HTTP e checar presença de políticas de segurança (HSTS, CSP).
  • nmap --script ssl-enum-ciphers -p 443 exemplo-banco.com — Analisar protocolos TLS e ciphers suportados pelo servidor bancário.

openssl: Ferramenta de linha de comando de código aberto para gerenciar criptografia, certificados SSL/TLS e chaves (ex.: openssl s_client -connect site.com:443 verifica certificados SSL de um site; openssl enc -aes-256-cbc -in arquivo.txt -out arquivo.enc criptografa arquivos com AES-256). Usada para testes de segurança e conformidade com protocolos seguros, como na verificação de sites de comércio eletrônico.

6. Engenharia Social

A engenharia social explora a “fraqueza humana” para obter informações ou acesso não autorizado:

Exercício Prático (Laboratório de Engenharia Social):

  • git clone https://github.com/trustedsec/social-engineer-toolkit.git && cd social-engineer-toolkit && python3 setup.py install — Instalar o SET e explorar opções de “Spear-Phishing Attack Vectors” em ambiente isolado.
  • Simulação de Shoulder Surfing: Em duplas, um aluno digita senha em notebook enquanto outro tenta anotá-la visualmente, demonstrando risco em espaços públicos.
  • Exercício de Dumpster Diving Simulado: Distribuir “documentos falsos” com senhas escritas em papel, para ilustrar a importância de destruir documentos sensíveis antes do descarte.

SEToolkit (Social-Engineer Toolkit): Ferramenta open-source em Python para simular ataques de engenharia social, como phishing e clonagem de sites (ex.: setoolkit inicia o menu interativo). Usada por profissionais de segurança para testes éticos, mas exige autorização para evitar uso ilegal.(https://www.sciencedirect.com/topics/computer-science/social-engineer-toolkit)

Spear-Phishing Attack Vectors: Módulo do SEToolkit que cria e-mails personalizados com anexos ou links maliciosos para alvos específicos (ex.: PDF com exploit via Metasploit). Permite ataques individuais ou em massa, explorando confiança da vítima.

(https://www.sciencedirect.com/topics/computer-science/social-engineer-toolkit)(https://medium.com/purple-team/perform-a-spear-phishing-attack-with-social-engineering-toolkit-9d7a0528f635)

Shoulder Surfing: Técnica de engenharia social em que o atacante observa a vítima para capturar informações, como senhas ou dados sigilosos, em locais públicos (ex.: cafés, transporte público). Não requer ferramentas técnicas, apenas proximidade física. (https://www.social-engineer.org/framework/information-gathering/physical-methods-of-information-gathering/)

Dumpster Diving: Método de coleta de informações por meio da análise de lixo descartado, como documentos, notas ou dispositivos, para obter dados sensíveis (ex.: senhas em post-its). Legal nos EUA, mas pode ser considerado invasão em propriedades privadas.(https://www.social-engineer.org/framework/information-gathering/physical-methods-of-information-gathering/)

Metasploit: Framework de teste de penetração open-source para explorar vulnerabilidades e executar exploits (ex.: msfconsole inicia o console; use exploit/multi/http/log4shell explora a vulnerabilidade Log4Shell). Integrado ao SEToolkit para ataques avançados, requer uso ético com permissão legal.

🔍 SET: Exemplo Prático de “Credential Harvester”

Vamos clonar uma página simples e capturar qualquer login inserido pelo “usuário” de teste.

  1. Preparação do Ambiente
    > sudo apt update && sudo apt install apache2 git python3-pip -y
    > sudo systemctl start apache2
    Certifique-se de que http://localhost carrega a página padrão do Apache.
  2. Instalação do SET
    > git clone https://github.com/trustedsec/social-engineer-toolkit.git /opt/setoolkit
    > cd /opt/setoolkit
    > pip3 install -r requirements.txt
    > sudo python3 setup.py install
  3. Iniciando o SET
    > sudo setoolkit
    Você verá o menu principal do SET.
  4. Navegando pelos Menus
    • 1) Social-Engineering Attacks
    • 2) Website Attack Vectors
    • 3) Credential Harvester Attack Method
    • 2) Site Cloner
  5. Clonando o Site
    > Enter URL to clone: http://example.com
    O SET fará download de todos os arquivos em /var/www/html.
  6. Teste de Captura
    Abra no navegador: http://localhost
    – Preencha quaisquer valores nos campos de “usuário” e “senha” e clique em “Login”.
    – Esses dados serão enviados ao nosso servidor Apache, mas anote que não existe backend real: é só para fins de captura.
  7. Visualizando Credenciais Capturadas
    > sudo ls /var/www/html/harvester
    Deve aparecer algo como log_* ou usernames.txt.
    > sudo cat /var/www/html/harvester/usernames.txt
    Você verá:
    > username: testuser  
    > password: hunter2
  8. Lições Aprendidas
    • Como ataques de phishing clonam sites legítimos.
    • Onde SET guarda os formulários e logs de credenciais.
    • Importância de
      – HTTPS/HSTS para evitar man-in-the-middle, – Awareness para não clicar em links suspeitos.

7. Fascículo Redes Sociais

Redes sociais são parte do cotidiano, mas comportamentos inadequados podem expor dados pessoais e levar a ataques:

Exercício Prático (Linux/Redes Sociais):

  • chmod 600 ~/meu_projeto_social/credenciais.txt — Garantir que arquivos com tokens ou credenciais de API de redes sociais fiquem protegidos de leitura por outros usuários.
  • find ~/meu_projeto_social -type f -perm 0777 — Identificar arquivos com permissões muito abertas em projetos que armazenam dados de perfil social.
  • Demonstrar uso (com moderação) de “social_mapper”:
    git clone https://github.com/SpiderLabs/social_mapper.git
    cd social_mapper
    pip3 install -r requirements.txt
    python3 social_mapper.py -u lista_de_usuarios_testes.txt -p facebook
    — Analisar perfis de teste para entender riscos de exposição de fotos públicas (usar apenas contas criadas para fins de laboratório).

8. Vulnerabilidades Relacionadas (OWASP Top 10)

Muitas fraudes e ataques baseados em engenharia social exploram vulnerabilidades web. Exemplo de categorias críticas:

OWASP Top 10: Lista mantida pela Open Web Application Security Project (OWASP) que identifica as 10 principais vulnerabilidades em aplicações web (ex.: A01:2021 - Broken Access Control, A03:2021 - Injection). Atualizada periodicamente (última em 2021), orienta desenvolvedores e profissionais de segurança na mitigação de riscos, acessível em owasp.org/Top10.

sqlmap: Ferramenta open-source para automatizar testes de vulnerabilidades de injeção SQL em aplicações web (ex.: sqlmap -u "https://site.com?id=1" --dbs enumera bancos de dados). Usada em testes de penetração éticos para identificar falhas, mas requer autorização legal para evitar uso malicioso.

Exercício Prático (Linux):

  • nikto -h http://meu-ecommerce-teste.local — Executar scanner básico de vulnerabilidades web para identificar falhas OWASP Top 10.
  • find /var/www -type f \( -name "*.env" -o -name "*.bak" \) 2>/dev/null — Buscar arquivos de configuração ou backups sensíveis deixados em diretórios públicos que possam expor credenciais.
  • find /var/www -type f -perm 0777 2>/dev/null — Identificar arquivos ou diretórios com permissões muito abertas, possivelmente sujeitos a modificação maliciosa.

Nikto: Ferramenta open-source para varredura de vulnerabilidades em servidores web, identificando configurações inseguras, arquivos expostos e falhas conhecidas (ex.: nikto -h https://site.com escaneia um site para detectar vulnerabilidades como diretórios abertos ou versões desatualizadas de software). Usada em testes de segurança éticos, mas exige autorização legal para evitar uso indevido, conforme diretrizes de segurança cibernética.

Ferramentas

OSINT (theHarvester): Ferramenta de coleta de informações de código aberto (OSINT) usada para enumerar e-mails, subdomínios e hosts associados a um domínio (ex.: theHarvester -d alvo.com -b all busca dados em múltiplas fontes, como Google e Shodan). Ideal para auditorias de segurança e mapeamento de superfícies de ataque, mas requer uso ético. github.com/laramies/theHarvester

theHarvester: Ferramenta OSINT para coletar e-mails, subdomínios e hosts de um domínio via fontes públicas (ex.: theHarvester -d exemplo.com -b google lista subdomínios). Exemplo: Identificar e-mails expostos usados em phishing contra o Banco Inter (2018).

crackmapexec: Ferramenta de teste de penetração para enumerar hosts e testar credenciais em redes (ex.: crackmapexec smb 192.168.1.0/24 escaneia sistemas SMB). Exemplo: Detectar senhas fracas em servidores, como no ataque às Lojas Renner (2021).

Red Team (crackmapexec): Ferramenta de automação para testes de penetração em redes, focada em protocolos como SMB, usada para enumerar hosts, testar credenciais e executar comandos (ex.: crackmapexec smb 192.168.1.0/24 escaneia uma rede para sistemas vulneráveis). Usada em simulações de Red Team, exige autorização legal. github.com/byt3bl33d3r/CrackMapExec

5. Aprofundamentos e Recursos Adicionais – Ferramentas de Auditoria e Coleta de Informações

5.5 Ferramentas de Auditoria e Coleta de Informações

Esta seção apresenta ferramentas avançadas de cibersegurança, como theHarvester e crackmapexec, usadas para coleta de informações e auditorias de segurança. Ambas são exploradas no contexto de testes éticos, com foco na prevenção de fraudes e conformidade com a Lei Carolina Dieckmann (Lei nº 12.737/2012) e LGPD (Lei nº 13.709/2018).

Recursos Complementares

Relatórios

  • Recursos Adicionais:
  • Quiz de Avaliação – Aula 4

    1. Qual perfil de cibercriminoso utiliza scripts prontos da Internet sem ter grande conhecimento técnico?

    2. No caso do ataque ao servidor de escolas em SP, qual ferramenta foi usada para executar o DDoS?

    3. Qual comando pode ser usado em Linux para detectar se há arquivos “log4j” vulneráveis no sistema?

    4. Qual ferramenta de OSINT foi apresentada para coletar e-mails e subdomínios de um domínio?

    5. Qual comando do crackmapexec pode ser usado para enumerar sistemas SMB vulneráveis em uma rede?

    6. Qual bloqueio de firewall (iptables) ajuda a mitigar ataques DDoS ao limitar requisições HTTP na porta 80?

    7. Qual técnica de engenharia social corresponde ao “dumpster diving”?