Manual de campo · Infraestrutura do participante
Sua máquina de batalha, do zero, em 10 minutos
Todo participante precisa de um servidor próprio na internet para resolver alguns desafios específicos. Este guia leva você da criação da conta até o primeiro ssh funcionando. Você não vai pagar nada.
- Máquina
- 1 vCPU · 1 GB
- Disco
- 10–25 GB SSD
- Sistema
- Ubuntu 24.04
- Custo
- US$ 0,00
Separe o que você vai precisar
Antes de abrir o navegador
- Um e-mail — pode ser o institucional da universidade.
- Um cartão de crédito ou conta PayPal. Serve só para verificação; não haverá cobrança.
- Um terminal. Linux e macOS já vêm com um. No Windows, use o Windows Terminal ou o PowerShell — ambos já têm SSH embutido.
Por que pedem cartão se é grátis
É uma trava contra abuso: sem isso, qualquer um criaria mil contas para minerar cripto. O provedor faz uma pré-autorização de US$ 1 (ou US$ 5 no PayPal) e libera em seguida. Você só é cobrado se estourar o crédito de US$ 200 — e uma máquina desse tamanho consome cerca de US$ 0,03 por dia.
Crie a conta na DigitalOcean
≈ 3 minutos
Escolhemos a DigitalOcean porque o cadastro é o mais rápido entre os provedores e o crédito inicial é generoso: US$ 200 válidos por 60 dias, mais do que suficiente para o CTF inteiro.
- Acesse digitalocean.com/try/free-trial-offer. Entre por esta página — o crédito é aplicado no momento do cadastro e não é concedido depois.
- Cadastre-se com e-mail e senha, ou pelo botão do Google/GitHub (mais rápido).
- Confirme o e-mail pelo link que chegar na caixa de entrada.
- Cadastre o cartão ou o PayPal quando for solicitado.
- Se perguntarem o nome de um projeto, escreva qualquer coisa —
ctfserve.
Não caia nos sites de "VPS grátis para sempre"
Buscar "free VPS no credit card" devolve dezenas de sites prometendo 6 GB de RAM sem cadastro. Nenhum deles é sustentável: no melhor caso é isca de afiliado, no pior é coleta de credenciais. Você vai colocar sua chave SSH nessa máquina. Fique com provedores conhecidos.
Gere sua chave SSH
No seu computador, antes de criar o servidor
A chave SSH substitui a senha para entrar no servidor. São dois arquivos: a privada (fica com você, nunca sai da sua máquina) e a pública (você entrega ao provedor). Rode o comando abaixo no seu terminal — funciona igual no Linux, macOS e Windows.
# gere o par de chaves (aperte Enter em todas as perguntas)
ssh-keygen -t ed25519 -C "ctf"
# mostre a chave PÚBLICA para copiar
cat ~/.ssh/id_ed25519.pub
A saída do segundo comando é uma linha só, começando com ssh-ed25519. Copie ela inteira — você vai colar no próximo passo.
A chave privada é sua identidade
O arquivo id_ed25519 (sem .pub) nunca deve ser enviado a ninguém, colado em chat, commitado em repositório ou copiado para o servidor. Quem tiver ele entra na sua máquina como você.
Suba o servidor
Na DigitalOcean, o servidor se chama "Droplet"
No painel, clique em Create → Droplets e preencha assim:
- Region:
New York— é o datacenter com menor latência a partir do Brasil entre os disponíveis. - Image:
Ubuntu 24.04 (LTS) x64. - Size: aba Basic → tipo Regular (SSD) → escolha o plano de US$ 6/mês: 1 GB de RAM, 1 vCPU, 25 GB. Existe um de US$ 4 com 512 MB e 10 GB, mas 512 MB apertam bastante quando você roda várias ferramentas ao mesmo tempo.
- Authentication: selecione SSH Key → New SSH Key e cole a chave pública do passo anterior. Dê um nome qualquer a ela.
- Hostname: algo que você reconheça, como
ctf-box. - Deixe backups, monitoring e o resto desmarcados. Clique em Create Droplet.
Em cerca de 40 segundos o painel mostra o endereço IP público da máquina. Anote — é o seu endereço daqui em diante.
A cobrança é por segundo
Você paga apenas pelo tempo em que a máquina existe, com mínimo de 60 segundos. Cinco dias dessa configuração custam cerca de US$ 1 — descontados do crédito de US$ 200.
Entre na máquina
Primeiro acesso via SSH
Troque SEU_IP pelo endereço que apareceu no painel:
ssh root@SEU_IP
Abra o Windows Terminal ou o PowerShell (não precisa instalar PuTTY) e rode o mesmo comando:
ssh root@SEU_IP
Na primeira conexão aparece um aviso sobre a autenticidade do host. Responda yes. Se o prompt mudar para root@ctf-box:~#, você está dentro.
Prepare o ambiente
Já conectado, dentro do servidor
Atualize o sistema e instale o básico. A primeira linha demora um ou dois minutos.
apt update && apt -y upgrade
# ferramentas de trabalho
apt -y install git curl wget tmux vim build-essential \
python3-pip python3-venv unzip jq net-tools
# memória virtual: 1 GB de RAM acaba rápido
fallocate -l 2G /swapfile && chmod 600 /swapfile
mkswap /swapfile && swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
Use tmux para que suas sessões continuem rodando se a conexão cair: tmux new -s ctf para abrir, Ctrl+B depois D para sair sem matar, tmux attach -t ctf para voltar.
Transfira arquivos quando precisar
Entre o seu computador e o servidor
# enviar um arquivo para o servidor
scp arquivo.bin root@SEU_IP:/root/
# trazer um arquivo do servidor
scp root@SEU_IP:/root/resultado.txt .
Destrua a máquina no fim
Depois que o CTF acabar
Desligar o servidor não para a cobrança — o disco continua reservado para você. Para zerar o gasto é preciso destruir o Droplet: no painel, abra a máquina e vá em Destroy → Destroy this Droplet.
Se pretende continuar usando depois do evento, tire antes um snapshot (custa alguns centavos por mês) e recrie a máquina a partir dele quando quiser.
Coloque um alerta de consumo
Em Settings → Billing → Billing alerts, configure um aviso em US$ 5. É a rede de segurança contra a máquina esquecida ligada por três meses.