Python Hacker Bootcamp: Zero to Hero

Snowfensive | July 22-23 & July 24-25



Overview

More and more security professionals have turned to scripting languages to automate tasks and complete work faster. If you've been wanting to learn Python and couldn't figure out how to start, or tried and can't get the hang of it this course will take you from zero to hero. This course was designed to follow a hacker's methodology of programming. Instead of learning formal programming practices that you'll never use, this course focuses on core concepts taught in 16 simple recipe-like modules. Throughout the course, we will reuse and build on past modules to quickly complete more complex projects. Each module has lab time for continuous hands-on opportunity and practical application exercises.

The course is taught in four phases with each phase containing multiple modules and hands-on labs which build on previous modules and phases.

Phase 1: Getting up to speed
  • Sublime IDE and Jupyter Notebook (formerly known as the IPython Notebook)
  • Variables and data types
  • Decisions and loops
  • Functions, error handling, and imports



Phase 2: Data parsing and I/O
  • Parsing text files, CSV and XML
  • Handling networking connections and parsing pcaps
  • Multi-Threading vs Multi-Processing with Locks, Mutexes, and Semaphores
  • Parsing large log files quickly


Phase 3: Advanced data manipulation
  • Building regex
  • Scraping the web
  • Handling JSON
  • Working with APIs


Phase 4: Practical Application Projects
  • Automate malicious domain discovery from PCAPs with VirusTotal
  • Generate meaningful reports with a custom log parser
  • Create a multithreaded port scanner
  • Build a Pastebin scraping bot

Who Should Take this Course

Anyone that wants to take their nonexistent or basic Python skills to the next level and create complex security projects that automate large or daunting tasks.

Student Requirements

None. This first module in this course is designed to get everyone up to speed. This includes installing Python, the Sublime Text IDE and Jupyter Notebook.

What Students Should Bring

A Windows laptop with full administrative rights and WiFi network connectivity for downloading third party libraries. Sublime Text and Jupyter Notebook will be the IDE used throughout the course.

What Students Will Be Provided With

Students will be provided with:
* The slides used during the course
* Labs
* Cheat sheets
* Thumbdrive containing sample code and software

Trainers

JC Carruthers is a U.S. Marine Corps veteran and Grand Poobah at Snowfensive. JC has over ten years of experience in information technology with an emphasis on Digital Forensics and Incident Response (DFIR). In his career, he has provided incident response services for hundreds of engagements across all business sectors ranging from administrative lockdowns to enterprise-wide security incidents and forensic analysis. In his new role with Snowfensive, JC has been focusing on social engineering services including phishing, vishing, and physical assessments. JC has continuously used Python throughout his career to help automate much of his analysis, forensics, and now social engineering work. JC currently resides in Salt Lake City, Utah with his family.

Perry Jones is an experienced information security researcher from Montreal, Canada with more than 10 years of experience. At a young age, Perry found his passion in the field of information security, and spent his spare time studying and reverse engineering malware, researching windows forensics and security, and more. Perry completed his technical diploma in computer science and technology at Vanier College, and later went on to study software engineering at Concordia University. During his time at Concordia, Perry held a position as teaching assistant, where he taught students about system hardware and their construction. Perry was also a member of the IEEE branch at Concordia, where he assisted in hosting a robotics competition as well as aiding students with their software and hardware projects. While at Concordia, Perry participated in various aspects of research. He helped conduct research in the field of binary authorship attribution and assisted in the development of BinAuthor, a tool written in python for IDA Pro to aid in the identification of the author of a binary. He also contributed to developing a front end for a binary code clone detection tool and other threat intelligence databases. He has spent countless hours utilizing python as his main scripting language of choice to achieve his success.