awesome-ctf/README.md

316 lines
15 KiB
Markdown
Raw Normal View History

2015-08-06 03:54:09 +00:00
# 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)
2015-02-28 05:48:21 +00:00
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.
2015-02-28 05:48:21 +00:00
2015-04-26 05:50:19 +00:00
### Contributing
2015-02-28 05:51:44 +00:00
2015-04-26 06:33:39 +00:00
Please take a quick look at the [contribution guidelines](https://github.com/apsdehal/ctf-tools/blob/master/CONTRIBUTING.md) first.
2015-04-26 05:50:19 +00:00
#### _If you know a tool that isn't present here, feel free to open a pull request._
2015-04-26 06:27:07 +00:00
### 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.
2015-04-26 05:50:45 +00:00
### Contents
2015-04-26 20:02:50 +00:00
- [Awesome CTF](#awesome-ctf)
2015-04-26 05:50:45 +00:00
- [Create](#create)
2015-04-27 22:26:04 +00:00
- [Forensics](#forensics)
- [Platforms](#platforms)
2016-06-10 18:01:55 +00:00
- [Steganography](#steganography)
2015-04-27 22:26:04 +00:00
- [Web](#web)
2015-04-26 05:50:45 +00:00
- [Solve](#solve)
2015-04-27 22:26:04 +00:00
- [Attacks](#attacks)
- [Bruteforcers](#bruteforcers)
- [Cryptography](#crypto)
- [Exploits](#exploits)
- [Forensics](#forensics-1)
- [Networking](#networking)
2015-04-27 22:26:04 +00:00
- [Reversing](#reversing)
- [Services](#services)
- [Steganography](#steganography-1)
2015-04-27 22:26:04 +00:00
- [Web](#web-1)
2015-04-26 05:51:01 +00:00
2015-04-26 05:57:15 +00:00
- [Resources](#resources)
2016-09-28 07:48:08 +00:00
- [Operating Systems](#operating-systems)
2015-09-08 18:26:17 +00:00
- [Starter Packs](#starter-packs)
2015-04-27 22:26:04 +00:00
- [Tutorials](#tutorials)
- [Wargames](#wargames)
- [Websites](#websites)
- [Wikis](#wikis)
2015-09-08 18:26:17 +00:00
- [Writeups Collections](#writeups-collections)
2015-04-26 05:57:15 +00:00
2015-04-26 05:52:43 +00:00
# Create
2015-04-26 05:51:01 +00:00
*Tools used for creating CTF challenges*
## Forensics
*Tools used for creating Forensics challenges*
2015-03-19 09:32:49 +00:00
- [Registry Dumper](http://www.kahusecurity.com/tools/RegistryDumper_v0.1.zip) - Dump your registry
2015-04-26 05:51:01 +00:00
## 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
- [Mellivora](https://github.com/Nakiami/mellivora) - A CTF engine written in PHP
- [NightShade](https://github.com/UnrealAkama/NightShade) - A simple security CTF framework
- [Scorebot](https://github.com/legitbs/scorebot) - Platform for CTFs by Legitbs (Defcon)
2016-06-10 18:01:55 +00:00
## Steganography
*Tools used to create stego challenges*
Check solve section for steganography.
2015-04-26 05:51:01 +00:00
## 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)
2015-04-26 05:51:01 +00:00
2015-04-26 05:52:43 +00:00
# Solve
2015-04-26 05:51:19 +00:00
*Tools used for solving CTF challenges*
2015-04-26 06:11:06 +00:00
## Attacks
2015-04-26 05:51:19 +00:00
2015-04-26 06:11:06 +00:00
*Tools used for performing various kinds of attacks*
2015-04-26 05:51:19 +00:00
2015-10-28 17:58:42 +00:00
- [Bettercap](https://github.com/evilsocket/bettercap) - Framework to perform MITM (Man in the Middle) attacks.
2015-04-26 06:11:06 +00:00
- [Layer 2 attacks](https://github.com/tomac/yersinia) - Attack various protocols on layer 2
2015-04-26 05:51:19 +00:00
## Crypto
*Tools used for solving Crypto challenges*
- [PkCrack](https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack.html) - A tool for Breaking PkZip-encryption
2015-04-26 05:51:19 +00:00
- [RSATool](https://github.com/ius/rsatool) - Generate private key with knowledge of p and q
2015-04-26 08:05:02 +00:00
- [XORTool](https://github.com/hellman/xortool) - A tool to analyze multi-byte xor cipher
2015-04-26 05:51:19 +00:00
2015-04-26 06:11:06 +00:00
## Bruteforcers
*Tools used for various kind of bruteforcing (passwords etc.)*
- [John The Jumbo](https://github.com/magnumripper/JohnTheRipper) - Community enhanced version of John the Ripper
2015-04-26 08:05:02 +00:00
- [John The Ripper](http://www.openwall.com/john/) - Password Cracker
- [Ophcrack](http://ophcrack.sourceforge.net/) - Windows password cracker based on rainbow tables.
2015-04-26 06:11:06 +00:00
## Exploits
*Tools used for solving Exploits challenges*
- [Binjitsu](https://github.com/binjitsu/binjitsu/) - CTF framework and exploit development library
2016-07-01 10:56:26 +00:00
- [DLLInjector](https://github.com/OpenSecurityResearch/dllinjector) - Inject dlls in processes
- [Metasploit](http://www.metasploit.com/) - Penetration testing software
- [Pwntools](https://github.com/Gallopsled/pwntools) - CTF Framework for writing exploits
- [Qira](https://github.com/BinaryAnalysisPlatform/qira) - QEMU Interactive Runtime Analyser
2015-10-28 04:58:48 +00:00
- [ROP Gadget](https://github.com/JonathanSalwan/ROPgadget) - Framework for ROP exploitation
2015-04-26 06:11:06 +00:00
2015-04-26 05:51:19 +00:00
## Forensics
*Tools used for solving Forensics challenges*
2015-04-30 12:58:43 +00:00
- [Aircrack-Ng](http://www.aircrack-ng.org/) - Crack 802.11 WEP and WPA-PSK keys
- `apt-get install aircrack-ng`
2015-04-26 06:25:12 +00:00
- [Audacity](http://sourceforge.net/projects/audacity/) - Analyze sound files (mp3, m4a, whatever)
2015-04-26 05:51:19 +00:00
- `apt-get install audacity`
- [Bkhive and Samdump2](http://sourceforge.net/projects/ophcrack/files/samdump2/) - Dump SYSTEM and SAM files
2015-04-26 06:25:12 +00:00
- `apt-get install samdump2 bkhive`
2015-04-26 05:51:19 +00:00
- [CFF Explorer](http://www.ntcore.com/exsuite.php) - PE Editor
- [Creddump](https://github.com/moyix/creddump) - Dump windows credentials
2015-09-19 20:05:00 +00:00
- [DVCS Ripper](https://github.com/kost/dvcs-ripper) - Rips web accessible (distributed) version control systems
2015-07-18 09:52:30 +00:00
- [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
2016-06-20 16:46:14 +00:00
- [Fibratus](https://github.com/rabbitstack/fibratus) - Tool for exploration and tracing of the Windows kernel
2015-04-26 06:25:12 +00:00
- [Foremost](http://foremost.sourceforge.net/) - Extract particular kind of files using headers
2015-04-26 06:18:50 +00:00
- `apt-get install foremost`
- [Fsck.ext4](http://linux.die.net/man/8/fsck.ext3) - Used to fix corrupt filesystems
2015-04-26 06:15:02 +00:00
- [Malzilla](http://malzilla.sourceforge.net/) - Malware hunting tool
2015-07-18 10:02:00 +00:00
- [NetworkMiner](http://www.netresec.com/?page=NetworkMiner) - Network Forensic Analysis Tool
2015-04-26 06:15:02 +00:00
- [PDF Streams Inflater](http://malzilla.sourceforge.net/downloads.html) - Find and extract zlib files compressed in PDF files
2015-04-26 06:25:12 +00:00
- [ResourcesExtract](http://www.nirsoft.net/utils/resources_extract.html) - Extract various filetypes from exes
2015-04-26 06:18:50 +00:00
- [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
2015-04-26 06:18:50 +00:00
*Registry Viewers*
- [RegistryViewer](http://www.gaijin.at/en/getitpage.php?id=regview) - Used to view windows registries
2015-04-26 08:05:02 +00:00
- [Windows Registry Viewers](http://www.forensicswiki.org/wiki/Windows_Registry) - More registry viewers
2015-04-26 05:51:19 +00:00
## Networking
*Tools used for solving Networking challenges*
- [Masscan](https://github.com/robertdavidgraham/masscan) - Mass IP port scanner, TCP port scanner
- [Nmap](https://nmap.org/) - 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
2015-04-26 05:51:19 +00:00
## Reversing
*Tools used for solving Reversing challenges*
2015-04-26 06:11:06 +00:00
- [Androguard](https://github.com/androguard/androguard) - Reverse engineer Android applications
- [Angr](https://github.com/angr/angr) - platform-agnostic binary analysis framework
2015-04-26 06:11:06 +00:00
- [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
2015-04-30 12:58:43 +00:00
- [BinUtils](http://www.gnu.org/software/binutils/binutils.html) - Collection of binary tools
2015-04-26 06:18:50 +00:00
- [BinWalk](https://github.com/devttys0/binwalk) - Analyze, reverse engineer, and extract firmware images.
- [Boomerang](https://github.com/nemerle/boomerang) - Decompile x86 binaries to C
2015-10-29 18:36:20 +00:00
- [GDB](https://www.gnu.org/software/gdb/) - The GNU project debugger
- [GEF](https://github.com/hugsy/gef) - GDB plugin
2016-06-10 17:58:39 +00:00
- [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
2015-04-26 06:18:50 +00:00
- [Jadx](https://github.com/skylot/jadx) - Decompile Android files
2015-04-26 06:11:06 +00:00
- [Krakatau](https://github.com/Storyyeller/Krakatau) - Java decompiler and disassembler
- [PEDA](https://github.com/longld/peda) - GDB plugin (only python2.7)
- [radare2](https://github.com/radare/radare2) - A portable reversing framework
2015-04-26 07:38:16 +00:00
- [Uncompyle](https://github.com/gstarnberger/uncompyle) - Decompile Python 2.7 binaries (.pyc)
2015-10-28 04:53:34 +00:00
- [WinDbg](http://www.windbg.org/) - Windows debugger distributed by Microsoft
- [Z3](https://github.com/Z3Prover/z3) - a theorem prover from Microsoft Research
2015-04-26 06:11:06 +00:00
*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
2015-04-26 05:51:19 +00:00
2015-07-18 10:02:00 +00:00
*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.
2015-07-18 10:02:00 +00:00
2015-04-26 06:11:06 +00:00
## Services
2015-04-26 05:51:19 +00:00
2015-04-26 06:11:06 +00:00
*Various kind of useful services available around the internet*
2015-04-26 05:51:19 +00:00
2015-04-26 06:11:06 +00:00
- [CSWSH](http://ironwasp.org/cswsh.html) - Cross-Site WebSocket Hijacking Tester
2015-04-26 06:18:50 +00:00
- [Request Bin](http://requestb.in/) - Lets you inspect http requests to a particular url
2015-04-26 05:51:19 +00:00
## Steganography
2015-04-26 05:51:19 +00:00
2015-04-26 06:11:06 +00:00
*Tools used for solving Steganography challenges*
2015-04-26 05:51:19 +00:00
2016-06-10 17:58:39 +00:00
- [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
2016-06-10 17:58:39 +00:00
- [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
2015-04-26 06:11:06 +00:00
- `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
2015-04-26 05:51:19 +00:00
2015-04-26 06:11:06 +00:00
## Web
2015-04-26 05:51:19 +00:00
2015-04-26 06:11:06 +00:00
*Tools used for solving Web challenges*
2015-04-26 05:51:19 +00:00
2015-04-26 06:11:06 +00:00
- [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.
2015-04-26 06:18:50 +00:00
- [XSSer](http://xsser.sourceforge.net/) - Automated XSS testor
2015-04-26 05:57:15 +00:00
# Resources
2015-04-26 06:05:05 +00:00
*Where to discover about CTF*
2016-09-28 20:48:26 +00:00
## 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
2016-09-28 20:48:26 +00:00
*Malware analysts and reverse-engineering*
- [REMnux](https://remnux.org/) - Based on Debian
2016-09-28 20:48:26 +00:00
2015-09-08 18:20:52 +00:00
## 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.
## Tutorials
*Tutorials to learn how to play CTFs*
- [CTF Field Guide](https://trailofbits.github.io/ctf/) - Field Guide by Trails of Bits
2015-04-28 22:49:40 +00:00
- [CTF Resources](http://ctfs.github.io/resources/) - Start Guide maintained by community
2015-06-29 07:17:28 +00:00
- [How to Get Started in CTF](https://www.endgame.com/blog/how-get-started-ctf) - Short guideline for CTF beginners by Endgame
2015-09-02 13:28:35 +00:00
- [MIPT CTF](https://github.com/xairy/mipt-ctf) - A small course for beginners in CTFs (in Russian)
## Wargames
*Always online CTFs*
2015-10-27 00:28:44 +00:00
- [Backdoor](https://backdoor.sdslabs.co/) - Security Platform by SDSLabs.
2016-03-30 06:14:16 +00:00
- [Ctfs.me](http://ctfs.me) - CTF All the time
2015-10-27 00:28:44 +00:00
- [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 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](https://pwnable.kr/) - Pwn Game
2015-11-11 00:17:51 +00:00
- [Ringzer0Team](https://ringzer0team.com/) - Ringzer0 Team Online CTF
2015-10-27 05:50:35 +00:00
- [SmashTheStack](http://smashthestack.org/) - A variety of wargames maintained by the SmashTheStack Community.
2015-07-18 09:52:30 +00:00
- [VulnHub](https://www.vulnhub.com/) - VM-based for practical in digital security, computer application & network administration.
- [WebHacking](http://webhacking.kr) - Hacking challenges for web.
2015-10-27 00:28:44 +00:00
- [WeChall](https://www.wechall.net/) - Always online challenge site.
2015-04-26 05:57:15 +00:00
## Websites
2015-04-26 06:05:05 +00:00
*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
2016-05-12 10:10:28 +00:00
- [OpenToAll](http://wiki.opentoallctf.com/) - Open To All Knowledge Base
2015-04-26 06:05:05 +00:00
## Writeups Collections
*Collections of CTF write-ups*
2015-04-26 06:05:05 +00:00
2015-06-29 07:17:28 +00:00
- [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
- [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.
2015-04-26 05:57:15 +00:00
2015-04-26 06:35:02 +00:00
### LICENSE
2016-07-09 17:41:46 +00:00
CC0 :)