Mergulhe em Ethical Hacking Fundamentals: seu primeiro passo concreto hoje

Ethical Hacking Fundamentals : o essencial em um artigo — código real, diagramas e etapas concretas, extratos de um curso de 42 lições.

Mergulhe em Ethical Hacking Fundamentals: seu primeiro passo concreto hoje

A melhor forma de aprender Ethical Hacking Fundamentals é praticando. Este artigo te dá o pontapé inicial com trechos práticos extraídos de um curso de 42 lições — o suficiente para obter um primeiro resultado já hoje.

tl;dr
  • Preparar seu laboratório
  • Descobrir o Hacking Ético
  • Reconhecimento e OSINT
  • Scanning e enumeração
  • Exploração de vulnerabilidades
~$ cat ./parcours.md # Ethical Hacking Fundamentals — 11 capítulos
01
Preparar seu laboratório
→ Baixar Kali Linux e VirtualBox→ Criar a VM Kali e as máquinas alvo+ 1 mais lições
02
Descobrir o Hacking Ético
→ O que é hacking ético e por que aprender?→ Estrutura legal, certificações e metodologias+ 1 mais lições
03
Reconhecimento e OSINT
→ Reconhecimento passivo — WHOIS, DNS, Google Dorks→ OSINT avançado — Shodan, theHarvester e Maltego+ 1 mais lições
04
Scanning e enumeração
→ Nmap — Scans de portas e detecção de serviços→ Enumeração dos serviços (SMB, FTP, SSH, HTTP)+ 2 mais lições
05
Exploração de vulnerabilidades
→ Introdução ao Metasploit Framework→ Explorar Metasploitable : vsftpd e EternalBlue+ 1 mais lições
06
Pós-exploração e persistência
→ Escalonamento de privilégios Linux e Windows→ Pivoting, port forwarding e movimento lateral+ 1 mais lições
07
Ataques em aplicações Web
→ OWASP Top 10 : as vulnerabilidades web mais críticas→ Injeção SQL : detecção e exploração+ 2 mais lições
08
Ataques de rede e Man-in-the-Middle
→ ARP Spoofing e envenenamento do cache ARP→ Sniffing do tráfego de rede com Wireshark+ 1 mais lições
🏁
Projeto final (+ 3 capítulos no caminho)
→ Você sai com um projeto concreto e demonstrável

Enumeração de serviços (SMB, FTP, SSH, HTTP)

NOTEObjetivo — Dominar a enumeração aprofundada dos serviços de rede mais comuns — SMB, FTP, SSH, HTTP e SNMP — para extrair o máximo de informações exploráveis antes da fase de exploração.

Objetivos pedagógicos

TIPAo final deste módulo — Você será capaz de enumerar cada serviço descoberto pelo Nmap para extrair usuários, compartilhamentos, versões e configurações — a base de toda fase de exploração bem-sucedida.

1. Por que enumerar os serviços?

Após o scanning (Nmap), sabemos quais portas estão abertas e quais serviços estão escutando. A enumeração vai além: ela consulta cada serviço para extrair informações estruturadas úteis à exploração.

🔍 O que procuramos

🎯 O que fazemos em seguida

🛠 Ferramentas por serviço

2. Enumeração SMB — O serviço mais vulnerável

SMB (Server Message Block) é o protocolo de compartilhamento de arquivos e impressoras do Windows. Ele é a origem de algumas das vulnerabilidades mais devastadoras da história (EternalBlue, WannaCry). Sua enumeração revela com frequência informações preciosas.

2.1 enum4linux — A ferramenta tudo-em-um

bash
# Enumeração completa com enum4linux
enum4linux -a 192.168.1.20

# Opções detalhadas :
# -a : tudo (all) - equivalente a -U -S -G -P -r -o -n -i
# -U : lista de usuários
# -S : lista de compartilhamentos
# -G : lista de grupos
# -P : políticas de senha
# -r : enumeração RID (identificadores)
# -o : informações do SO
# -n : pesquisa NetBIOS
# -i : informações de impressoras

# Com autenticação (se credenciais conhecidas)
enum4linux -u "utilizador" -p "senha" -a 192.168.1.20

# Versão melhorada (enum4linux-ng)
enum4linux-ng -A 192.168.1.20
enum4linux-ng -A -oJ relatorio 192.168.1.20  # Saída JSON

2.2 Interpretação dos resultados do enum4linux

output
Exemplo de saída enum4linux no Metasploitable2 :

[*] Getting domain SID for 192.168.1.20
[+] Host is part of a workgroup (not a domain)

[*] Enumerating Workgroup/Domain on 192.168.1.20
[+] Got domain/workgroup name: WORKGROUP

[*] Getting OS information for 192.168.1.20
[+] Got OS info for 192.168.1.20 from smbclient:
    Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.20-Debian]
    <-- Samba 3.0.20 = CVE-2007-2447 (username map script) !

[+] Enumerating users using SID S-1-5-21-... and logon username '', password ''
S-1-5-21-...-500 METASPLOITABLE\Administrator (Local User)
S-1-5-21-...-501 METASPLOITABLE\nobody (Local User)
S-1-5-21-...-1000 METASPLOITABLE\msfadmin (Local User)  <-- Usuário alvo !

[+] Enumerating shares on 192.168.1.20
//192.168.1.20/print$    Printer Drivers
//192.168.1.20/tmp       oh noes!          <-- Compartilhamento tmp, provavelmente acessível !
//192.168.1.20/opt       opt
//192.168.1.20/IPC$      IPC Service (metasploitable server)
//192.168.1.20/ADMIN$    IPC Service

[+] Password Info for Domain: METASPLOITABLE
[+] Minimum password length: 5   <-- Política fraca !
[+] Password history length: None
[+] Account lockout threshold: None  <-- Sem lockout = brute force possível !

2.3 smbclient — Acesso aos compartilhamentos

bash
# Listar os compartilhamentos disponíveis (acesso anônimo)
smbclient -L //192.168.1.20 -N
# -L : list shares
# -N : no password (acesso anônimo)

# Listar os compartilhamentos com usuário
smbclient -L //192.168.1.20 -U "utilizador"

# Conectar-se a um compartilhamento específico
smbclient //192.168.1.20/tmp -N

# Comandos úteis no smbclient :
smbclient //192.168.1.20/tmp -N -c "ls"              # Listar o conteúdo
smbclient //192.168.1.20/tmp -N -c "get arquivo.txt" # Baixar um arquivo
smbclient //192.168.1.20/tmp -N -c "put local.txt"   # Enviar um arquivo
smbclient //192.168.1.20/tmp -N -c "dir"             # Listar diretório

# Baixar todo o conteúdo de um compartilhamento
smbclient //192.168.1.20/tmp -N \
  -c "prompt OFF; recurse ON; mget *"

2.4 smbmap — Mapeamento das permissões

bash
# Verificar as permissões em todos os compartilhamentos (anônimo)
smbmap -H 192.168.1.20

# Com autenticação
smbmap -H 192.168.1.20 -u "msfadmin" -p "msfadmin"

# Listar o conteúdo de um compartilhamento específico
smbmap -H 192.168.1.20 -r "tmp"

# Procurar arquivos específicos
smbmap -H 192.168.1.20 -u "msfadmin" -p "msfadmin" \
  -R --depth 5

# Exemplo de saída smbmap :
# [+] Guest session       IP: 192.168.1.20:445
# Disk         Permissions    Comment
# ----         -----------    -------
# print$       NO ACCESS      Printer Drivers
# tmp          READ, WRITE    oh noes!  <-- Acesso total !
# opt          NO ACCESS
# IPC$         NO ACCESS      IPC Service

2.5 Scripts Nmap para SMB

bash
# Detecção da versão Samba/SMB
nmap --script smb-os-discovery -p 139,445 192.168.1.20

# Enumeração de usuários
nmap --script smb-enum-users -p 445 192.168.1.20

# Enumeração de compartilhamentos
nmap --script smb-enum-shares -p 445 192.168.1.20

# Políticas de segurança
nmap --script smb-security-mode -p 445 192.168.1.20

# Detecção EternalBlue (MS17-010)
nmap --script smb-vuln-ms17-010 -p 445 192.168.1.20

# Detecção MS08-067 (Conficker)
nmap --script smb-vuln-ms08-067 -p 445 192.168.1.20

# Tudo em um único comando
nmap --script "smb-*" -p 139,445 192.168.1.20

3. Enumeração FTP

FTP (File Transfer Protocol) é um protocolo de transferência de arquivos muito difundido, infelizmente muitas vezes mal configurado e não criptografado. Os acessos anônimos e as versões vulneráveis o tornam um alvo privilegiado.

3.1 Conexão anônima FTP

bash
# Verificar se o acesso anônimo é possível
nmap --script ftp-anon -p 21 192.168.1.20

# Conexão manual com o cliente FTP
ftp 192.168.1.20
# User: anonymous (ou ftp)
# Password: (qualquer endereço de e-mail ou vazio)

# Se acesso anonymous autorizado, comandos FTP úteis :
ftp> ls -la             # Listar todos os arquivos (inclusive ocultos)
ftp> pwd                # Diretório atual
ftp> cd /               # Ir para a raiz
ftp> get arquivo.txt    # Baixar um arquivo
ftp> mget *.txt         # Baixar vários arquivos
ftp> put local.txt      # Enviar (se escrita permitida)
ftp> binary             # Modo binário (para arquivos não-texto)
ftp> passive            # Modo passivo (se conexão direta impossível)
ftp> quit               # Desconectar

# Acesso anônimo com wget (baixar todo o conteúdo)
wget -r --no-passive ftp://anonymous@192.168.1.20/

ARP Spoofing e envenenamento do cache ARP

NOTE🔎 Objetivos pedagógicos
Ao final desta lição, você será capaz de: compreender o protocolo ARP e suas fraquezas, realizar um ataque ARP spoofing em laboratório, usar arpspoof, ettercap e Bettercap, e implementar contramedidas eficazes.

1. O protocolo ARP: funcionamento

ARP (Address Resolution Protocol) é um protocolo de camada 2 (enlace de dados) que permite resolver um endereço IP em endereço MAC em uma rede local. Sem ARP, as máquinas não poderiam se comunicar diretamente mesmo no mesmo segmento de rede.

📡 Requisição ARP (ARP Request)

Uma máquina envia uma mensagem broadcast para toda a rede:
« Quem tem o IP 192.168.1.1? Digam a 192.168.1.10 »

Esta mensagem é enviada para o endereço MAC de difusão: FF:FF:FF:FF:FF:FF

📢 Resposta ARP (ARP Reply)

A máquina alvo responde em unicast:
« Sou eu! Meu endereço MAC é AA:BB:CC:DD:EE:FF »

A máquina emissora armazena essa associação em seu cache ARP.

NOTE⚠️ Fraqueza fundamental do ARP
ARP é um protocolo sem estado e sem autenticação. Qualquer máquina pode enviar uma resposta ARP, mesmo sem ter recebido uma requisição. Isso é chamado de « ARP gratuito » (Gratuitous ARP).

2. O cache ARP

Cada máquina mantém um cache ARP: uma tabela que associa endereços IP a endereços MAC. Esta tabela tem uma vida útil limitada (geralmente 2 minutos no Linux, 10 minutos no Windows).

Consultar o cache ARP

bash
# No Linux
arp -a

# Exibição detalhada
arp -n

# Com ip neigh (mais moderno)
ip neigh show

# No Windows
arp -a

Exemplo de saída no Linux:

output
? (192.168.1.1) at aa:bb:cc:dd:ee:ff [ether] on eth0
? (192.168.1.20) at 11:22:33:44:55:66 [ether] on eth0
? (192.168.1.30) at de:ad:be:ef:ca:fe [ether] on eth0
TIP💡 Dica
No Kali Linux, use ip neigh show em vez de arp -a: o comando ip faz parte do pacote iproute2 e é mais moderno e completo.

3. O ataque ARP Spoofing: princípio

O ARP Spoofing (ou ARP Poisoning) consiste em enviar pacotes ARP falsos na rede local para associar o endereço MAC do atacante ao endereço IP de outra máquina (geralmente o gateway).

WARNING🚨 Atenção – Apenas laboratório
Este ataque é ilegal em qualquer rede sem autorização explícita. Pratique somente em seu laboratório virtual com Kali Linux e Metasploitable.

Cenário típico de um ataque MITM via ARP Spoofing

🆕 Etapa 1: Estado normal

A vítima (192.168.1.10) se comunica normalmente com o gateway (192.168.1.1).

Cache ARP da vítima:
192.168.1.1 → aa:bb:cc:11:22:33

⚡ Etapa 2: Envenenamento

O atacante envia respostas ARP falsas:
— Para a vítima: « 192.168.1.1 = meu MAC »
— Para o gateway: « 192.168.1.10 = meu MAC »

Reconhecimento passivo — WHOIS, DNS, Google Dorks

NOTEObjetivo — Dominar as técnicas de reconhecimento passivo permitindo coletar o máximo de informações sobre um alvo sem nunca estabelecer contato direto com seus sistemas. Essas técnicas são legais, discretas e constituem a primeira etapa de todo teste de intrusão profissional.

Objetivos pedagógicos

TIPAo final deste módulo — Você será capaz de realizar um reconhecimento passivo completo em qualquer domínio, analisar dados WHOIS, consultar o DNS e usar Google Dorks para encontrar informações sensíveis expostas publicamente.

1. Reconhecimento passivo vs ativo

A fase de reconhecimento é a primeira etapa da metodologia de pentest. Ela consiste em coletar informações sobre o alvo antes de qualquer tentativa de exploração. Distinguem-se dois tipos fundamentais:

🔐 Reconhecimento passivo

Definição: Coleta de informações sem interação direta com os sistemas do alvo. Usam-se fontes publicamente disponíveis (OSINT).

🔹 Reconhecimento ativo

Definição: Interação direta com os sistemas do alvo para coletar informações em tempo real.

WARNING⚠ Lembrete legal — Mesmo o reconhecimento passivo pode se tornar ilegal se usado com intenção maliciosa. Realize sempre essas operações no âmbito de um mandato escrito ou em seus próprios sistemas. Neste curso, usamos domínios de demonstração como example.com.

2. WHOIS — Informações sobre os domínios

O protocolo WHOIS permite consultar bases de dados públicas contendo as informações de registro de nomes de domínio e endereços IP. É frequentemente o primeiro comando executado durante um reconhecimento.

2.1 Comandos WHOIS essenciais

bash
# Pesquisa WHOIS básica em um domínio
whois example.com

# WHOIS em um endereço IP (revela a organização proprietária)
whois 93.184.216.34

# WHOIS usando um servidor específico
whois -h whois.arin.net 8.8.8.8

# Filtrar os resultados importantes com grep
whois example.com | grep -i "registrar\|name server\|creation\|expir\|email"

# WHOIS em linha de comando no Windows (via Sysinternals)
whois.exe example.com

2.2 Dados importantes em um resultado WHOIS

Campo WHOISSignificadoInteresse para o pentester
RegistrarEscritório de registro utilizadoIdentificar o provedor DNS, possibilidades de social engineering
Registrant Name / OrgNome e organização do proprietárioNome real, organização mãe, contatos
Admin EmailE-mail do administradorAlvo potencial de phishing, formato dos e-mails internos
Name ServersServidores DNS autoritativosIdentificar os DNS para ataques de transferência de zona
Creation DateData de criação do domínioAntiguidade da organização, histórico
Expiration DateData de expiraçãoPossibilidade de recompra de domínio expirado
Updated DateÚltima atualizaçãoAtividade recente no domínio
DNSSECSegurança DNS ativada ou nãoPresença ou ausência de proteção contra cache poisoning
NOTE💡 WHOIS Privacy — Muitos registradores oferecem um serviço de proteção WHOIS (privacy shield) que substitui as informações reais do proprietário pelas de um proxy. Isso não significa que o alvo seja inatingível — outras técnicas OSINT permitem contornar essa proteção.

2.3 Ferramentas web WHOIS alternativas

🌎 who.is

Interface web completa com histórico WHOIS e informações complementares sobre o hospedeiro.

🌐 DomainTools

Histórico WHOIS, reverse WHOIS (encontrar todos os domínios de uma pessoa), correlação de dados.

🔍 ViewDNS.info

Múltiplas ferramentas DNS e WHOIS, reverse IP lookup, histórico DNS.

3. DNS — Interrogação do Sistema de Nomes de Domínio

O DNS (Domain Name System) é um sistema distribuído que traduz nomes de domínio em endereços IP. Para um pentester, ele constitui uma mina de informações sobre a infraestrutura alvo.

va-plus-loin

Este artigo cobre os trechos mais úteis — o curso completo Ethical Hacking Fundamentals (12 capítulos, 42 lições, exercícios corrigidos e projeto final) te leva até o fim.

./acceder-au-cours-complet curso gratuito : Dominar o Claude Code

FAQ

Quanto tempo para aprender Ethical Hacking Fundamentals?
Com uma progressão estruturada (12 capítulos, 42 lições curtas e práticas), alcança-se um nível operacional em algumas semanas dedicando 30 a 60 minutos por dia. O importante é praticar cada conceito imediatamente.
É preciso ter pré-requisitos?
É melhor estar à vontade com os fundamentos da área: este conteúdo aprofunda, com casos reais.
Por onde começar concretamente?
Reproduza os comandos deste artigo, depois siga o curso completo Ethical Hacking Fundamentals: ele encadeia as 42 lições em ordem, com exercícios e projeto final.

📬 Quer receber este tipo de guia toda semana? Inscreva-se gratuitamente — código real, zero enrolação.