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.
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.
- Preparar seu laboratório
- Descobrir o Hacking Ético
- Reconhecimento e OSINT
- Scanning e enumeração
- Exploração de vulnerabilidades
Enumeração de serviços (SMB, FTP, SSH, HTTP)
Objetivos pedagógicos
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
# 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
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
# 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
# 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
# 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
# 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
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.
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
# 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:
? (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
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).
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
Objetivos pedagógicos
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.
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
# 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 WHOIS | Significado | Interesse para o pentester |
|---|---|---|
| Registrar | Escritório de registro utilizado | Identificar o provedor DNS, possibilidades de social engineering |
| Registrant Name / Org | Nome e organização do proprietário | Nome real, organização mãe, contatos |
| Admin Email | E-mail do administrador | Alvo potencial de phishing, formato dos e-mails internos |
| Name Servers | Servidores DNS autoritativos | Identificar os DNS para ataques de transferência de zona |
| Creation Date | Data de criação do domínio | Antiguidade da organização, histórico |
| Expiration Date | Data de expiração | Possibilidade de recompra de domínio expirado |
| Updated Date | Última atualização | Atividade recente no domínio |
| DNSSEC | Segurança DNS ativada ou não | Presença ou ausência de proteção contra cache poisoning |
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.
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 CodeFAQ
Quanto tempo para aprender Ethical Hacking Fundamentals?
É preciso ter pré-requisitos?
Por onde começar concretamente?
📬 Quer receber este tipo de guia toda semana? Inscreva-se gratuitamente — código real, zero enrolação.