{"id":20263846,"url":"https://github.com/coleellis/cyber-training","last_synced_at":"2025-04-11T02:09:43.208Z","repository":{"id":200805427,"uuid":"705364467","full_name":"coleellis/cyber-training","owner":"coleellis","description":"Cyber Training Guide: Binex + Low-level Programming","archived":false,"fork":false,"pushed_at":"2024-09-25T18:27:18.000Z","size":17457,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-11T02:09:35.505Z","etag":null,"topics":["binex","data-structures","gdb","ghidra","pwntools","radare2","reverse-engineering"],"latest_commit_sha":null,"homepage":"https://cyber.coleellis.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coleellis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-15T19:59:06.000Z","updated_at":"2024-12-18T17:33:43.000Z","dependencies_parsed_at":"2023-10-20T05:54:18.135Z","dependency_job_id":"16b7a4a5-4815-4bb3-a481-75eaf96610d3","html_url":"https://github.com/coleellis/cyber-training","commit_stats":null,"previous_names":["thecae/cyber-training","coleellis/cyber-training"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coleellis%2Fcyber-training","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coleellis%2Fcyber-training/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coleellis%2Fcyber-training/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coleellis%2Fcyber-training/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coleellis","download_url":"https://codeload.github.com/coleellis/cyber-training/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248328160,"owners_count":21085261,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binex","data-structures","gdb","ghidra","pwntools","radare2","reverse-engineering"],"created_at":"2024-11-14T11:36:28.762Z","updated_at":"2025-04-11T02:09:43.190Z","avatar_url":"https://github.com/coleellis.png","language":"Python","funding_links":["https://buymeacoffee.com/cyberguide"],"categories":[],"sub_categories":[],"readme":"# Cyber Training Guide\n\nWelcome to my notes on offensive cybersecurity and low-level programming.\n\nThe site is being live hosted at: [https://cyber.coleellis.com](https://cyber.coleellis.com).\\\nThe GitHub repository is located at: [https://github.com/coleellis/cyber-training](https://github.com/coleellis/cyber-training).\n\nIf this resource helped you out at all, consider supporting me on [Buymeacoffee](https://buymeacoffee.com/cyberguide) :)\n\n### Who am I?\n\nMy name is Cole. I graduated from Vanderbilt University with a degree in computer science. During my time, I was a member of VandyHacks, Vanderbilt's CTF Team, and our SWE Internship Prep Team.\n\nThere are many sites out there that provide resources for learning binary exploitation, low-level programming, and reverse engineering. However, I found that many of these sites don't provide enough explanation of the theory; I always felt like something was missing in my understanding. I created these notes to help bridge the gap and provide a more comprehensive resource.\n\nThese notes primarily accompany an in-person lecture series I provide at Vanderbilt for NROTC students. I also aim to have these notes serve as a standalone resource for those who (1) may not go to Vanderbilt or (2) prefer to learn independently.\n\n[My GitHub Account](https://github.com/thecae)\\\n[CTFTime Profile](https://ctftime.org/user/146369)\n\n### What background is expected?\n\nYou are strongly recommended to have a basic understanding of computer science, especially with a lower-level language. I recommend that students from a higher-level language background (like Python) begin to study an object-oriented, statically typed language (like C, C++, or Java). Starting in the [Programming Section](programming/what-is-the-programming-section.md) may be a good idea if you're not confident in your programming skills.\n\nThe content in these lecture notes relies heavily on low-level programming, especially for binary exploitation. Much of our analysis is based on assembly code, which is the most accurate representation of the instructions being executed. Exploits are written in Python using the [pwntools](https://docs.pwntools.com/en/stable/) library, a Python library for binary exploitation.\n\nThe programming section requires familiarity with C. You should be comfortable with pointers, memory management in C, and file I/O for text and binary files.\n\n### What are some other resources?\n\nThese notes are inspired by a series of helpful sources. I developed most of the challenges myself, but other sources inspired some. A few binaries come directly from CTF competitions; I cite those in the descriptions of the challenges.\n\nHere is a list of the resources I recommend:\n\nLearning Content\n\n* [Ir0nstone's Binex Notes](https://ir0nstone.gitbook.io/notes/) (_Lots of Inspiration came from here, shoutout Andrej_)\n* [LiveOverflow](https://www.youtube.com/channel/UClcE-kVhqyiHCcjYwcpfj9w)\n* [Nightmare](https://guyinatuxedo.github.io/)\n* _Hacking: The Art of Exploitation_ by Jon Erickson\n* _Cracking the Coding Interview_ by Gayle Laakmann McDowell\n\nPracticing Material\n\n* [PicoCTF](https://picoctf.com/)\n* [HackTheBox](https://www.hackthebox.eu/)\n* [OverTheWire](https://overthewire.org/wargames/)\n* [Advent of Code](https://adventofcode.com/)\n* Registering for a CTF competition on [CTFTime](https://ctftime.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoleellis%2Fcyber-training","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoleellis%2Fcyber-training","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoleellis%2Fcyber-training/lists"}