This course teaches essential Python skills for automating tasks in Information Security, crucial for scaling efforts and bolstering defense strategies.
This course teaches essential Python skills for automating tasks in Information Security, crucial for scaling efforts and bolstering defense strategies.
One of the most pressing needs Information Security professionals face today is the need to automate their work in both the attack, and defense context. Skills gained for automating tasks in programming languages are critical to scale up the efforts of a limited security professional talent pool.
For example, it is not uncommon to find useful Python scripts on the Internet that are at a Proof-of-Concept stage to quickly achieve some information security professional goal. Penetration testers, incident responders, forensics, and defense professionals need the ability to be able to take existing code and produce stable functional Python tools or be able to debug an issue with an existing tool.
This course aims to teach the fundamentals of the Python programming language such that a student will gain a beginning to intermediate level of competency with the language. Labs will be presented in a Capture the Flag (CTF) style format as well as some more comprehensive programming tasks.
The expectation as to whether students can complete all exercises is dependent on prior student experience, and knowledge. Python is a language that is best approached if a student has some elementary programming background (such as shell scripting for example).
System Requirements
Stable Internet access
x86 architecture CPU clocked at 2 GHz or higher that is capable of nested virtualization (Apple Silicon is currently not supported)
A computer with at least 8 GB of RAM. 16 GB is recommended
VMWare Workstation or VMWare Fusion (VirtualBox and other VM software is not supported)
Windows 10/11, MacOSX+, or a currently supported Linux Distribution
Full Administrator/root access to your computer or laptop
Syllabus
Module 1: About Python
Module 2: Strings, Input and Output
Module 3: Writing Your First Script
Module 4: Code Blocks, Indentation and Functions
Module 5: Conditional Logic
Module 6: Lists
Module 7: Loops and Python Modules
Module 8: Dictionaries
Module 9: Files and Databases
Module 10: Requests
Module 11: Python Classes, Exception Handling, and Other Modules/Packages
• Familiarity with Python syntax and programming skills
• Ability to construct Python scripts to solve commonly encountered information security problems
• Understanding of the Python interactive shell, as well as Python scriptings
• Penetration testers, incident responders, security operations personnel, security forensics personnel, and systems administrators
• Any information security professional who wants to learn Python programming towards the goal of increasing their productivity
• Knowledge of how to use text editors, and UNIX/Linux command line is helpful
• Some exposure to scripting languages such as PowerShell and Bash
• Elementary programming skills is beneficial but not required
• Access to download an Ubuntu desktop based Virtual Machine for class use
• Access to PDF copy of the slideware
• Access to a companion CTF server across the Internet
"I write malware, hack, and teach infosec for a living!"
Bio
Joff Thyer has been a Security Analyst with Black Hills Information Security (BHIS) since 2013. He has an associate in Computer Science, a B.S. in Mathematics, and an M.S. in Computer Science, as well as several certifications. The best part of a penetration test for Joff is developing sophisticated malware that tackles defensive solutions, ultimately delivering exciting wins for company engagements.
Register for Upcoming
Introduction to Python
On-Demand
Joff Thyer
Attention: This is not a phish!
Antisyphon Training accounts have moved to learning.antisyphontraining.com. Training purchases will now be directed to that site. You can trust us.