All Projects → TowerofHanoi → Ctfsubmitter

TowerofHanoi / Ctfsubmitter

Licence: gpl-3.0
A flag submitter service with distributed attackers for attack/defense CTF games.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ctfsubmitter

Crypto
封装多种CTF和平时常见加密及编码C#类库
Stars: ✭ 20 (-64.29%)
Mutual labels:  ctf, ctf-tools
Stegcracker
Steganography brute-force utility to uncover hidden data inside files
Stars: ✭ 396 (+607.14%)
Mutual labels:  ctf, ctf-tools
CTF-Game
Capture the flag Game
Stars: ✭ 14 (-75%)
Mutual labels:  ctf, ctf-tools
bento
Bento Toolkit is a minimal fedora-based container for penetration tests and CTF with the sweet addition of GUI applications.
Stars: ✭ 74 (+32.14%)
Mutual labels:  ctf, ctf-tools
Ciphey
⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡
Stars: ✭ 9,116 (+16178.57%)
Mutual labels:  ctf, ctf-tools
pwnscripts
Very simple script(s) to hasten binary exploit creation
Stars: ✭ 66 (+17.86%)
Mutual labels:  ctf, ctf-tools
Awd Predator Framework
AWD攻防赛webshell批量利用框架
Stars: ✭ 265 (+373.21%)
Mutual labels:  ctf, ctf-tools
ImageStrike
ImageStrike是一款用于CTF中图片隐写的综合利用工具
Stars: ✭ 118 (+110.71%)
Mutual labels:  ctf, ctf-tools
Weblogger
针对ctf线下赛流量抓取(php)、真实环境流量抓取分析的工具
Stars: ✭ 547 (+876.79%)
Mutual labels:  ctf, ctf-tools
Name That Hash
🔗 Don't know what type of hash it is? Name That Hash will name that hash type! 🤖 Identify MD5, SHA256 and 3000+ other hashes ☄ Comes with a neat web app 🔥
Stars: ✭ 540 (+864.29%)
Mutual labels:  ctf, ctf-tools
BerylEnigma
一个为渗透测试与CTF而制作的工具集,主要实现一些加解密的功能。
Stars: ✭ 329 (+487.5%)
Mutual labels:  ctf, ctf-tools
Ctfcli
ctfcli is a tool to manage Capture The Flag events and challenges
Stars: ✭ 43 (-23.21%)
Mutual labels:  ctf, ctf-tools
TomatoTools
TomatoTools 一款CTF杂项利器,支持36种常见编码和密码算法的加密和解密,31种密文的分析和识别,支持自动提取flag,自定义插件等。
Stars: ✭ 66 (+17.86%)
Mutual labels:  ctf, ctf-tools
blackhat-python
Black Hat Python workshop for Disobey 2019
Stars: ✭ 27 (-51.79%)
Mutual labels:  ctf, ctf-tools
ctf4noobs
Resumão da massa sobre Capture the Flag.
Stars: ✭ 18 (-67.86%)
Mutual labels:  ctf, ctf-tools
soma
Cross-platform CTF problem container manager
Stars: ✭ 23 (-58.93%)
Mutual labels:  ctf, ctf-tools
haiti
🔑 Hash type identifier (CLI & lib)
Stars: ✭ 287 (+412.5%)
Mutual labels:  ctf, ctf-tools
Auto-AWD
🚩 CTF AWD framework
Stars: ✭ 24 (-57.14%)
Mutual labels:  ctf, ctf-tools
Security Tools
Collection of small security tools, mostly in Bash and Python. CTFs, Bug Bounty and other stuff.
Stars: ✭ 509 (+808.93%)
Mutual labels:  ctf, ctf-tools
Crypton
Library consisting of explanation and implementation of all the existing attacks on various Encryption Systems, Digital Signatures, Key Exchange, Authentication methods along with example challenges from CTFs
Stars: ✭ 995 (+1676.79%)
Mutual labels:  ctf, ctf-tools

CTF submitter

While playing ruCTFe 2015 some of our "attack" scripts didn't work as expected, flooding the game infrastructure with invalid flags (sorry guys!). We decided then to write a centralized "flag submit" service with a rest api which would act as a filter and be able to tell us if some of the attack scripts are submitting too many invalid flags. In the end it worked out pretty well! :)

Please keep in mind that this code was written in a hurry, planning to use it locally during ctfs: don't expect it to be (perfect || secure || bug free). If you find a bug, add a new feature please contribute with a pull request. If you like it or use it feel free to drop us a line ;)

stats screenshot

Submitter service

This webservice is responsible for receiving flags, and storing them togheter with statistics inside the DB. Please start this one first to setup the database the first time. The service is based on bottle.py and we used cherrypy for our deploy:

python submitter.py

You will also need an instance of the "worker" which will submit the flags to the game infrastructure:

python worker.py

Requirements

  • bottle
  • pymongo>=3.0

for RuCTFe:

  • pwntools

for iCTF:

  • ictf

It was tested with mongodb 2.6.x

nginx

It is advisable to put an nginx in front of the submitter service, look at nginx_submitter.conf for an example config.

Stats service

you will need another virtualenv since right now motor doesn't wrap pymongo 3

python stats.py

Requirements

  • tornado
  • motor

TODO

  • cleanup and "plugin" handling
  • complete service/team statistics
  • management script
  • tests
  • better log message handling
  • better handling of exceptions
  • blacklist ip/user temporarily if too many wrong flags are submitted
  • rewrite the stats frontend since it's just plain jquery
  • reorganize the code base, and allow the stats service and logger to use a different backend other than mongodb
  • add cold restart button in case of failures of the service
  • add a raw socket interface to submit flags
  • possibly add authentication to use the service not only locally
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].