├── _config.yml ├── .gitignore ├── tests ├── test.js └── utils.js ├── contributing.md ├── package.json ├── code-of-conduct.md ├── LICENSE └── README.md /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | -------------------------------------------------------------------------------- /tests/test.js: -------------------------------------------------------------------------------- 1 | var assert = require('chai').assert, 2 | utils = require('./utils'); 3 | 4 | var $ = utils.getSelectorObject(); 5 | 6 | describe('Main module', function () { 7 | it('should contain a non-duplicate link for all title', function () { 8 | var links = []; 9 | 10 | $('a').each(function (k) { 11 | var href = $(this).attr('href'); 12 | 13 | assert.isDefined(href, 'Expected href for ' + $(this).html()); 14 | 15 | if (links[href]) { 16 | console.log(href); 17 | assert.ok(false, 'Duplicate link for ' + $(this).html()); 18 | } 19 | 20 | links[href] = true; 21 | }); 22 | }); 23 | 24 | it('should be sorted alphabetically', function () { 25 | $('ul').each(function () { 26 | utils.testList(assert, $, $(this)); 27 | }) 28 | }); 29 | }) -------------------------------------------------------------------------------- /tests/utils.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'), 2 | marked = require('marked'), 3 | cheerio = require('cheerio'); 4 | 5 | module.exports = (function () { 6 | var utils = { 7 | getSelectorObject: function () { 8 | var html = marked(fs.readFileSync('./README.md', 'utf-8')); 9 | return cheerio.load(html); 10 | }, 11 | 12 | testList: function (assert, $, list) { 13 | var self = this; 14 | 15 | list.find('ul').each(function () { 16 | utils.testList(assert, $, $(this)); 17 | $(this).remove('ul'); 18 | }); 19 | self.testAlphabetical(assert, $, list); 20 | }, 21 | 22 | testAlphabetical: function (assert, $, list) { 23 | var items = []; 24 | list.find("li > a:first-child").map(function (i) { 25 | items.push($(this).text().toLowerCase()); 26 | }); 27 | 28 | sorted = items.slice().sort(); 29 | 30 | assert.deepEqual(items, sorted, 'Links should be in alphabetical order'); 31 | } 32 | }; 33 | 34 | return utils; 35 | })(); -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | - **To add to the list:** Submit a pull request 4 | - **To remove from the list:** Open an issue 5 | 6 | - List items should be sorted *alphabetically*. 7 | - Each item should be limited to one link 8 | - The link should be the name of the package or project 9 | - Direct installation commands should follow on the next line, indented by 2 spaces and enclosed in \`\` 10 | - Descriptions should be clear, concise, and non-promotional 11 | - Descriptions should follow the link, on the same line 12 | - Run `npm install` and then `npm test` to verify everything is correct according to guidelines 13 | 14 | ## Quality standard 15 | 16 | To stay on the list, package repositories should adhere to these quality standards: 17 | 18 | - Generally useful to the community 19 | - Functional 20 | - Stable 21 | 22 | 23 | ## Reporting issues 24 | 25 | Please open an issue if you find anything that could be improved or have suggestions for making the list a more valuable resource. Thanks! 26 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "awesome-ctf", 3 | "title": "awesome-ctf", 4 | "description": "A curated list of CTF frameworks, libraries, resources and softwares.", 5 | "version": "1.0.0", 6 | "homepage": "http://github.com/apsdehal/awesome-ctf", 7 | "author": { 8 | "name": "Amanpreet Singh and contributors", 9 | "url": "https://github.com/apsdehal/awesome-ctf/graphs/contributors" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/apsdehal/awesome-ctf.git" 14 | }, 15 | "bugs": "https://github.com/apsdehal/awesome-ctf/issues", 16 | "devDependencies": { 17 | "chai": "^2.2.0", 18 | "cheerio": "^0.19.0", 19 | "marked": "^0.3.3", 20 | "mocha": "~2.2.1" 21 | }, 22 | "licenses": [ 23 | { 24 | "type": "MIT", 25 | "url": "https://github.com/apsdehal/awesome-ctf/LICENSE.txt" 26 | } 27 | ], 28 | "engines": { 29 | "node": ">= 0.8.0" 30 | }, 31 | "scripts": { 32 | "test": "./node_modules/mocha/bin/mocha -u bdd tests/test.js" 33 | }, 34 | "keywords": [] 35 | } 36 | -------------------------------------------------------------------------------- /code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Contributor Code of Conduct 2 | 3 | As contributors and maintainers of this project, and in the interest of 4 | fostering an open and welcoming community, we pledge to respect all people who 5 | contribute through reporting issues, posting feature requests, updating 6 | documentation, submitting pull requests or patches, and other activities. 7 | 8 | We are committed to making participation in this project a harassment-free 9 | experience for everyone, regardless of level of experience, gender, gender 10 | identity and expression, sexual orientation, disability, personal appearance, 11 | body size, race, ethnicity, age, religion, or nationality. 12 | 13 | Examples of unacceptable behavior by participants include: 14 | 15 | * The use of sexualized language or imagery 16 | * Personal attacks 17 | * Trolling or insulting/derogatory comments 18 | * Public or private harassment 19 | * Publishing other's private information, such as physical or electronic 20 | addresses, without explicit permission 21 | * Other unethical or unprofessional conduct 22 | 23 | Project maintainers have the right and responsibility to remove, edit, or 24 | reject comments, commits, code, wiki edits, issues, and other contributions 25 | that are not aligned to this Code of Conduct, or to ban temporarily or 26 | permanently any contributor for other behaviors that they deem inappropriate, 27 | threatening, offensive, or harmful. 28 | 29 | By adopting this Code of Conduct, project maintainers commit themselves to 30 | fairly and consistently applying these principles to every aspect of managing 31 | this project. Project maintainers who do not follow or enforce the Code of 32 | Conduct may be permanently removed from the project team. 33 | 34 | This Code of Conduct applies both within project spaces and in public spaces 35 | when an individual is representing the project or its community. 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 38 | reported by contacting a project maintainer at info@pauveillard.com. All 39 | complaints will be reviewed and investigated and will result in a response that 40 | is deemed necessary and appropriate to the circumstances. Maintainers are 41 | obligated to maintain confidentiality with regard to the reporter of an 42 | incident. 43 | 44 | 45 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 46 | version 1.3.0, available at 47 | [http://contributor-covenant.org/version/1/3/0/][version] 48 | 49 | [homepage]: http://contributor-covenant.org 50 | [version]: http://contributor-covenant.org/version/1/3/0/ 51 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Cybersecurity CTF 2 | 3 | The World of Cybersecurity CTF (Capture The Flag): 4 | > A collection of CTF frameworks, libraries, resources, softwares and tutorials, books, resources and cool stuff in Cybersecurity. Thanks to all contributors, you're awesome and wouldn't be possible without you! Our goal is to build a categorized community-driven collection of very well-known resources. 5 | 6 | 7 | ### Contents 8 | 9 | - [Cybersecurity CTF](#cybersecurity-ctf) 10 | - [Create](#create) 11 | - [Forensics](#forensics) 12 | - [Platforms](#platforms) 13 | - [Steganography](#steganography) 14 | - [Web](#web) 15 | - [Solve](#solve) 16 | - [Attacks](#attacks) 17 | - [Bruteforcers](#bruteforcers) 18 | - [Cryptography](#crypto) 19 | - [Exploits](#exploits) 20 | - [Forensics](#forensics-1) 21 | - [Networking](#networking) 22 | - [Reversing](#reversing) 23 | - [Services](#services) 24 | - [Steganography](#steganography-1) 25 | - [Web](#web-1) 26 | 27 | - [Resources](#resources) 28 | - [Operating Systems](#operating-systems) 29 | - [Starter Packs](#starter-packs) 30 | - [Tutorials](#tutorials) 31 | - [Wargames](#wargames) 32 | - [Websites](#websites) 33 | - [Wikis](#wikis) 34 | - [Writeups Collections](#writeups-collections) 35 | 36 | 37 | # Create 38 | 39 | *Tools used for creating CTF challenges* 40 | 41 | - [Kali Linux CTF Blueprints](https://www.packtpub.com/eu/networking-and-servers/kali-linux-ctf-blueprints) - Online book on building, testing, and customizing your own Capture the Flag challenges. 42 | 43 | 44 | ## Forensics 45 | 46 | *Tools used for creating Forensics challenges* 47 | 48 | - [Dnscat2](https://github.com/iagox86/dnscat2) - Hosts communication through DNS. 49 | - [Kroll Artifact Parser and Extractor (KAPE)](https://learn.duffandphelps.com/kape) - Triage program. 50 | - [Magnet AXIOM](https://www.magnetforensics.com/downloadaxiom) - Artifact-centric DFIR tool. 51 | - [Registry Dumper](http://www.kahusecurity.com/posts/registry_dumper_find_and_dump_hidden_registry_keys.html) - Dump your registry. 52 | 53 | ## Platforms 54 | 55 | *Projects that can be used to host a CTF* 56 | 57 | - [CTFd](https://github.com/isislab/CTFd) - Platform to host jeopardy style CTFs from ISISLab, NYU Tandon. 58 | - [echoCTF.RED](https://github.com/echoCTF/echoCTF.RED) - Develop, deploy and maintain your own CTF infrastructure. 59 | - [FBCTF](https://github.com/facebook/fbctf) - Platform to host Capture the Flag competitions from Facebook. 60 | - [Haaukins](https://github.com/aau-network-security/haaukins)- A Highly Accessible and Automated Virtualization Platform for Security Education. 61 | - [HackTheArch](https://github.com/mcpa-stlouis/hack-the-arch) - CTF scoring platform. 62 | - [Mellivora](https://github.com/Nakiami/mellivora) - A CTF engine written in PHP. 63 | - [MotherFucking-CTF](https://github.com/andreafioraldi/motherfucking-ctf) - Badass lightweight plaform to host CTFs. No JS involved. 64 | - [NightShade](https://github.com/UnrealAkama/NightShade) - A simple security CTF framework. 65 | - [OpenCTF](https://github.com/easyctf/openctf) - CTF in a box. Minimal setup required. 66 | - [PicoCTF](https://github.com/picoCTF/picoCTF) - The platform used to run picoCTF. A great framework to host any CTF. 67 | - [PyChallFactory](https://github.com/pdautry/py_chall_factory) - Small framework to create/manage/package jeopardy CTF challenges. 68 | - [RootTheBox](https://github.com/moloch--/RootTheBox) - A Game of Hackers (CTF Scoreboard & Game Manager). 69 | - [Scorebot](https://github.com/legitbs/scorebot) - Platform for CTFs by Legitbs (Defcon). 70 | - [SecGen](https://github.com/cliffe/SecGen) - Security Scenario Generator. Creates randomly vulnerable virtual machines. 71 | 72 | ## Steganography 73 | 74 | *Tools used to create stego challenges* 75 | 76 | Check solve section for steganography. 77 | 78 | ## Web 79 | 80 | *Tools used for creating Web challenges* 81 | 82 | *JavaScript Obfustcators* 83 | 84 | - [Metasploit JavaScript Obfuscator](https://github.com/rapid7/metasploit-framework/wiki/How-to-obfuscate-JavaScript-in-Metasploit) 85 | - [Uglify](https://github.com/mishoo/UglifyJS) 86 | 87 | 88 | # Solve 89 | 90 | *Tools used for solving CTF challenges* 91 | 92 | ## Attacks 93 | 94 | *Tools used for performing various kinds of attacks* 95 | 96 | - [Bettercap](https://github.com/bettercap/bettercap) - Framework to perform MITM (Man in the Middle) attacks. 97 | - [Yersinia](https://github.com/tomac/yersinia) - Attack various protocols on layer 2. 98 | 99 | ## Crypto 100 | 101 | *Tools used for solving Crypto challenges* 102 | 103 | - [CyberChef](https://gchq.github.io/CyberChef) - Web app for analysing and decoding data. 104 | - [FeatherDuster](https://github.com/nccgroup/featherduster) - An automated, modular cryptanalysis tool. 105 | - [Hash Extender](https://github.com/iagox86/hash_extender) - A utility tool for performing hash length extension attacks. 106 | - [padding-oracle-attacker](https://github.com/KishanBagaria/padding-oracle-attacker) - A CLI tool to execute padding oracle attacks. 107 | - [PkCrack](https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack.html) - A tool for Breaking PkZip-encryption. 108 | - [QuipQuip](https://quipqiup.com) - An online tool for breaking substitution ciphers or vigenere ciphers (without key). 109 | - [RSACTFTool](https://github.com/Ganapati/RsaCtfTool) - A tool for recovering RSA private key with various attack. 110 | - [RSATool](https://github.com/ius/rsatool) - Generate private key with knowledge of p and q. 111 | - [XORTool](https://github.com/hellman/xortool) - A tool to analyze multi-byte xor cipher. 112 | 113 | ## Bruteforcers 114 | 115 | *Tools used for various kind of bruteforcing (passwords etc.)* 116 | 117 | - [Hashcat](https://hashcat.net/hashcat/) - Password Cracker 118 | - [Hydra](https://tools.kali.org/password-attacks/hydra) - A parallelized login cracker which supports numerous protocols to attack 119 | - [John The Jumbo](https://github.com/magnumripper/JohnTheRipper) - Community enhanced version of John the Ripper. 120 | - [John The Ripper](http://www.openwall.com/john/) - Password Cracker. 121 | - [Nozzlr](https://github.com/intrd/nozzlr) - Nozzlr is a bruteforce framework, trully modular and script-friendly. 122 | - [Ophcrack](http://ophcrack.sourceforge.net/) - Windows password cracker based on rainbow tables. 123 | - [Patator](https://github.com/lanjelot/patator) - Patator is a multi-purpose brute-forcer, with a modular design. 124 | - [Turbo Intruder](https://portswigger.net/research/turbo-intruder-embracing-the-billion-request-attack) - Burp Suite extension for sending large numbers of HTTP requests 125 | 126 | ## Exploits 127 | 128 | *Tools used for solving Exploits challenges* 129 | 130 | - [DLLInjector](https://github.com/OpenSecurityResearch/dllinjector) - Inject dlls in processes. 131 | - [libformatstr](https://github.com/hellman/libformatstr) - Simplify format string exploitation. 132 | - [Metasploit](http://www.metasploit.com/) - Penetration testing software. 133 | - [Cheatsheet](https://www.comparitech.com/net-admin/metasploit-cheat-sheet/) 134 | - [one_gadget](https://github.com/david942j/one_gadget) - A tool to find the one gadget `execve('/bin/sh', NULL, NULL)` call. 135 | - `gem install one_gadget` 136 | - [Pwntools](https://github.com/Gallopsled/pwntools) - CTF Framework for writing exploits. 137 | - [Qira](https://github.com/BinaryAnalysisPlatform/qira) - QEMU Interactive Runtime Analyser. 138 | - [ROP Gadget](https://github.com/JonathanSalwan/ROPgadget) - Framework for ROP exploitation. 139 | - [V0lt](https://github.com/P1kachu/v0lt) - Security CTF Toolkit. 140 | 141 | ## Forensics 142 | 143 | *Tools used for solving Forensics challenges* 144 | 145 | - [Aircrack-Ng](http://www.aircrack-ng.org/) - Crack 802.11 WEP and WPA-PSK keys. 146 | - `apt-get install aircrack-ng` 147 | - [Audacity](http://sourceforge.net/projects/audacity/) - Analyze sound files (mp3, m4a, whatever). 148 | - `apt-get install audacity` 149 | - [Bkhive and Samdump2](http://sourceforge.net/projects/ophcrack/files/samdump2/) - Dump SYSTEM and SAM files. 150 | - `apt-get install samdump2 bkhive` 151 | - [CFF Explorer](http://www.ntcore.com/exsuite.php) - PE Editor. 152 | - [Creddump](https://github.com/moyix/creddump) - Dump windows credentials. 153 | - [DVCS Ripper](https://github.com/kost/dvcs-ripper) - Rips web accessible (distributed) version control systems. 154 | - [Exif Tool](http://www.sno.phy.queensu.ca/~phil/exiftool/) - Read, write and edit file metadata. 155 | - [Extundelete](http://extundelete.sourceforge.net/) - Used for recovering lost data from mountable images. 156 | - [Fibratus](https://github.com/rabbitstack/fibratus) - Tool for exploration and tracing of the Windows kernel. 157 | - [Foremost](http://foremost.sourceforge.net/) - Extract particular kind of files using headers. 158 | - `apt-get install foremost` 159 | - [Fsck.ext4](http://linux.die.net/man/8/fsck.ext3) - Used to fix corrupt filesystems. 160 | - [Malzilla](http://malzilla.sourceforge.net/) - Malware hunting tool. 161 | - [NetworkMiner](http://www.netresec.com/?page=NetworkMiner) - Network Forensic Analysis Tool. 162 | - [PDF Streams Inflater](http://malzilla.sourceforge.net/downloads.html) - Find and extract zlib files compressed in PDF files. 163 | - [Pngcheck](http://www.libpng.org/pub/png/apps/pngcheck.html) - Verifies the integrity of PNG and dump all of the chunk-level information in human-readable form. 164 | - `apt-get install pngcheck` 165 | - [ResourcesExtract](http://www.nirsoft.net/utils/resources_extract.html) - Extract various filetypes from exes. 166 | - [Shellbags](https://github.com/williballenthin/shellbags) - Investigate NT\_USER.dat files. 167 | - [Snow](https://sbmlabs.com/notes/snow_whitespace_steganography_tool) - A Whitespace Steganography Tool. 168 | - [USBRip](https://github.com/snovvcrash/usbrip) - Simple CLI forensics tool for tracking USB device artifacts (history of USB events) on GNU/Linux. 169 | - [Volatility](https://github.com/volatilityfoundation/volatility) - To investigate memory dumps. 170 | - [Wireshark](https://www.wireshark.org) - Used to analyze pcap or pcapng files 171 | 172 | *Registry Viewers* 173 | - [OfflineRegistryView](https://www.nirsoft.net/utils/offline_registry_view.html) - Simple tool for Windows that allows you to read offline Registry files from external drive and view the desired Registry key in .reg file format. 174 | - [Registry Viewer®](https://accessdata.com/product-download/registry-viewer-2-0-0) - Used to view Windows registries. 175 | 176 | ## Networking 177 | 178 | *Tools used for solving Networking challenges* 179 | 180 | - [Masscan](https://github.com/robertdavidgraham/masscan) - Mass IP port scanner, TCP port scanner. 181 | - [Monit](https://linoxide.com/monitoring-2/monit-linux/) - A linux tool to check a host on the network (and other non-network activities). 182 | - [Nipe](https://github.com/GouveaHeitor/nipe) - Nipe is a script to make Tor Network your default gateway. 183 | - [Nmap](https://nmap.org/) - An open source utility for network discovery and security auditing. 184 | - [Wireshark](https://www.wireshark.org/) - Analyze the network dumps. 185 | - `apt-get install wireshark` 186 | - [Zeek](https://www.zeek.org) - An open-source network security monitor. 187 | - [Zmap](https://zmap.io/) - An open-source network scanner. 188 | 189 | ## Reversing 190 | 191 | *Tools used for solving Reversing challenges* 192 | 193 | - [Androguard](https://github.com/androguard/androguard) - Reverse engineer Android applications. 194 | - [Angr](https://github.com/angr/angr) - platform-agnostic binary analysis framework. 195 | - [Apk2Gold](https://github.com/lxdvs/apk2gold) - Yet another Android decompiler. 196 | - [ApkTool](http://ibotpeaches.github.io/Apktool/) - Android Decompiler. 197 | - [Barf](https://github.com/programa-stic/barf-project) - Binary Analysis and Reverse engineering Framework. 198 | - [Binary Ninja](https://binary.ninja/) - Binary analysis framework. 199 | - [BinUtils](http://www.gnu.org/software/binutils/binutils.html) - Collection of binary tools. 200 | - [BinWalk](https://github.com/devttys0/binwalk) - Analyze, reverse engineer, and extract firmware images. 201 | - [Boomerang](https://github.com/BoomerangDecompiler/boomerang) - Decompile x86/SPARC/PowerPC/ST-20 binaries to C. 202 | - [ctf_import](https://github.com/docileninja/ctf_import) – run basic functions from stripped binaries cross platform. 203 | - [cwe_checker](https://github.com/fkie-cad/cwe_checker) - cwe_checker finds vulnerable patterns in binary executables. 204 | - [demovfuscator](https://github.com/kirschju/demovfuscator) - A work-in-progress deobfuscator for movfuscated binaries. 205 | - [Frida](https://github.com/frida/) - Dynamic Code Injection. 206 | - [GDB](https://www.gnu.org/software/gdb/) - The GNU project debugger. 207 | - [GEF](https://github.com/hugsy/gef) - GDB plugin. 208 | - [Ghidra](https://ghidra-sre.org/) - Open Source suite of reverse engineering tools. Similar to IDA Pro. 209 | - [Hopper](http://www.hopperapp.com/) - Reverse engineering tool (disassembler) for OSX and Linux. 210 | - [IDA Pro](https://www.hex-rays.com/products/ida/) - Most used Reversing software. 211 | - [Jadx](https://github.com/skylot/jadx) - Decompile Android files. 212 | - [Java Decompilers](http://www.javadecompilers.com) - An online decompiler for Java and Android APKs. 213 | - [Krakatau](https://github.com/Storyyeller/Krakatau) - Java decompiler and disassembler. 214 | - [Objection](https://github.com/sensepost/objection) - Runtime Mobile Exploration. 215 | - [PEDA](https://github.com/longld/peda) - GDB plugin (only python2.7). 216 | - [Pin](https://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool) - A dynamic binary instrumentaion tool by Intel. 217 | - [PINCE](https://github.com/korcankaraokcu/PINCE) - GDB front-end/reverse engineering tool, focused on game-hacking and automation. 218 | - [PinCTF](https://github.com/ChrisTheCoolHut/PinCTF) - A tool which uses intel pin for Side Channel Analysis. 219 | - [Plasma](https://github.com/joelpx/plasma) - An interactive disassembler for x86/ARM/MIPS which can generate indented pseudo-code with colored syntax. 220 | - [Pwndbg](https://github.com/pwndbg/pwndbg) - A GDB plugin that provides a suite of utilities to hack around GDB easily. 221 | - [radare2](https://github.com/radare/radare2) - A portable reversing framework. 222 | - [Triton](https://github.com/JonathanSalwan/Triton/) - Dynamic Binary Analysis (DBA) framework. 223 | - [Uncompyle](https://github.com/gstarnberger/uncompyle) - Decompile Python 2.7 binaries (.pyc). 224 | - [WinDbg](http://www.windbg.org/) - Windows debugger distributed by Microsoft. 225 | - [Xocopy](http://reverse.lostrealm.com/tools/xocopy.html) - Program that can copy executables with execute, but no read permission. 226 | - [Z3](https://github.com/Z3Prover/z3) - A theorem prover from Microsoft Research. 227 | 228 | *JavaScript Deobfuscators* 229 | 230 | - [Detox](http://relentless-coding.org/projects/jsdetox/install) - A Javascript malware analysis tool. 231 | - [Revelo](http://www.kahusecurity.com/posts/revelo_javascript_deobfuscator.html) - Analyze obfuscated Javascript code. 232 | 233 | *SWF Analyzers* 234 | - [RABCDAsm](https://github.com/CyberShadow/RABCDAsm) - Collection of utilities including an ActionScript 3 assembler/disassembler. 235 | - [Swftools](http://www.swftools.org/) - Collection of utilities to work with SWF files. 236 | - [Xxxswf](https://bitbucket.org/Alexander_Hanel/xxxswf) - A Python script for analyzing Flash files. 237 | 238 | ## Services 239 | 240 | *Various kind of useful services available around the internet* 241 | 242 | - [CSWSH](http://cow.cat/cswsh.html) - Cross-Site WebSocket Hijacking Tester. 243 | - [Request Bin](https://requestbin.com/) - Lets you inspect http requests to a particular url. 244 | 245 | ## Steganography 246 | 247 | *Tools used for solving Steganography challenges* 248 | 249 | - [AperiSolve](https://aperisolve.fr/) - Aperi'Solve is a platform which performs layer analysis on image (open-source). 250 | - [Convert](http://www.imagemagick.org/script/convert.php) - Convert images b/w formats and apply filters. 251 | - [Exif](http://manpages.ubuntu.com/manpages/trusty/man1/exif.1.html) - Shows EXIF information in JPEG files. 252 | - [Exiftool](https://linux.die.net/man/1/exiftool) - Read and write meta information in files. 253 | - [Exiv2](http://www.exiv2.org/manpage.html) - Image metadata manipulation tool. 254 | - [Image Steganography](https://sourceforge.net/projects/image-steg/) - Embeds text and files in images with optional encryption. Easy-to-use UI. 255 | - [Image Steganography Online](https://incoherency.co.uk/image-steganography) - This is a client-side Javascript tool to steganographically hide images inside the lower "bits" of other images 256 | - [ImageMagick](http://www.imagemagick.org/script/index.php) - Tool for manipulating images. 257 | - [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. 258 | - [Pngtools](https://packages.debian.org/sid/pngtools) - For various analysis related to PNGs. 259 | - `apt-get install pngtools` 260 | - [SmartDeblur](https://github.com/Y-Vladimir/SmartDeblur) - Used to deblur and fix defocused images. 261 | - [Steganabara](https://www.openhub.net/p/steganabara) - Tool for stegano analysis written in Java. 262 | - [SteganographyOnline](https://stylesuxx.github.io/steganography/) - Online steganography encoder and decoder. 263 | - [Stegbreak](https://linux.die.net/man/1/stegbreak) - Launches brute-force dictionary attacks on JPG image. 264 | - [StegCracker](https://github.com/Paradoxis/StegCracker) - Steganography brute-force utility to uncover hidden data inside files. 265 | - [stegextract](https://github.com/evyatarmeged/stegextract) - Detect hidden files and text in images. 266 | - [Steghide](http://steghide.sourceforge.net/) - Hide data in various kind of images. 267 | - [StegOnline](https://georgeom.net/StegOnline/upload) - Conduct a wide range of image steganography operations, such as concealing/revealing files hidden within bits (open-source). 268 | - [Stegsolve](http://www.caesum.com/handbook/Stegsolve.jar) - Apply various steganography techniques to images. 269 | - [Zsteg](https://github.com/zed-0xff/zsteg/) - PNG/BMP analysis. 270 | 271 | ## Web 272 | 273 | *Tools used for solving Web challenges* 274 | 275 | - [BurpSuite](https://portswigger.net/burp) - A graphical tool to testing website security. 276 | - [Commix](https://github.com/commixproject/commix) - Automated All-in-One OS Command Injection and Exploitation Tool. 277 | - [Hackbar](https://addons.mozilla.org/en-US/firefox/addon/hackbartool/) - Firefox addon for easy web exploitation. 278 | - [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 279 | - [Postman](https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en) - Add on for chrome for debugging network requests. 280 | - [Raccoon](https://github.com/evyatarmeged/Raccoon) - A high performance offensive security tool for reconnaissance and vulnerability scanning. 281 | - [SQLMap](https://github.com/sqlmapproject/sqlmap) - Automatic SQL injection and database takeover tool. 282 | ```pip install sqlmap``` 283 | - [W3af](https://github.com/andresriancho/w3af) - Web Application Attack and Audit Framework. 284 | - [XSSer](http://xsser.sourceforge.net/) - Automated XSS testor. 285 | 286 | 287 | # Resources 288 | 289 | *Where to discover about CTF* 290 | 291 | ## Operating Systems 292 | 293 | *Penetration testing and security lab Operating Systems* 294 | 295 | - [Android Tamer](https://androidtamer.com/) - Based on Debian. 296 | - [BackBox](https://backbox.org/) - Based on Ubuntu. 297 | - [BlackArch Linux](https://blackarch.org/) - Based on Arch Linux. 298 | - [Fedora Security Lab](https://labs.fedoraproject.org/security/) - Based on Fedora. 299 | - [Kali Linux](https://www.kali.org/) - Based on Debian. 300 | - [Parrot Security OS](https://www.parrotsec.org/) - Based on Debian. 301 | - [Pentoo](http://www.pentoo.ch/) - Based on Gentoo. 302 | - [URIX OS](http://urix.us/) - Based on openSUSE. 303 | - [Wifislax](http://www.wifislax.com/) - Based on Slackware. 304 | 305 | *Malware analysts and reverse-engineering* 306 | 307 | - [Flare VM](https://github.com/fireeye/flare-vm/) - Based on Windows. 308 | - [REMnux](https://remnux.org/) - Based on Debian. 309 | 310 | ## Starter Packs 311 | 312 | *Collections of installer scripts, useful tools* 313 | 314 | - [CTF Tools](https://github.com/zardus/ctf-tools) - Collection of setup scripts to install various security research tools. 315 | - [LazyKali](https://github.com/jlevitsk/lazykali) - A 2016 refresh of LazyKali which simplifies install of tools and configuration. 316 | 317 | ## Tutorials 318 | 319 | *Tutorials to learn how to play CTFs* 320 | 321 | - [CTF Field Guide](https://trailofbits.github.io/ctf/) - Field Guide by Trails of Bits. 322 | - [CTF Resources](http://ctfs.github.io/resources/) - Start Guide maintained by community. 323 | - [How to Get Started in CTF](https://www.endgame.com/blog/how-get-started-ctf) - Short guideline for CTF beginners by Endgame 324 | - [Intro. to CTF Course](https://www.hoppersroppers.org/courseCTF.html) - A free course that teaches beginners the basics of forensics, crypto, and web-ex. 325 | - [IppSec](https://www.youtube.com/channel/UCa6eh7gCkpPo5XXUDfygQQA) - Video tutorials and walkthroughs of popular CTF platforms. 326 | - [LiveOverFlow](https://www.youtube.com/channel/UClcE-kVhqyiHCcjYwcpfj9w) - Video tutorials on Exploitation. 327 | - [MIPT CTF](https://github.com/xairy/mipt-ctf) - A small course for beginners in CTFs (in Russian). 328 | 329 | 330 | ## Wargames 331 | 332 | *Always online CTFs* 333 | 334 | - [Backdoor](https://backdoor.sdslabs.co/) - Security Platform by SDSLabs. 335 | - [Crackmes](https://crackmes.one/) - Reverse Engineering Challenges. 336 | - [CryptoHack](https://cryptohack.org/) - Fun cryptography challenges. 337 | - [echoCTF.RED](https://echoctf.red/) - Online CTF with a variety of targets to attack. 338 | - [Exploit Exercises](https://exploit-exercises.lains.space/) - Variety of VMs to learn variety of computer security issues. 339 | - [Exploit.Education](http://exploit.education) - Variety of VMs to learn variety of computer security issues. 340 | - [Gracker](https://github.com/Samuirai/gracker) - Binary challenges having a slow learning curve, and write-ups for each level. 341 | - [Hack The Box](https://www.hackthebox.eu) - Weekly CTFs for all types of security enthusiasts. 342 | - [Hack This Site](https://www.hackthissite.org/) - Training ground for hackers. 343 | - [Hacker101](https://www.hacker101.com/) - CTF from HackerOne 344 | - [Hacking-Lab](https://hacking-lab.com/) - Ethical hacking, computer network and security challenge platform. 345 | - [Hone Your Ninja Skills](https://honeyourskills.ninja/) - Web challenges starting from basic ones. 346 | - [IO](http://io.netgarage.org/) - Wargame for binary challenges. 347 | - [Microcorruption](https://microcorruption.com) - Embedded security CTF. 348 | - [Over The Wire](http://overthewire.org/wargames/) - Wargame maintained by OvertheWire Community. 349 | - [PentesterLab](https://pentesterlab.com/) - Variety of VM and online challenges (paid). 350 | - [PicoCTF](https://2019game.picoctf.com) - All year round ctf game. Questions from the yearly picoCTF competition. 351 | - [PWN Challenge](http://pwn.eonew.cn/) - Binary Exploitation Wargame. 352 | - [Pwnable.kr](http://pwnable.kr/) - Pwn Game. 353 | - [Pwnable.tw](https://pwnable.tw/) - Binary wargame. 354 | - [Pwnable.xyz](https://pwnable.xyz/) - Binary Exploitation Wargame. 355 | - [Reversin.kr](http://reversing.kr/) - Reversing challenge. 356 | - [Ringzer0Team](https://ringzer0team.com/) - Ringzer0 Team Online CTF. 357 | - [Root-Me](https://www.root-me.org/) - Hacking and Information Security learning platform. 358 | - [ROP Wargames](https://github.com/xelenonz/game) - ROP Wargames. 359 | - [SANS HHC](https://holidayhackchallenge.com/past-challenges/) - Challenges with a holiday theme 360 | released annually and maintained by SANS. 361 | - [SmashTheStack](http://smashthestack.org/) - A variety of wargames maintained by the SmashTheStack Community. 362 | - [Viblo CTF](https://ctf.viblo.asia) - Various amazing CTF challenges, in many different categories. Has both Practice mode and Contest mode. 363 | - [VulnHub](https://www.vulnhub.com/) - VM-based for practical in digital security, computer application & network administration. 364 | - [W3Challs](https://w3challs.com) - A penetration testing training platform, which offers various computer challenges, in various categories. 365 | - [WebHacking](http://webhacking.kr) - Hacking challenges for web. 366 | 367 | 368 | *Self-hosted CTFs* 369 | - [Damn Vulnerable Web Application](http://www.dvwa.co.uk/) - PHP/MySQL web application that is damn vulnerable. 370 | - [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. 371 | 372 | ## Websites 373 | 374 | *Various general websites about and on CTF* 375 | 376 | - [Awesome CTF Cheatsheet](https://github.com/uppusaikiran/awesome-ctf-cheatsheet#awesome-ctf-cheatsheet-) - CTF Cheatsheet. 377 | - [CTF Time](https://ctftime.org/) - General information on CTF occuring around the worlds. 378 | - [Reddit Security CTF](http://www.reddit.com/r/securityctf) - Reddit CTF category. 379 | 380 | ## Wikis 381 | 382 | *Various Wikis available for learning about CTFs* 383 | 384 | - [Bamboofox](https://bamboofox.github.io/) - Chinese resources to learn CTF. 385 | - [bi0s Wiki](https://teambi0s.gitlab.io/bi0s-wiki/) - Wiki from team bi0s. 386 | - [CTF Cheatsheet](https://uppusaikiran.github.io/hacking/Capture-the-Flag-CheatSheet/) - CTF tips and tricks. 387 | - [ISIS Lab](https://github.com/isislab/Project-Ideas/wiki) - CTF Wiki by Isis lab. 388 | - [OpenToAll](https://github.com/OpenToAllCTF/Tips) - CTF tips by OTA CTF team members. 389 | 390 | ## Writeups Collections 391 | 392 | *Collections of CTF write-ups* 393 | 394 | - [0e85dc6eaf](https://github.com/0e85dc6eaf/CTF-Writeups) - Write-ups for CTF challenges by 0e85dc6eaf 395 | - [Captf](http://captf.com/) - Dumped CTF challenges and materials by psifertex. 396 | - [CTF write-ups (community)](https://github.com/ctfs/) - CTF challenges + write-ups archive maintained by the community. 397 | - [CTFTime Scrapper](https://github.com/abdilahrf/CTFWriteupScrapper) - Scraps all writeup from CTF Time and organize which to read first. 398 | - [HackThisSite](https://github.com/HackThisSite/CTF-Writeups) - CTF write-ups repo maintained by HackThisSite team. 399 | - [Mzfr](https://github.com/mzfr/ctf-writeups/) - CTF competition write-ups by mzfr 400 | - [pwntools writeups](https://github.com/Gallopsled/pwntools-write-ups) - A collection of CTF write-ups all using pwntools. 401 | - [SababaSec](https://github.com/SababaSec/ctf-writeups) - A collection of CTF write-ups by the SababaSec team 402 | - [Shell Storm](http://shell-storm.org/repo/CTF/) - CTF challenge archive maintained by Jonathan Salwan. 403 | - [Smoke Leet Everyday](https://github.com/smokeleeteveryday/CTF_WRITEUPS) - CTF write-ups repo maintained by SmokeLeetEveryday team. 404 | 405 | 406 | 407 | ## Licenses 408 | License 409 | 410 | [![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/) 411 | 412 | To the extent possible under law, [Paul Veillard](https://github.com/paulveillard/) has waived all copyright and related or neighboring rights to this work. 413 | --------------------------------------------------------------------------------