mirror of
https://github.com/apsdehal/awesome-ctf
synced 2024-11-25 20:00:16 +00:00
358 lines
19 KiB
Markdown
358 lines
19 KiB
Markdown
# Awesome CTF [![Build Status](https://travis-ci.org/apsdehal/awesome-ctf.svg?branch=master)](https://travis-ci.org/apsdehal/awesome-ctf) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
|
||
|
||
A curated list of [Capture The Flag](https://en.wikipedia.org/wiki/Capture_the_flag#Computer_security) (CTF) frameworks, libraries, resources, softwares and tutorials. This list aims to help starters as well as seasoned CTF players to find everything related to CTFs at one place.
|
||
|
||
### Contributing
|
||
|
||
Please take a quick look at the [contribution guidelines](https://github.com/apsdehal/ctf-tools/blob/master/CONTRIBUTING.md) first.
|
||
|
||
#### _If you know a tool that isn't present here, feel free to open a pull request._
|
||
|
||
### Why?
|
||
|
||
It takes time to build up collection of tools used in ctf and remember them all. This repo helps to keep all these scattered tools at one place.
|
||
|
||
|
||
### Contents
|
||
|
||
- [Awesome CTF](#awesome-ctf)
|
||
- [Create](#create)
|
||
- [Forensics](#forensics)
|
||
- [Platforms](#platforms)
|
||
- [Steganography](#steganography)
|
||
- [Web](#web)
|
||
- [Solve](#solve)
|
||
- [Attacks](#attacks)
|
||
- [Bruteforcers](#bruteforcers)
|
||
- [Cryptography](#crypto)
|
||
- [Exploits](#exploits)
|
||
- [Forensics](#forensics-1)
|
||
- [Networking](#networking)
|
||
- [Reversing](#reversing)
|
||
- [Services](#services)
|
||
- [Steganography](#steganography-1)
|
||
- [Web](#web-1)
|
||
|
||
- [Resources](#resources)
|
||
- [Operating Systems](#operating-systems)
|
||
- [Starter Packs](#starter-packs)
|
||
- [Tutorials](#tutorials)
|
||
- [Wargames](#wargames)
|
||
- [Websites](#websites)
|
||
- [Wikis](#wikis)
|
||
- [Writeups Collections](#writeups-collections)
|
||
|
||
# Create
|
||
|
||
*Tools used for creating CTF challenges*
|
||
|
||
## Forensics
|
||
|
||
*Tools used for creating Forensics challenges*
|
||
|
||
- [Dnscat](https://wiki.skullsecurity.org/Dnscat) - Hosts communication through DNS
|
||
- [Registry Dumper](http://www.kahusecurity.com/downloads/RegistryDumper_v0.2.7z) - Dump your registry
|
||
|
||
## Platforms
|
||
|
||
*Projects that can be used to host a CTF*
|
||
|
||
- [CTFd](https://github.com/isislab/CTFd) - Platform to host jeopardy style CTFs from ISISLab, NYU Tandon
|
||
- [FBCTF](https://github.com/facebook/fbctf) - Platform to host Capture the Flag competitions from Facebook
|
||
- [HackTheArch](https://github.com/mcpa-stlouis/hack-the-arch) - CTF scoring platform
|
||
- [Mellivora](https://github.com/Nakiami/mellivora) - A CTF engine written in PHP
|
||
- [NightShade](https://github.com/UnrealAkama/NightShade) - A simple security CTF framework
|
||
- [OpenCTF](https://github.com/easyctf/openctf) - CTF in a box. Minimal setup required
|
||
- [PicoCTF Platform 2](https://github.com/picoCTF/picoCTF-Platform-2) - A genericized version of picoCTF 2014 that can be easily adapted to host CTF or programming competitions.
|
||
- [PyChallFactory](https://github.com/pdautry/py_chall_factory) - Small framework to create/manage/package jeopardy CTF challenges
|
||
- [RootTheBox](https://github.com/moloch--/RootTheBox) - A Game of Hackers (CTF Scoreboard & Game Manager)
|
||
- [Scorebot](https://github.com/legitbs/scorebot) - Platform for CTFs by Legitbs (Defcon)
|
||
- [SecGen](https://github.com/cliffe/SecGen) - Security Scenario Generator. Creates randomly vulnerable virtual machines
|
||
|
||
|
||
## Steganography
|
||
|
||
*Tools used to create stego challenges*
|
||
|
||
Check solve section for steganography.
|
||
|
||
|
||
## Web
|
||
|
||
*Tools used for creating Web challenges*
|
||
|
||
*JavaScript Obfustcators*
|
||
|
||
- [Metasploit JavaScript Obfustcator](https://github.com/rapid7/metasploit-framework/wiki/How-to-obfuscate-JavaScript-in-Metasploit)
|
||
- [Uglify](http://marijnhaverbeke.nl//uglifyjs)
|
||
|
||
|
||
# Solve
|
||
|
||
*Tools used for solving CTF challenges*
|
||
|
||
## Attacks
|
||
|
||
*Tools used for performing various kinds of attacks*
|
||
|
||
- [Bettercap](https://github.com/evilsocket/bettercap) - Framework to perform MITM (Man in the Middle) attacks.
|
||
- [Layer 2 attacks](https://github.com/tomac/yersinia) - Attack various protocols on layer 2
|
||
|
||
## Crypto
|
||
|
||
*Tools used for solving Crypto challenges*
|
||
|
||
- [FeatherDuster](https://github.com/nccgroup/featherduster) - An automated, modular cryptanalysis tool
|
||
- [Hash Extender](https://github.com/iagox86/hash_extender) - A utility tool for performing hash length extension attacks
|
||
- [PkCrack](https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack.html) - A tool for Breaking PkZip-encryption
|
||
- [RSACTFTool](https://github.com/Ganapati/RsaCtfTool) - A tool for recovering RSA private key with various attack
|
||
- [RSATool](https://github.com/ius/rsatool) - Generate private key with knowledge of p and q
|
||
- [XORTool](https://github.com/hellman/xortool) - A tool to analyze multi-byte xor cipher
|
||
|
||
## Bruteforcers
|
||
|
||
*Tools used for various kind of bruteforcing (passwords etc.)*
|
||
|
||
- [Hashcat](https://hashcat.net/hashcat/) - Password Cracker
|
||
- [John The Jumbo](https://github.com/magnumripper/JohnTheRipper) - Community enhanced version of John the Ripper
|
||
- [John The Ripper](http://www.openwall.com/john/) - Password Cracker
|
||
- [Nozzlr](https://github.com/intrd/nozzlr) - Nozzlr is a bruteforce framework, trully modular and script-friendly.
|
||
- [Ophcrack](http://ophcrack.sourceforge.net/) - Windows password cracker based on rainbow tables.
|
||
- [Patator](https://github.com/lanjelot/patator) - Patator is a multi-purpose brute-forcer, with a modular design.
|
||
|
||
## Exploits
|
||
|
||
*Tools used for solving Exploits challenges*
|
||
|
||
- [DLLInjector](https://github.com/OpenSecurityResearch/dllinjector) - Inject dlls in processes
|
||
- [libformatstr](https://github.com/hellman/libformatstr) - Simplify format string exploitation.
|
||
- [Metasploit](http://www.metasploit.com/) - Penetration testing software
|
||
- [one_gadget](https://github.com/david942j/one_gadget) - A tool to find the one gadget `execve('/bin/sh', NULL, NULL)` call
|
||
- `gem install one_gadget`
|
||
- [Pwntools](https://github.com/Gallopsled/pwntools) - CTF Framework for writing exploits
|
||
- [Qira](https://github.com/BinaryAnalysisPlatform/qira) - QEMU Interactive Runtime Analyser
|
||
- [ROP Gadget](https://github.com/JonathanSalwan/ROPgadget) - Framework for ROP exploitation
|
||
- [V0lt](https://github.com/P1kachu/v0lt) - Security CTF Toolkit
|
||
|
||
## Forensics
|
||
|
||
*Tools used for solving Forensics challenges*
|
||
|
||
- [Aircrack-Ng](http://www.aircrack-ng.org/) - Crack 802.11 WEP and WPA-PSK keys
|
||
- `apt-get install aircrack-ng`
|
||
- [Audacity](http://sourceforge.net/projects/audacity/) - Analyze sound files (mp3, m4a, whatever)
|
||
- `apt-get install audacity`
|
||
- [Bkhive and Samdump2](http://sourceforge.net/projects/ophcrack/files/samdump2/) - Dump SYSTEM and SAM files
|
||
- `apt-get install samdump2 bkhive`
|
||
- [CFF Explorer](http://www.ntcore.com/exsuite.php) - PE Editor
|
||
- [Creddump](https://github.com/moyix/creddump) - Dump windows credentials
|
||
- [DVCS Ripper](https://github.com/kost/dvcs-ripper) - Rips web accessible (distributed) version control systems
|
||
- [Exif Tool](http://www.sno.phy.queensu.ca/~phil/exiftool/) - Read, write and edit file metadata
|
||
- [Extundelete](http://extundelete.sourceforge.net/) - Used for recovering lost data from mountable images
|
||
- [Fibratus](https://github.com/rabbitstack/fibratus) - Tool for exploration and tracing of the Windows kernel
|
||
- [Foremost](http://foremost.sourceforge.net/) - Extract particular kind of files using headers
|
||
- `apt-get install foremost`
|
||
- [Fsck.ext4](http://linux.die.net/man/8/fsck.ext3) - Used to fix corrupt filesystems
|
||
- [Malzilla](http://malzilla.sourceforge.net/) - Malware hunting tool
|
||
- [NetworkMiner](http://www.netresec.com/?page=NetworkMiner) - Network Forensic Analysis Tool
|
||
- [PDF Streams Inflater](http://malzilla.sourceforge.net/downloads.html) - Find and extract zlib files compressed in PDF files
|
||
- [ResourcesExtract](http://www.nirsoft.net/utils/resources_extract.html) - Extract various filetypes from exes
|
||
- [Shellbags](https://github.com/williballenthin/shellbags) - Investigate NT\_USER.dat files
|
||
- [UsbForensics](http://www.forensicswiki.org/wiki/USB_History_Viewing) - Contains many tools for usb forensics
|
||
- [Volatility](https://github.com/volatilityfoundation/volatility) - To investigate memory dumps
|
||
|
||
|
||
*Registry Viewers*
|
||
- [RegistryViewer](http://www.gaijin.at/en/getitpage.php?id=regview) - Used to view windows registries
|
||
- [Windows Registry Viewers](http://www.forensicswiki.org/wiki/Windows_Registry) - More registry viewers
|
||
|
||
|
||
## Networking
|
||
|
||
*Tools used for solving Networking challenges*
|
||
|
||
- [Bro](https://www.bro.org/) - An open-source network security monitor.
|
||
- [Masscan](https://github.com/robertdavidgraham/masscan) - Mass IP port scanner, TCP port scanner.
|
||
- [Monit](https://linoxide.com/monitoring-2/monit-linux/) - A linux tool to check a host on the network (and other non-network activities).
|
||
- [Nipe](https://github.com/GouveaHeitor/nipe) - Nipe is a script to make Tor Network your default gateway.
|
||
- [Nmap](https://nmap.org/) - An open source utility for network discovery and security auditing.
|
||
- [Wireshark](https://www.wireshark.org/) - Analyze the network dumps.
|
||
- `apt-get install wireshark`
|
||
- [Zmap](https://zmap.io/) - An open-source network scanner.
|
||
|
||
|
||
## Reversing
|
||
|
||
*Tools used for solving Reversing challenges*
|
||
|
||
- [Androguard](https://github.com/androguard/androguard) - Reverse engineer Android applications
|
||
- [Angr](https://github.com/angr/angr) - platform-agnostic binary analysis framework
|
||
- [Apk2Gold](https://github.com/lxdvs/apk2gold) - Yet another Android decompiler
|
||
- [ApkTool](http://ibotpeaches.github.io/Apktool/) - Android Decompiler
|
||
- [Barf](https://github.com/programa-stic/barf-project) - Binary Analysis and Reverse engineering Framework
|
||
- [Binary Ninja](https://binary.ninja/) - Binary analysis framework
|
||
- [BinUtils](http://www.gnu.org/software/binutils/binutils.html) - Collection of binary tools
|
||
- [BinWalk](https://github.com/devttys0/binwalk) - Analyze, reverse engineer, and extract firmware images.
|
||
- [Boomerang](https://github.com/nemerle/boomerang) - Decompile x86 binaries to C
|
||
- [ctf_import](https://github.com/docileninja/ctf_import) – run basic functions from stripped binaries cross platform
|
||
- [GDB](https://www.gnu.org/software/gdb/) - The GNU project debugger
|
||
- [GEF](https://github.com/hugsy/gef) - GDB plugin
|
||
- [Hopper](http://www.hopperapp.com/) - Reverse engineering tool (disassembler) for OSX and Linux
|
||
- [IDA Pro](https://www.hex-rays.com/products/ida/) - Most used Reversing software
|
||
- [Jadx](https://github.com/skylot/jadx) - Decompile Android files
|
||
- [Java Decompilers](http://www.javadecompilers.com) - An online decompiler for Java and Android APKs
|
||
- [Krakatau](https://github.com/Storyyeller/Krakatau) - Java decompiler and disassembler
|
||
- [PEDA](https://github.com/longld/peda) - GDB plugin (only python2.7)
|
||
- [Pin](https://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool) A dynamic binary instrumentaion tool by Intel
|
||
- [Plasma](https://github.com/joelpx/plasma) - An interactive disassembler for x86/ARM/MIPS which can generate indented pseudo-code with colored syntax.
|
||
- [Pwndbg](https://github.com/pwndbg/pwndbg) - A GDB plugin that provides a suite of utilities to hack around GDB easily.
|
||
- [radare2](https://github.com/radare/radare2) - A portable reversing framework
|
||
- [Uncompyle](https://github.com/gstarnberger/uncompyle) - Decompile Python 2.7 binaries (.pyc)
|
||
- [WinDbg](http://www.windbg.org/) - Windows debugger distributed by Microsoft
|
||
- [Xocopy](http://reverse.lostrealm.com/tools/xocopy.html) - Program that can copy executables with execute, but no read permission
|
||
- [Z3](https://github.com/Z3Prover/z3) - a theorem prover from Microsoft Research
|
||
|
||
*JavaScript Deobfustcators*
|
||
|
||
- [Detox](http://relentless-coding.org/projects/jsdetox/install) - A Javascript malware analysis tool
|
||
- [Revelo](http://www.kahusecurity.com/tools/Revelo_v0.6.zip) - Analyze obfuscated Javascript code
|
||
|
||
*SWF Analyzers*
|
||
- [RABCDAsm](https://github.com/CyberShadow/RABCDAsm) - Collection of utilities including an ActionScript 3 assembler/disassembler.
|
||
- [Swftools](http://www.swftools.org/) - Collection of utilities to work with SWF files
|
||
- [Xxxswf](https://bitbucket.org/Alexander_Hanel/xxxswf) - A Python script for analyzing Flash files.
|
||
|
||
## Services
|
||
|
||
*Various kind of useful services available around the internet*
|
||
|
||
- [CSWSH](http://ironwasp.org/cswsh.html) - Cross-Site WebSocket Hijacking Tester
|
||
- [Request Bin](http://requestb.in/) - Lets you inspect http requests to a particular url
|
||
|
||
## Steganography
|
||
|
||
*Tools used for solving Steganography challenges*
|
||
|
||
- [Convert](http://www.imagemagick.org/script/convert.php) - Convert images b/w formats and apply filters
|
||
- [Exif](http://manpages.ubuntu.com/manpages/trusty/man1/exif.1.html) - Shows EXIF information in JPEG files
|
||
- [Exiftool](https://linux.die.net/man/1/exiftool) - Read and write meta information in files
|
||
- [Exiv2](http://www.exiv2.org/manpage.html) - Image metadata manipulation tool
|
||
- [ImageMagick](http://www.imagemagick.org/script/index.php) - Tool for manipulating images
|
||
- [Outguess](https://www.freebsd.org/cgi/man.cgi?query=outguess+&apropos=0&sektion=0&manpath=FreeBSD+Ports+5.1-RELEASE&format=html) - Universal steganographic tool
|
||
- [Pngtools](http://www.stillhq.com/pngtools/) - For various analysis related to PNGs
|
||
- `apt-get install pngtools`
|
||
- [SmartDeblur](https://github.com/Y-Vladimir/SmartDeblur) - Used to deblur and fix defocused images
|
||
- [Steganabara](https://www.openhub.net/p/steganabara) - Tool for stegano analysis written in Java
|
||
- [Stegbreak](https://linux.die.net/man/1/stegbreak) - Launches brute-force dictionary attacks on JPG image
|
||
- [Steghide](http://steghide.sourceforge.net/) - Hide data in various kind of images
|
||
- [Stegsolve](http://www.caesum.com/handbook/Stegsolve.jar) - Apply various steganography techniques to images
|
||
|
||
## Web
|
||
|
||
*Tools used for solving Web challenges*
|
||
|
||
- [BurpSuite]() - A graphical tool to testing website security.
|
||
- [Commix](https://github.com/commixproject/commix) - Automated All-in-One OS Command Injection and Exploitation Tool.
|
||
- [Hackbar](https://addons.mozilla.org/en-US/firefox/addon/hackbar/) - Firefox addon for easy web exploitation
|
||
- [OWASP ZAP](https://www.owasp.org/index.php/Projects/OWASP_Zed_Attack_Proxy_Project) - Intercepting proxy to replay, debug, and fuzz HTTP requests and responses
|
||
- [Postman](https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en) - Add on for chrome for debugging network requests
|
||
- [SQLMap](https://github.com/sqlmapproject/sqlmap) - Automatic SQL injection and database takeover tooli
|
||
- [W3af](https://github.com/andresriancho/w3af) - Web Application Attack and Audit Framework.
|
||
- [XSSer](http://xsser.sourceforge.net/) - Automated XSS testor
|
||
|
||
|
||
# Resources
|
||
|
||
*Where to discover about CTF*
|
||
|
||
## Operating Systems
|
||
|
||
*Penetration testing and security lab Operating Systems*
|
||
|
||
- [BackBox](https://backbox.org/) - Based on Ubuntu
|
||
- [BlackArch Linux](https://blackarch.org/) - Based on Arch Linux
|
||
- [Fedora Security Lab](https://labs.fedoraproject.org/security/) - Based on Fedora
|
||
- [Kali Linux](https://www.kali.org/) - Based on Debian
|
||
- [Parrot Security OS](https://www.parrotsec.org/) - Based on Debian
|
||
- [Pentoo](http://www.pentoo.ch/) - Based on Gentoo
|
||
- [URIX OS](http://urix.us/) - Based on openSUSE
|
||
- [Wifislax](http://www.wifislax.com/) - Based on Slackware
|
||
|
||
*Malware analysts and reverse-engineering*
|
||
|
||
- [REMnux](https://remnux.org/) - Based on Debian
|
||
|
||
## Starter Packs
|
||
|
||
*Collections of installer scripts, useful tools*
|
||
|
||
- [CTF Tools](https://github.com/zardus/ctf-tools) - Collection of setup scripts to install various security research tools.
|
||
- [LazyKali](https://github.com/jlevitsk/lazykali) - A 2016 refresh of LazyKali which simplifies install of tools and configuration.
|
||
|
||
## Tutorials
|
||
|
||
*Tutorials to learn how to play CTFs*
|
||
|
||
- [CTF Field Guide](https://trailofbits.github.io/ctf/) - Field Guide by Trails of Bits
|
||
- [CTF Resources](http://ctfs.github.io/resources/) - Start Guide maintained by community
|
||
- [Damn Vulnerable Web Application](http://www.dvwa.co.uk/) PHP/MySQL web application that is damn vulnerable
|
||
- [How to Get Started in CTF](https://www.endgame.com/blog/how-get-started-ctf) - Short guideline for CTF beginners by Endgame
|
||
- [MIPT CTF](https://github.com/xairy/mipt-ctf) - A small course for beginners in CTFs (in Russian)
|
||
|
||
## Wargames
|
||
|
||
*Always online CTFs*
|
||
|
||
- [Backdoor](https://backdoor.sdslabs.co/) - Security Platform by SDSLabs.
|
||
- [Ctfs.me](http://ctfs.me) - CTF All the time
|
||
- [Exploit Exercises](https://exploit-exercises.com/) - Variety of VMs to learn variety of computer security issues.
|
||
- [Gracker](http://gracker.org) - Binary challenges having a slow learning curve, and write-ups for each level.
|
||
- [Hack The Box](https://www.hackthebox.eu) - Weekly CTFs for all types of security enthusiasts.
|
||
- [Hack This Site](https://www.hackthissite.org/) - Training ground for hackers.
|
||
- [IO](http://io.netgarage.org/) - Wargame for binary challenges.
|
||
- [Over The Wire](http://overthewire.org/wargames/) - Wargame maintained by OvertheWire Community
|
||
- [Pwnable.kr](http://pwnable.kr/) - Pwn Game
|
||
- [Ringzer0Team](https://ringzer0team.com/) - Ringzer0 Team Online CTF
|
||
- [Root-Me](https://www.root-me.org/) - Hacking and Information Security learning platform.
|
||
- [ROP Wargames](https://game.rop.sh/) - ROP Wargames
|
||
- [SmashTheStack](http://smashthestack.org/) - A variety of wargames maintained by the SmashTheStack Community.
|
||
- [VulnHub](https://www.vulnhub.com/) - VM-based for practical in digital security, computer application & network administration.
|
||
- [W3Challs](https://w3challs.com) - A penetration testing training platform, which offers various computer challenges, in various categories.
|
||
- [WebHacking](http://webhacking.kr) - Hacking challenges for web.
|
||
- [WeChall](https://www.wechall.net/) - Always online challenge site.
|
||
- [WTHack OnlineCTF](https://onlinectf.com) - CTF Practice platform for every level of cyber security enthusiasts.
|
||
|
||
*Self-hosted CTFs*
|
||
|
||
- [Juice Shop CTF](https://github.com/bkimminich/juice-shop-ctf) - Scripts and tools for hosting a CTF on [OWASP Juice Shop](https://www.owasp.org/index.php/OWASP_Juice_Shop_Project) easily.
|
||
|
||
## Websites
|
||
|
||
*Various general websites about and on ctf*
|
||
|
||
- [CTF Time](https://ctftime.org/) - General information on CTF occuring around the worlds
|
||
- [Reddit Security CTF](http://www.reddit.com/r/securityctf) - Reddit CTF category
|
||
|
||
## Wikis
|
||
|
||
*Various Wikis available for learning about CTFs*
|
||
|
||
- [Bamboofox](https://bamboofox.torchpad.com/) - Chinese resources to learn CTF
|
||
- [ISIS Lab](https://github.com/isislab/Project-Ideas/wiki) - CTF Wiki by Isis lab
|
||
- [OpenToAll](http://wiki.opentoallctf.com/) - Open To All Knowledge Base
|
||
|
||
## Writeups Collections
|
||
|
||
*Collections of CTF write-ups*
|
||
|
||
- [Captf](http://captf.com/) - Dumped CTF challenges and materials by psifertex
|
||
- [CTF write-ups (community)](https://github.com/ctfs/) - CTF challenges + write-ups archive maintained by the community
|
||
- [CTFTime Scrapper](https://github.com/abdilahrf/CTFWriteupScrapper) - Scraps all writeup from ctf time and organize which to read first
|
||
- [pwntools writeups](https://github.com/Gallopsled/pwntools-write-ups) - A collection of CTF write-ups all using pwntools
|
||
- [Shell Storm](shell-storm.org/repo/CTF/) - CTF challenge archive maintained by Jonathan Salwan
|
||
- [Smoke Leet Everyday](https://github.com/smokeleeteveryday/CTF_WRITEUPS) - CTF write-ups repo maintained by SmokeLeetEveryday team.
|
||
|
||
|
||
### LICENSE
|
||
|
||
CC0 :)
|