Criando seu proprio Capture The Flag com o CTFd

Essa VM que usei é um Debian8(Jessie) , não tem nada instalado e configurado! Apenas o sistema Debian rodando limpo em linha de comando , vamos instalar tudo e no final vamos ter uma plataforma para criar seus próprios Capture The Flag.

Instalando o sudo

O sudo permite um usuário em particular execute vários comandos como super usuário sem que possua sua senha, ou seja sem a senha do root.

Precisamos de privilégios para isso então precisamos logar como root.

Para isso vamos instalar o sudo.

# apt-get install sudo

Configuração sudo

Agora vamos adicionar um usuário ao grupo sudo.

 # adduser USUARIO sudo

Depois vamos testar dando um simples comando ifconfig.

Veja que é necessário colocar sua senha de usuário , é possível que precise reiniciar a VM.

Atualizando sistema

Para deixar nosso sistema atualizado vamos dar um update seguindo de um upgrade para deixar nosso sistema atualizado.

sudo apt-get update -y
sudo apt-get upgrade -y

Instalando SSH

Agora vamos instalar o serviço de SSH.

 sudo apt-get install openssh-server openssh-client

Instalando Git

 sudo apt-get install git

Controlando via SSH

Como é uma VM essa maquina poderia estar em qualquer lugar da sua casa ou até do mundo se for usar algum serviço de hospedagem para o seu servidor , para isso vamos ter acesso de nossa maqina via SSH.

Veja que primeiro demos um start no serviço SSH.

 sudo service ssh start

Em seguida vemos nosso IP da nossa interface eth0.

 sudo ifconfig eth0

Caso queira ver de todas elas

sudo ifconfig

Agora em nossa maquina vamos logar no servidor

 ssh usuario@192.168.0.111

Nesse caso usuario é seu nome de usuário , já 192.168.0.111 no caso é o IP do seu Servidor.

Em seguida é necessário colocar a senha.

Baixando projeto

Assim que logamos no serviço SSH vamos dar um pwd para ver onde estamos (diretório).

 pwd

Em seguida vamos clonar o projeto CTFd.

 git clone https://github.com/isislab/CTFd.git

Em seguida vamos listar o nosso diretório ver se o projeto está OK.

 ls

Instalando dependências

Está tudo OK como o nosso projeto , agora precisamos entrar na pasta e instalar as dependências.

 cd CTFd/
 ls

Vamos começar a instalar as dependências , do projeto.

Veja que dentro da pasta do projeto '''CTFd''' tem um arquivo chamado prepare.sh ele é um script que vai instalar todas as dependências do nosso projeto , para executar é simples !

 sudo ./prepare.sh

Esse arquivo prepare.sh é o arquivo responsável por instalar as dependências do projeto CTFd.

Em seguida faça

Iniciando o CTFd

 python server.py

Vai iniciar o serviço , por padrão ele funciona na porta 4000.

Agora nosso CTF já esta funcionando , agora precisamos fazer algumas configurações.

Já estamos na pagina principal do projeto , vamos realizar o login.

Espero que não tenha esquecido sua senha , vamos fazer login e adicionar nosso primeiro Challenges.

Assim que logado você vai ser redirecionado para a pagina de Challenges , como acabamos de configurar nosso projeto ainda não tem nenhum , vamos configurar ?

Está em branco , vamos criar um simples Challenge para testarmos o projeto e ver se está tudo OK.

Está tudo OK , vamos cadastrar outro usuário para testar.

Vamos para a pagina para registrar novos usuários , em seguida vamos cadastrar um usuário para teste.

Ok , apos o usuário criado a pagina é redirecionada para a pagina

Agora vamos resolver a challenge que criamos com o nosso admin.

Vamos testar uma key que não é verdadeira para testarmos , aparece uma mensagem em vermelho no rodapé..

Agora vamos resolver a Key , o resultado vai ser semelhante ! A diferença é uma mensagem de sucess em verde , veja agora a aba de 1 solves.

Alem de tudo isso temos uma área para a configuração do CTF. Podemos configurar EMAIL , o inicio e o fim do CTF

Vale a pena dar uma olhada !

Isso é o básico que podemos fazer com esse incrível projeto que é opensource , vamos valorizar esse tipo de projeto !

No site Oficial , lá é possível você saber mais sobre o projeto e ainda pode alugar um servidor para realizar seu CTF com uma galera que já se divertindo a um tempo já por apenas 5 Dolares.

Link do projeto: CTFd

Link do github: CTFd Github