No classes scheduled at this time.

SPECIAL: The Essentials of Automating Information Security with Python

Course Syllabus  ·  12 CPEs  ·   Laptop Requirements

Python is a simple, user-friendly language that is designed to make automating the tasks that security professionals perform quick and easy. If you are new to coding and looking for the right course to cut your teeth on, this is it. This self-paced course starts from the very beginning, assuming you have no prior experience or knowledge of programming. We cover all of the essentials of the language in this two day course. If you already know the essentials, you will find that the pyWars lab environment allows advanced developers to quickly accelerate to self-taught advanced material that is taught in the full six day course.

This course is designed to give you the skills you need for tweaking, customizing, or outright developing your own tools. We put you on the path of creating your own tools, empowering you to better automate the daily routine of today's information security professional and to achieve more value in less time. Again and again, organizations serious about security emphasize their need for skilled tool builders. There is a huge demand for people who can understand a problem and then rapidly develop prototype code to attack or defend against it. Join us and learn Python in-depth and fully weaponized.

You Will Learn How To:

  • Leverage Python to perform routine tasks quickly and efficiently
  • Understand and use basic Python data structures such as strings, integers, list, tuples and dictionaries
  • Understand and use Python modules
  • Python functions and variable scope
  • Basic Python syntax such as variables, For and while loops, If, elif, else,
  • The path for upgrading from Python2 to Python3

Course Syllabus


The course begins with a brief introduction to Python and the pyWars Capture-the-Flag challenge. We set the stage for students to learn at their own pace in the pyWars lab environment, which is 100 percent hands-on. As more advanced students take on Python-based Capture-the-Flag challenges, students who are new to programming will start from the very beginning with Python essentials.

CPE/CMU Credits: 6

  • Syntax
  • Variables
  • Math Operators
  • Strings
  • Functions
  • Modules
  • Control Statements
  • Introspection

You will never learn to program by staring at PowerPoint slides. This section continues the hands-on, lab-centric approach established at the beginning of the course. It covers data structures and more detailed programming concepts. Next, we focus on invaluable tips and tricks to make you a better Python programmer.

CPE/CMU Credits: 6

  • Lists
  • Loops
  • Tuples
  • Dictionaries
  • Coding Tips
  • Tricks and Shortcuts

Additional Information

Students are required to bring their own laptop so that they can connect directly to the workshop network we will create, and thus get the most value out of the course. It is the student's responsibility to make sure that the system is properly configured with all drivers necessary to connect to an Ethernet network.

Some of the course exercises are based on Windows, while others focus on Linux. VMware Player or VMware Workstation is required for the class. If you plan to use a Macintosh, please make sure you bring VMware Fusion, along with a Windows guest virtual machine. All of the VMWare products are available at


You are required to bring Windows 10 (Professional), Windows 8.1 (Professional), Windows 8 (Professional), Windows 7 (Professional, Enterprise, or Ultimate), or Windows Vista (Business, Enterprise, or Ultimate) either on a real system or a virtual machine. You will need administrative access to your Windows computer and the ability to install various software packages, including Python, on that computer.

IMPORTANT NOTE: You may also be required to disable your anti-virus tools temporarily for some exercises, so make sure you have the anti-virus administrator permissions to do so. DO NOT plan on just killing your anti-virus service or processes, because most anti-virus tools still function even when their associated services and processes have been terminated. For many enterprise-managed clients, disabling your anti-virus tool may require a different password than the Administrator account password. Please bring that Administrator password for your anti-virus tool.

The course includes a VMware image file of a guest Linux system that is larger than 15 GB. Therefore, you need a file system with the ability to read and write files that are larger than 15 GB, such as NTFS on a Windows machine.

Enterprise VPN clients may interfere with the network configuration required to participate in the class. If your system has an enterprise VPN client installed, you may need to uninstall it for the exercises in class.


You will use VMware to run Windows and Linux operating systems simultaneously when performing exercises in class. You must have either the free VMware Player or later or the commercial VMware Workstation 8 or later installed on your system prior to coming to class. You can download VMware Workstation Player for free at

Alternatively, if you want a more flexible and configurable tool, you can download a free 30-day trial copy of VMware Workstation here. VMware will send you a time-limited license number for VMware Workstation if you register for the trial on its website. No license number is required for VMware Player.

We will give you a USB full of tools to use during the class (which is yours to keep). We will also provide a Linux image with all of our tools pre-installed that runs within VMware Player or VMware Workstation.


You do not need to bring a Linux system if you plan to use our Linux image in VMware. However, you are required to bring VMware Workstation or VMware Player. The class does not support VirtualPC or other non-VMware virtualization products.

Mandatory Laptop Hardware Requirements

  • x86- or x64-compatible 2.0 GHz CPU minimum or higher
  • An available USB port with the ability to read an ExFat format.
  • 4 GB or higher recommended
  • Ethernet adapter: Students attending a live class will require a wired connection. If your laptop supports only wireless, please make sure to bring a USB Ethernet adapter with you.
  • 15 GB available hard drive space

During the workshop, you will be connecting to one of the most hostile networks on planet earth! Your laptop might be attacked. Do not have any sensitive data stored on the system. SANS is not responsible for your system if someone in the class attacks it in the workshop.

By bringing the right equipment and preparing in advance, you can maximize what you will see and learn - and have a lot of fun doing it!

If you have additional questions about the laptop specifications, please contact

  • Security professionals who benefit from automating routine tasks so they can focus on what's most important
  • Security professionals who are new to coding and want to learn the essentials
  • Experienced coders who are looking for a self-paced, self-taught lab experience that will challenge them with defensive and forensics focused labs.

This two day course starts with the most basic fundamentals of Python programming. There is no aspect of programming or Python that must be understood before attending this course. The lab environment is self-paced and this allows students who have had some experience coding to advance more quickly than those who have not. You are provided a Virtual Machine that gives you the ability to complete the labs that are in your course book after the live course has finished.

Other Courses People Have Taken

Courses that lead in to this two day course:

Courses that are good follow-ups to this two day course:

  • A USB containing a virtual machine filled with sample code and working examples
  • A copy of The Python Pocket Reference by O'Reilly Press

Modify existing open source tools to customize them to meet the needs of your organization.

The Python Essentials Workshop labs: Variables, functions, modules, if/elif/else, for, while, list, and dictionaries

Author Statement

"Good scripting skills are essential to professionals in all aspects of information security. Understanding how to develop your own applications means you can automate tasks and do more, with fewer resources, in less time. The six day version of SEC573 is designed for network defenders, forensics examiners, penetration testers, and other security professionals who want to learn how to apply basic coding skills to do their job more efficiently. This two day course will give those who have never coded before an understanding of the essential elements of Python programming and introduce them to the world of security automation. We will cover the essential skills needed for you to develop applications you can put into use in your place of work."

-Mark Baggett