Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
79 lines (56 sloc) 3.31 KB

Pwn2Win CTF 2018

Sobre a nossa NIZK (Non-Interactive Zero-Knowledge) Platform: https://arxiv.org/pdf/1708.05844.pdf

Registro

  1. Todos os membros do time devem ter uma conta no GitHub e configurar uma chave SSH nas suas configurações de conta.

    Nota: Se você não conseguir seguir as instruções de instalação abaixo, ou simplesmente é preguiçoso demais para fazer os passos, preparamos para você um contêiner LXD com a plataforma pré-instalada. Se você prefere Docker, disponibilizamos também um Dockerfile. Caso queira instalar diretamente na sua máquina (sem contêineres), ignore esta nota.

  2. Todos os membros do time devem clonar o repositório e instalar as dependências:

    git clone git@github.com:pwn2winctf/2018.git
    cd 2018
    sudo apt-get install libsodium18
    curl https://bootstrap.pypa.io/get-pip.py | sudo -H python
    sudo -H python -m pip install -r pip-requirements.txt

    Nota: Qualquer versão do libsodium >= libsodium18 é suportada. No entanto, versões recentes do pysodium têm um bug quando usadas com a libsodium antiga. Então, se você usar libsodium18, por favor mude a segunda linha do pip-requirements.txt para pysodium == 0.6.9.1, de forma a usar exatamente a versão do pysodium que funciona corretamente com a libsodium18.

  3. Todos os membros do time devem ter um cliente git corretamente configurado. Se você nunca usou git antes, execute:

    git config --global user.name "Fulano de Tal"
    git config --global user.email fulanodetal@exemplo.com.br
  4. Se as dependências estiverem corretamente instaladas (ou se você usou uma das nossas imagens), você deve conseguir ver o menu de ajuda executando:

    ./ctf -h
  5. O líder do time deve executar o seguinte comando e seguir as instruções para registrar a equipe:

    ./ctf init
  6. Os demais membros devem se logar com o GitHub sem criar um novo time:

    ./ctf login
  7. Após isso, o líder deve compartilhar o arquivo team-secrets.json com os demais mebros. Os demais membros devem colocar o arquivo team-secrets.json na pasta 2018 clonada.

Challenges

Os challenges ficarão disponíveis em https://pwn2.win/2018.

Se você preferir, pode consultar localmente subindo um servidor usando ./ctf serve, ou listar os challenges na Interface de Linha de Comando:

./ctf challs

Submissão de flags

Para submeter uma flag:

./ctf submit --chall chall-id 'CTF-BR{flag123}'

Você pode omitir o --chall chall-id do comando, mas vai demorar mais para submeter. Nesse caso, será tentada a flag para cada um dos challenges liberados até então.

VPN

Para pegar as credenciais da VPN, quando seu time desbloqueá-la, após resolver 6 challenges (veja a página de regras pra entender melhor):

./ctf news --pull

Placar

Voc pode ver o scoreboard no link do game (https://pwn2.win/2018), localmente (se você rodar o webserver) ou através da CLI:

./ctf score --names --pull

Suporte

Podemos tentar ajudá-lo via IRC: #pwn2win @ freenode.