Capítulo 1 — Serviço
O que um computador oferece ao mundo por uma porta
Introdução
Na Temporada 1 você aprendeu que um computador tem portas — as "salas" numeradas onde os dados chegam (Cap. 4 da T1). Mas ficou uma pergunta no ar: o que fica dentro de cada sala?
A resposta é: um serviço. E entender o que é um serviço é o primeiro passo de todo pentest — porque você não ataca um computador, você examina os serviços que ele oferece. É neles que mora tudo: as portas de entrada, as versões, as falhas.
Pelo Método A.P., a pergunta certa não é "que serviços existem". É: por que um computador fica oferecendo coisas pro mundo? Quando você entende isso, o reconhecimento inteiro faz sentido.
História
Pensa num prédio comercial na avenida.
Da calçada, você vê um prédio só. Mas quando entra, descobre que cada sala tem um negócio funcionando: uma sala é uma cafeteria, outra é um cartório, outra é uma agência de correios, outra está vazia e trancada.
Cada negócio desses atende o público de um jeito: a cafeteria serve café, o cartório reconhece firma, os correios recebem encomendas. Eles estão ali, de porta aberta, esperando alguém chegar e pedir o que oferecem.
Um servidor na internet é esse prédio. Cada porta aberta tem um "negócio funcionando" atrás — um programa que fica ligado, esperando alguém se conectar e pedir algo. Esse programa em funcionamento, esperando clientes, é o que a gente chama de serviço.
Analogia
Um serviço é uma loja aberta dentro do prédio, atendendo o público por uma porta específica.
A porta 80 é a "loja de sites" (o serviço web). A porta 22 é a "sala do acesso remoto" (o serviço SSH). A porta 21 é o "depósito de arquivos" (o serviço FTP). Cada uma tem um funcionário lá dentro, de plantão, esperando um pedido.
Se a loja está aberta (o serviço está rodando e a porta escutando), qualquer um pode chegar e conversar com ela. Se está fechada (nenhum serviço na porta), você bate e ninguém responde.
Explicação
Passo a passo:
1. Um serviço é um programa que "fica escutando" uma porta.
Diferente de um programa comum (que você abre, usa e fecha), um serviço fica ligado o tempo todo, parado numa porta, esperando conexões. Em inglês isso se chama estar em estado listening (escutando) — lembra que você viu LISTENING no netstat da Temporada 1? Era exatamente um serviço de plantão.
2. Cada serviço "fala uma língua" (um protocolo). A loja de sites fala HTTP. A sala de acesso remoto fala SSH. Cada serviço só entende quem chega falando a língua certa. Por isso você não abre um site "conversando SSH" — seria como pedir café no cartório.
3. Serviços costumam usar portas "de costume". Pra o mundo se organizar, cada tipo de serviço tem sua porta padrão:
| Porta | Serviço | O que oferece |
|---|---|---|
| 21 | FTP | Transferência de arquivos |
| 22 | SSH | Acesso remoto seguro |
| 23 | Telnet | Acesso remoto antigo (texto puro) |
| 25 | SMTP | Envio de e-mail |
| 53 | DNS | Tradução de nomes (a agenda!) |
| 80 | HTTP | Sites (sem cofre) |
| 443 | HTTPS | Sites (com cofre) |
| 3306 | MySQL | Banco de dados |
4. Pro pentester, cada serviço aberto é uma porta de entrada em potencial. É aqui que a ficha vira. Todo serviço aberto é uma superfície de ataque — um lugar por onde talvez dê pra entrar, se aquele serviço tiver uma falha ou uma senha fraca. Por isso a primeira coisa que um pentester faz é descobrir quais serviços o alvo está oferecendo. Você não pode atacar o que não sabe que existe.
🔬 Na real, tecnicamente... O conjunto de todos os serviços, portas e pontos por onde um sistema pode ser atacado tem um nome: superfície de ataque (attack surface). Uma regra de ouro da segurança é "reduzir a superfície de ataque" — ou seja, desligar todo serviço que não é necessário. Cada loja aberta a mais é uma porta a mais pra vigiar. Menos serviços rodando = menos coisa pra dar errado. Isso se chama hardening (endurecimento) e você vai ouvir muito esse termo.
Sigla
"Serviço" não é sigla, mas o conceito tem um par de termos técnicos que andam juntos:
- Daemon (lê-se "dímon") — no mundo Linux, é o nome do programa que roda em segundo plano oferecendo o serviço. Ex.: o serviço SSH é gerenciado por um daemon chamado
sshd(o "d" no fim é de daemon). - Listening — o estado de "escutando", esperando conexões numa porta.
↓ o que isso faz?
Um daemon fica em listening numa porta, oferecendo um serviço. Traduzindo tudo: um programa de plantão, escutando uma porta, pronto pra atender quem chegar.
Tradução
Quando você ouvir "que serviços estão rodando nesse alvo?", leia:
"quais lojas estão abertas nesse prédio, e o que cada uma oferece?"
"A porta 22 tem um serviço SSH" = "a sala 22 tem o negócio de acesso remoto funcionando." "Esse servidor expõe muitos serviços" = "esse prédio tem loja demais aberta pro público — superfície de ataque grande."
Curiosidade
Muitos ataques enormes da história aconteceram por causa de um serviço que ninguém lembrava que estava aberto.
Uma empresa sobe um servidor, liga um banco de dados "só pra testar", esquece ligado e exposto na internet — e meses depois alguém encontra aquela porta aberta, sem senha, com os dados de milhões de pessoas dentro. Não foi um "hacker gênio". Foi uma loja aberta e esquecida que alguém achou dando a volta no prédio.
É por isso que "saber o que você está oferecendo pro mundo" não é paranoia — é o básico. E é por isso que a habilidade que você vai construir nesta temporada (descobrir serviços) vale ouro dos dois lados: pra atacar com permissão, e pra defender. No fim, metade da segurança do mundo é só gente lembrando de fechar o que abriu "só pra testar".
Mão na Massa
Aqui na Academia do Pentester a gente não acredita em mágica. A gente pergunta para a tecnologia.
Antes de sair olhando os serviços dos outros (só com permissão!), vamos olhar os serviços que o seu próprio computador está oferecendo agora. Alvo 100% legal: você mesmo. Abra o Prompt de Comando.
Comando
netstat -an -p TCP | findstr LISTENING
Aperte Enter.
No Linux ou macOS:
ss -tln
(-t = TCP, -l = listening, -n = em números)
Explicação do comando
Você já conhece o netstat da T1 (net + stat = estatísticas de rede). A novidade:
| findstr LISTENING— a barrinha|é um "cano" (pipe): ela pega o resultado donetstate joga pra dentro dofindstr, que filtra só as linhas que contêm a palavraLISTENING. Traduzindo: "me mostra só as portas que estão de plantão, escutando." (No Linux, o-ldossjá faz esse filtro sozinho.)
O resultado é algo assim:
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 127.0.0.1:5040 0.0.0.0:0 LISTENING
Lendo com olhos de pentester:
- Cada linha
LISTENINGé uma loja aberta no seu computador. Um serviço de plantão. - O número depois dos dois-pontos (
:135,:445) é a porta onde o serviço escuta. 0.0.0.0quer dizer "escutando em todas as interfaces" — ou seja, essa loja atende inclusive quem vem de fora. Já127.0.0.1quer dizer "só atende de dentro de casa" (localhost). Essa diferença é ENORME em segurança: um serviço em0.0.0.0é visível pro mundo; em127.0.0.1, só pra você.
Parabéns: você acabou de fazer o reconhecimento do seu próprio sistema. Descobriu o que a sua máquina oferece pro mundo — o primeiro superpoder do pentester.
Erros comuns
Confundir "porta aberta" com "serviço perigoso". Nem toda loja aberta é um risco. Um servidor de site precisa ter a porta 80/443 aberta. O risco é ter aberta uma loja que não deveria estar (um banco de dados exposto, um serviço antigo esquecido). Aberto ≠ vulnerável; aberto = ponto pra investigar.
Achar que serviço e porta são a mesma coisa. A porta é o número da sala (Cap. 4 da T1). O serviço é o negócio funcionando dentro dela. A porta 22 é o endereço; o SSH é o que atende lá. Um pode existir sem o outro (porta fechada = sala vazia).
Ignorar a diferença entre
0.0.0.0e127.0.0.1. É um dos erros mais caros da vida real. Um serviço que deveria ser só interno (127.0.0.1) subir por engano em0.0.0.0já vazou dado de gente grande. Sempre olhe onde o serviço escuta, não só que ele existe.Sair escaneando serviço dos outros "pra praticar". Releia a Regra de Ouro do início do ebook. Seu computador,
scanme.nmap.orge labs de treino: liberado. O resto: não.
Resumo
- Um serviço é um programa de plantão, "escutando" uma porta, esperando alguém se conectar e pedir algo (a loja aberta no prédio).
- Cada serviço fala um protocolo (uma língua) e costuma usar uma porta padrão (22=SSH, 80=HTTP, 443=HTTPS...).
- Todo serviço aberto é uma superfície de ataque — por isso o pentest começa descobrindo quais serviços o alvo oferece.
- No Linux, um serviço em segundo plano é um daemon; o estado de espera é listening.
- Escutar em
0.0.0.0= visível pro mundo; em127.0.0.1= só local. Essa diferença é crítica.
🎯 Isso cai na prova
Nas certificações (eJPT, PenTest+, Security+):
"A fase de reconhecimento identifica os serviços expostos por um host. Cada serviço em estado LISTEN representa parte da superfície de ataque (attack surface). A prática de hardening visa minimizar serviços desnecessários, reduzindo vetores de ataque."
Tradução: "host" = computador-alvo. "Serviço exposto" = loja aberta pro mundo. "Vetor de ataque" = caminho possível de invasão. "Hardening" = fechar as lojas que não precisam. Tudo que você acabou de entender — agora com o vocabulário que a prova cobra.
Missão
Rode netstat -an -p TCP | findstr LISTENING (ou ss -tln) no seu PC e conte quantos serviços estão de plantão. Anote quais escutam em 0.0.0.0 (visíveis) e quais em 127.0.0.1 (só locais). Você acabou de mapear a superfície de ataque da sua própria máquina.
Desafio
Pesquise (só pesquisar!) o que é o serviço que costuma rodar na porta 445 — que provavelmente apareceu na sua lista, se você usa Windows.
Pergunta: por que esse serviço específico (o "compartilhamento de arquivos" do Windows) já foi responsável por alguns dos maiores ataques da história (procure por "WannaCry")? O que isso te ensina sobre deixar serviços abertos pro mundo sem necessidade?
(Resposta comentada no Gabarito, no fim do ebook.)
🎓 Academia do Pentester Aqui você não decora tecnologia. Você finalmente entende como ela funciona.
Próximo fundamento → Nmap: agora que você sabe o que é um serviço, vem a ferramenta que descobre TODOS os serviços de um alvo em segundos, dando a volta no prédio e testando cada uma das portas. É a ferramenta mais famosa do pentest.