About our NIZK (Non-Interactive Zero-Knowledge) Platform: arXiv:1708.05844.
Next year we plan to have a web-based client. For this edition, please choose one of the options below to install our command line client.
Clone this repository:
git clone https://github.com/pwn2winctf/2020.git
cd 2020
Then either generate a new SSH key:
ssh-keygen -t ed25519 -f .ssh/id_ed25519
cat .ssh/id_ed25519.pub # add to your GitHub account (https://github.com/settings/keys)
or copy an existing one:
cp ~/.ssh/id_* .ssh/
Finally, follow the registration instructions below, always replacing $CTF
with ./dctf
.
CTF=./dctf
Create the container:
wget https://static.pwn2win.party/pwn2win2020.tar.gz
lxc image import pwn2win2020.tar.gz --alias=pwn2win
lxc launch pwn2win pwn2win
lxc exec pwn2win -- git pull # make sure the repository is up to date
Then either generate a new SSH key:
lxc exec pwn2win -- ssh-keygen -t ed25519
lxc exec pwn2win -- cat .ssh/id_ed25519.pub # add to your GitHub account (https://github.com/settings/keys)
or copy an existing one:
lxc file push ~/.ssh/id_* pwn2win/root/.ssh/
Finally, follow the registration instructions below, always replacing $CTF
with lxc exec pwn2win -- ./ctf
.
CTF="lxc exec pwn2win -- ./ctf"
Make sure you already have an SSH key in your box which is linked to your GitHub account.
Clone this repository:
git clone [email protected]:pwn2winctf/2020.git
cd 2020
And install the dependencies, e.g. for Debian or Ubuntu:
sudo apt-get install libsodium23
curl https://bootstrap.pypa.io/get-pip.py | sudo -H python
sudo -H python -m pip install -r pip-requirements.txt
Finally, follow the registration instructions below, always replacing $CTF
with ./ctf
.
CTF=./ctf
Run:
$CTF init
If you are the leader of the team, answer y
when you are asked whether you want to register a new team. Share the generated team-secrets.json
file with the members of the team.
If you are one of the other members of the team, place the team-secrets.json
file shared by your team leader in your 2020
directory.
Challenges are available at https://pwn2.win/.
If you prefer to browse them locally, you may also run:
git pull && $CTF challs
If the challenge was recently released, you might need to update your local repository first:
git pull
To submit a flag:
$CTF submit --chall challenge-id 'CTF-BR{flag123}'
You may omit --chall challenge-id
from the command, however it will be very slow to run this way since it tries the supplied flag against every challenge.
You can see the scoreboard at the game URL (https://pwn2.win) or running the command:
$CTF score --names --pull
You may reach us through #pwn2win at irc.freenode.net.