- CSAW - CSAW is the largest student-run cyber security event in the nation: a weekend of competitions, industry talks and events to prepare best-performing students with the skills and knowledge to shape the future of the industry.The event is managed by undergraduate and graduate students of the Information Systems and Internet Security Laboratory at NYU Tandon School of Engineering, guided by university faculty and industry leaders.
- EasyCTF - EasyCTF is a online hacking/cybersecurity contest targeted at middle and high school students. Like many similar CTF competitions, participants will have to crack, decompile, decrypt, etc. through many defenses in order to find a secret message, known as the "flag". The challenges presented are designed with the intent of being hacked, making it an excellent and legal way for students to get some great hands-on experience
- PicoCTF - picoCTF is a computer security game targeted at middle and high school students. The game consists of a series of challenges centered around a unique storyline where participants must reverse engineer, break, hack, decrypt, or do whatever it takes to solve the challenge. The challenges are all set up with the intent of being hacked, making it an excellent, legal way to get hands-on experience.
- HSCTF - is an international online hacking competition ddesigned to educate high schoolers on computer security.
- SCTF.io - puts together jeopardy-style competitions for high school and middle school students only. That way, students don't have to compete with the expertise of college teams.
- PaCTF - are a type of Computer Security competition where you hack, decrypt, reverse, and do whatever it takes to solve increasingly challenging security puzzles!
- CAMSCTF - Capture the flag is a competition in which teams solve challenges and find 'flags.' These flags are not physical flags. Instead, they are strings of characters that can be submitted for points.
- aCTF - Welcome to angstromCTF, a new capture-the-flag (CTF) competition hosted and written by high school students!
- lasaCTF - is an online computer science and security competition run by students from the Liberal Arts and Science Academy in Austin, TX. Competitors will exploit, decrypt, reverse engineer, and hack their way through a diverse set of challenges, gaining valuable experience along the way.
- GoogleCTF - CTF sponsored by Google
- TJCTF.org - TJCTF is an online cybersecurity competition designed for high school students. Challenges will span various difficulty levels, so there will be problems for students who are new to computer science as well as those who are computer security experts.
- ASIS - This is a Jeopardy-style CTF, and the problems are organized in categories like general security information (Trivia), web hacking, modern cryptography, exploit, forensics, reverse engineering, steganography and etc.
- MitRec - As a not-for-profit organization chartered to work in the public interest, MITRE is providing this Cyber Academy to foster the education and collaboration of cyber professionals. Our growing set of resources is provided to help you develop your technical skills as a cyber security professional.
- WeebCTF - is a ctf for weebs.
- DEFCON CTF – one of the most prestigious and challenging CTF ever in DEFCON which is currently organized by Legitimate Business Syndicate
- Ghost in the Shellcode – an annual CTF which is hosted in ShmooCon Hacker Convention
- UCSB iCTF – the UCSB International Capture The Flag is organized by Prof. Giovanni Vigna of the Department of Computer Science at UCSB, and is held once a year (usually at the beginning of December, but it has been rescheduled a few times)
- Infosec Institute CTF – our very own CTF Labs
- Smash the Stack – a war gaming network which simulates software vulnerabilities and allows for the legal execution of exploitation techniques
- HITCON CTF
- AlexCTF - ALEXCTF will be organized by .MSP Tech Club - Alexandria University.
- Codegate -
- BsidesSF - BSides SF is a non-profit organization designed to advance the body of Information Security knowledge, by providing an annual, two day, open forum for discussion and debate for security engineers and their affiliates.
- Infosec Institute CTF – our very own CTF Labs
- ROOTCON Campus Tour CTF – is the first ever inter-university CTF challenge in the Philippines which is a open to all college students
- ROOTCON CTF – is the official CTF of ROOTCON Hacker Conference
- Gameofpwners - The Game of Pwners project is a Capture the Flag contest organized by octosec and canyoupwnme's teams to raise awareness of cigar security in the country
- More upcoming events are in CTF Time…
- Challenges - "Programming and Hacking Challenges"
CTF Tutorial
Hacking Tutorial - "CTF or Capture the Flag is a traditional competition or war game in any hacker conferences like DEFCON, ROOTCON, HITB and some hackathons. CTF games are usually categorized in the form of Attack and Defend Style, Exploit Development, Packet Capture Analysis, Web Hacking, Digital Puzzles, Cryptography, Stego, Reverse Engineering, Binary Analysis, Mobile Security, etc. As the author of n00bs CTF Labs, I decided to create a cheat sheet for the tools and resources you may want to use if ever you are planning to participate in a CTF challenge or competition:"
CyFor Created by NYU Tandon School of Engineering - CSAW event
abctf - Your friends on the ABCTF team have created a platform for awesome practice. Anyone can create and solve problems, and even follow other users!
CTF Frameworks or All-In One Tools for CTF
- PwnTools – a CTF framework and exploit development library used by Gallopsled in every CTF
- ctf-tools – a Github repository of open source scripts for your CTF needs like binwalk and apktool
- Metasploit Framework – aside from being a penetration testing framework and software, Metasploit has modules for automatic exploitation and tools for crafting your exploits like find_badchars.rb, egghunter.rb, patter_offset.rb, pattern_create.rb, etc.
- ROPgadget – used for ROP exploitation
- Peda – Python Exploit Development Assistance for GDB
- Google – where you can ask some questions
Python
Python - Dive into Python (free download)
Reverse Engineering
Practice Reverse Engineering - "The book covers x86, x64, and ARM (the first book to cover all three); Windows kernel-mode code rootkits and drivers; virtual machine protection techniques; and much more. Best of all, it offers a systematic approach to the material, with plenty of hands-on exercises and real-world examples."
Reversing: Secrets of Reverse Engineering - "The book is broken into two parts, the first deals with security-related reverse engineering and the second explores the more practical aspects of reverse engineering. In addition, the author explains how to reverse engineer a third-party software library to improve interfacing and how to reverse engineer a competitor's software to build a better product."
The IDA Pro Book - "No source code? No problem. With IDA Pro, the interactive disassembler, you live in a source code-optional world. IDA can automatically analyze the millions of opcodes that make up an executable and present you with a disassembly. But at that point, your work is just beginning. With The IDA Pro Book, you'll learn how to turn that mountain of mnemonics into something you can actually use."
Cryptography
Applied Cryptography - "This new edition of the cryptography classic provides you with a comprehensive survey of modern cryptography. The book details how programmers and electronic communications professionals can use cryptography-the technique of enciphering and deciphering messages-to maintain the privacy of computer data. It describes dozens of cryptography algorithms, gives practical advice on how to implement them into cryptographic software, and shows how they can be used to solve security problems. Covering the latest developments in practical cryptographic techniques, this new edition shows programmers who design computer applications, networks, and storage systems how they can build security into their software and systems."
Practical Cryptography -
Cryptography I - ONLINE COURSE
Web Vulnerabilities -
php.net site is a fantastic language reference.
The Web Application Hacker’s Handbook-
Binary Exercises
stack overflows, heap overflows, and format string bugs
Books
Hacking: The Art of Exploitation
The Shellcoders Handbook
The Art of Software Security Assessment
Reverse Engineering Tools, Decompilers and Debuggers
- Immunity Debugger – a debugger similar to OllyDbg that has some cool plugins with the use of Python
- ntcore - Created by Dan Pistelli "The CFF Explorer was designed to make PE editing as easy as possible, but without losing sight on the portable executable's internal structure. This application includes a series of tools which might help not only reverse engineers but also programmers. It offers a multi-file environment and a switchable interface.
- Hex Ray - IDA is the Interactive DisAssembler: the world's smartest and most feature-full disassembler, which many software security specialists are familiar with.
- OllyDbg – the most disassembly-based and GUI debugger for Windows
- SWFScan – allows you to decompile Flash files
- LordPE - "is a tool e.g. for system programmers which is able to edit/view many parts of PE (Portable Executable) files, dump them from memory, optimize them, validate, analyze, edit,..."
- IDA Pro – Windows, Linux or Mac OS X hosted multi-processor disassembler and debugger
- WinDbg – Windows Debugger distributed by Microsoft
- Apktool – a tool for reversing Android apk files
- PE Tool – provide a handful of useful tools for working with Windows PE executables
- UPX – Ultimate Packer for eXecutables
- dex2jar (Android)
- Objdump – part of GNU Binutils
- PEID – used to determine if any obfuscator was used to pack the executable file. The open source packer that is often used is the UPX packer
- radare2: (also known as r2) is a complete framework for reverse-engineering and analyzing binaries; composed of a set of small utilities that can be used together or independently from the command line.
- qemu: QEMU is a generic and open source machine emulator and virtualizer. ... QEMU supports virtualization when executing under the Xen hypervisor or using the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, 64-bit POWER, S390, 32-bit and 64-bit ARM, and MIPS guests.
- gdb: GNU Debugger, which is also called gdb, is the most popular debugger for UNIX systems to debug C and C++ programs.
- strace: is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state.
- angr: angr is a python framework for analyzing binaries. It focuses on both static and dynamic symbolic ("concolic") analysis, making it applicable to a variety of tasks.
- voltron: Voltron is an extensible debugger UI toolkit written in Python. It aims to improve the user experience of various debuggers (LLDB, GDB, VDB and WinDbg) by enabling the attachment of utility views that can retrieve and display data from the debugger host. By running these views in other TTYs, you can build a customised debugger user interface to suit your needs.
- nasm: The Netwide Assembler (NASM) is an assembler and disassembler for the Intel x86 architecture. It can be used to write 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs. NASM is considered to be one of the most popular assemblers for Linux.
Tools for Static Code Analysis
- RIPS – a static code analyzer for auditing vulnerabilities in PHP applications
- HP Fortify Static Code Analyzer – also known as Fortify SCA which is a commercial software that is a multi-language auditor for vulnerabilities
- OWASP Code Crawler – a static code review tool for .NET and J2EE/JAVA code which supports the OWASP Code Review Project
- OWASP LAPSE Project – security auditing tool for detecting vulnerabilities in Java EE Applications
- Flawfinder – a static source code analyzer that examines C/C++ source code and reports possible security weaknesses
Forensics
- Strings – allows you to search and extract ASCII and UNICODE strings from a binary
- SANS SIFT – SANS Investigative Forensic Toolkit (SIFT) is an Ubuntu Live CD
- ProDiscover Basic – evidence analyzer and data imaging tool
- The Sleuth Kit – open source digital forensics tool
- FTK Imager – data preview and imaging tool
- IPhone Analyzer – used for iPhone Forensics but only supports iOS 2, iOS 3, iOS 4 and iOS 5 devices
- Xplico – network forensics tool
- ExifTool – a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of file formats like EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP and ID3, as well as the maker notes of many digital cameras by Canon, Casio, FLIR, FujiFilm, GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, Nintendo, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony
- CAINE – Computer Aided INvestigative Environment is a Live GNU/Linux distribution which is aimed for digital forensics
- Autopsy – GUI to the command line digital investigation analysis tools in The Sleuth Kit
- Any Hex Editors will do
- DEFT Linux – Digital Evidence & Forensics Toolkit Linux distribution
- Windows Sysiternals – consist of Windows system utilities that contain various useful programs
- volatility: The Volatility Framework is a completely open collection of tools, implemented in Python under the GNU General Public License, for the extraction of digital artifacts from volatile memory (RAM) samples.
- dd: dd is a command-line utility for Unix and Unix-like operating systems whose primary purpose is to convert and copy files.
- binwalk: Binwalk is a tool for searching a given binary image for embedded files and executable code. Specifically, it is designed for identifying files and code embedded inside of firmware images.
- wireshark: Wireshark is a free and open source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development.
- Sleuth Kit: is a collection of command line tools and a C library that allows you to analyze disk images and recover files from them. It is used behind the scenes in Autopsy and many other open source and commercial forensics tools.
- gpart: gpart is a software utility which scans a storage device, examining the data in order to detect partitions which may exist but are absent from the disk's partition tables
- fdisk:fdisk is a dialog-driven program for creation and manipulation of partition tables. It understands GPT, MBR, Sun, SGI and BSD partition tables.
- TrID: TrID is an utility designed to identify file types from their binary signatures. While there are similar utilities with hard coded logic, TrID has no fixed rules. Instead, it's extensible and can be trained to recognize new formats in a fast and automatic way.
Crypto
- Hashdump
- Sage
- John The Ripper – is a free and fast password cracker available for many flavors of Unix, Windows, DOS, BeOS, and OpenVMS
- Cryptool – open source e-learning tool illustrating cryptographic and cryptanalytic concepts
- crypo.in.ua – online decoder and encoder for crypto and most people who are joining CTF competitions have this website opened while playing
- sagemath: is mathematical software with features covering many aspects of mathematics, including algebra, combinatorics, numerical mathematics, number theory, and calculus.
- pycrypto: This is a collection of both secure hash functions (such as SHA256 and RIPEMD160), and various encryption algorithms (AES, DES, RSA, ElGamal, etc.). The package is structured to make adding new modules easy.
- openssl: OpenSSL is a general purpose cryptography library that provides an open source implementation of the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols.
- FeatherDuster: is a tool used for breaking crypto which tries to make the process of identifying and exploiting weak cryptosystems as easy as possible.
Steganography
- Steghide – a stega tool that can be used for embedding or extracting data in various kinds of image and audio files
- Ffmpeg – cross-platform software to record, convert and stream audio and video
- Gimp – GNU Image Manipulation Program
- Audacity – free audio auditor and recorder
- Stepic – python image steganography
- Pngcheck – PNG tester and debugger which verifies the integrity of PNG, JNG and MNG files (by checking the internal 32-bit CRCs [checksums] and decompressing the image data)
- OpenStego – free steganography solution
- OutGuess
- StegFS
- MP3Stego – allows you to hide text in MP3 files
- AtomicParsley – command line program for reading, parsing and setting metadata into MPEG-4 files
- Foremost – a console program used for file recovery
For Web Vulnerability Hunting or Web Exploitation
- Burp Suite – commonly used for web application security testing and usually for finding manual web vulnerabilities which has an intercepting proxy and customizable plugins
- OWASP ZAP – an Open Web Application Security Project similar to Burp but free and open source
- WPScan – a blackbox WordPress Vulnerability Scanner
- W3af – open source web application security scanner
- OWASP Dirbuster – directory bruteforce or discovery tool
- Bizploit – open source ERP Penetration Testing framework
Networking
- aircrack-ng Suite – an open source WEP/WPA/WPA2 cracking tool which is usually bundled in most pentesting distributions
- reaver – WiFi Protected Setup attacker tool
- Kismet – 802.11 layer2 wireless network detector, sniffer, and intrusion detection system
- Pixiewps – a tool used to bruteforce offline the WPS pin exploiting the low or non-existing entropy of some APs (pixie dust attack)
- Nmap – an open source port scanner which has plugins for vulnerability assessment and net discovery
- Wireshark – network sniffer and network protocol analyzer for Unix and Windows
- Netcat -the TCP/IP swiss army
- Captipper – a python tool to analyze, explore, and revive HTTP malicious traffic
- Scapy – a powerful interactive packet manipulation program
For Your Protection in Attack in Defend
- Snort – lightweight and free network intrusion detection system for UNIX and Windows
- Iptables
- Any Antivirus and Two-Way firewall will do
- Chellam – Wi-Fi IDS/Firewall for Windows which detect Wi-Fi attacks, such as Honeypots, Evil Twins, Mis-association, and Hosted Network based backdoors etc., against a Windows based client without the need of custom hardware or drivers
- peepdf – Python tool to explore PDF files in order to find out if the file can be harmful or not
- Android IMSI-Catcher Detector – Android app for detecting IMSI-Catchers
Some Linux Distributions Ideal for CTF
- Santoku Linux – GNU/Linux distribution or distro designed for helping you in every aspect of your mobile forensics, mobile malware analysis, reverse engineering and security testing needs
- Kali Linux – a fully packed penetration testing Linux distribution based on Debian
- BackBox Linux – a simplistic penetration testing distro based on Ubuntu
- CAINE – Computer Aided INvestigative Environment is a Live GNU/Linux distribution which is aimed for digital forensics
- DEFT Linux – Digital Evidence & Forensics Toolkit Linux distribution
General tools
- python: Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. Its design philosophy emphasizes code readability.
- z3: Z3 is a theorem prover from Microsoft Research.
- slack: Slack brings all your communication together in one place. It's real-time messaging, archiving and search for modern teams.
- virtual box: VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise customers, it is also the only professional solution that is freely available as Open Source Software.
Category Tool Description
binary afl - State-of-the-art fuzzer.
binary angr - Next-generation binary analysis engine from Shellphish.
binary barf - Binary Analysis and Reverse-engineering Framework.
binary bindead - A static analysis tool for binaries.
binary capstone - Multi-architecture disassembly framework.
binary checksec - Check binary hardening settings.
binary codereason - Semantic Binary Code Analysis Framework.
binary crosstool-ng - Cross-compilers and cross-architecture tools.
binary cross2 - A set of cross-compilation tools from a Japanese book on C.
binary elfkickers A set of utilities for working with ELF files.
binary elfparser - Quickly determine the capabilities of an ELF binary through static analysis.
binary evilize - Tool to create MD5 colliding binaries
binary gdb - Up-to-date gdb with python2 bindings.
binary gdb-heap - gdb extension for debugging heap issues.
binary gef - Enhanced environment for gdb.
binary hongfuzz - A general-purpose, easy-to-use fuzzer with interesting analysis options.
binary keystone - Lightweight multi-architecture assembler framework.
binary libheap - gdb python library for examining the glibc heap (ptmalloc)
binary lief - Library to Instrument Executable Formats.
binary miasm - Reverse engineering framework in Python.
binary one_gadget - Magic gadget search for libc.
binary panda - Platform for Architecture-Neutral Dynamic Analysis.
binary pathgrind - Path-based, symbolically-assisted fuzzer.
binary peda - Enhanced environment for gdb.
binary preeny - A collection of helpful preloads (compiled for many architectures!).
binary pwndbg - Enhanced environment for gdb. Especially for pwning.
binary pwntools - Useful CTF utilities.
binary python-pin - Python bindings for pin.
binary qemu - Latest version of qemu!
binary qira - Parallel, timeless debugger.
binary radare2 - Some crazy thing crowell likes.
binary rappel - A linux-based assembly REPL.
binary ropper - Another gadget finder.
binary rp++ - Another gadget finder.
binary rr - Record and Replay Debugging Framework
binary scratchabit - Easily retargetable and hackable interactive disassembler
binary scratchablock - Yet another crippled decompiler project
binary - seccomp-tools - Provides powerful tools for seccomp analysis
binary shellnoob - Shellcode writing helper.
binary shellsploit - Shellcode development kit.
binary snowman - Cross-architecture decompiler.
binary taintgrind - A valgrind taint analysis tool.
binary unicorn - Multi-architecture CPU emulator framework.
binary valgrind - A Dynamic Binary Instrumentation framework with some built-in tools.
binary villoc - Visualization of heap operations.
binary virtualsocket - A nice library to interact with binaries.
binary wcc - The Witchcraft Compiler Collection is a collection of compilation tools to perform binary black magic on the GNU/Linux and other POSIX platforms.
binary xrop - Gadget finder.
binary manticore - Manticore is a prototyping tool for dynamic binary analysis, with support for symbolic execution, taint analysis, and binary instrumentation.
forensics binwalk - Firmware (and arbitrary file) analysis tool.
forensics dislocker - Tool for reading Bitlocker encrypted partitions.
forensics exetractor - Unpacker for packed Python executables. Supports PyInstaller and py2exe.
forensics firmware-mod-kit - Tools for firmware packing/unpacking.
forensics foremost File carver.
forensics pdf-parser - Tool for digging in PDF files
forensics peepdf - Powerful Python tool to analyze PDF documents.
forensics scrdec - A decoder for encoded Windows Scripts.
forensics testdisk - Testdisk and photorec for file recovery.
crypto cribdrag - Interactive crib dragging tool (for crypto).
crypto fastcoll - An md5sum collision generator.
crypto foresight - A tool for predicting the output of random number generators. To run, launch "foresee".
crypto featherduster - An automated, modular cryptanalysis tool.
crypto galois = A fast galois field arithmetic library/toolkit.
crypto hashkill - Hash cracker.
crypto hashpump - A tool for performing hash length extension attacks.
crypto hashpump-partialhash - Hashpump, supporting partially-unknown hashes.
crypto hash-identifier - Simple hash algorithm identifier.
crypto libc-database - Build a database of libc offsets to simplify exploitation.
crypto littleblackbox - Database of private SSL/SSH keys for embedded devices.
crypto msieve - Msieve is a C library implementing a suite of algorithms to factor large integers.
crypto nonce-disrespect - Nonce-Disrespecting Adversaries: Practical Forgery Attacks on GCM in TLS.
crypto pemcrack - SSL PEM file cracker.
crypto pkcrack - PkZip encryption cracker.
crypto python-paddingoracle - Padding oracle attack automation.
crypto reveng CRC finder.
crypto ssh_decoder - A tool for decoding ssh traffic. You will need ruby1.8
from https://launchpad.net/~brightbox/+archive/ubuntu/ruby-ng
to run this. Run with ssh_decoder --help
for help, as running it with no arguments causes it to crash.
crypto sslsplit - SSL/TLS MITM.
crypto xortool - XOR analysis tool.
crypto yafu - Automated integer factorization.
web burpsuite - Web proxy to do naughty web stuff.
web commix - Command injection and exploitation tool.
web dirb - Web path scanner.
web dirsearch - Web path scanner.
web mitmproxy - CLI Web proxy and python library.
web sqlmap - SQL injection automation engine.
web subbrute - A DNS meta-query spider that enumerates DNS records, and subdomains.
stego pngtools - PNG's analysis tool.
stego sound-visualizer - Audio file visualization.
stego steganabara - Another image stenography solver.
stego stegdetect - Stenography detection/breaking tool.
stego stego-toolkit - A docker image with dozens of steg tools.
stego stegsolve - Image stenography solver.
stego zsteg - detect stegano-hidden data in PNG & BMP.
dsniff dsniff - Grabs passwords and other data from pcaps/network streams.
android apktool - Dissect, dis-assemble, and re-pack Android APKs
android android-sdk - The android SDK (adb, emulator, etc).
misc xspy - Tiny tool to spy on X sessions.
misc z3 - Theorem prover from Microsoft Research.
misc jdgui - Java decompiler.
misc veles - Binary data analysis and visualization tool.
misc youtube-dl - Latest version of the popular youtube downloader.
There are also some installers for non-CTF stuff to break the monotony!
CategoryToolDescription
C magic C-bind - A library used to enable function binding in C!
game Dwarf Fortress Something to help you relax after a CTF!
pyvmmonitor pyvmmonitor - PyVmMonitor is a profiler with a simple goal: being the best way to profile a Python program.
library collection single_file_libs - A large collection of useful single file include libraries written for C/C++
dolphin sudolphin - If your friend ever leaves their laptop unlocked, curl -sSL sh.sudolph.in | sh
then wait and see!
tor-browser tor-browser -Useful when you need to hit a web challenge from different IPs.