O'Reilly logo
live online training icon Live Online training

Linux, Python, and Bash Scripting for Cybersecurity Professionals

Omar Santos

Numerous cybersecurity jobs require a solid background in programming, Linux, and scripting languages. In this fast-paced and hands-on course you will learn several fundamental skills that you need to master to be competitive in today’s cybersecurity job market.

Having working knowledge of Linux, Python programming, and Bash scripting will help you become a better cybersecurity professional. This course also helps students that are preparing for hands-on cybersecurity certifications like the Offensive Security Certified Professional (OSCP), Certified Ethical Hacker (CEH) Practical, Licensed Penetration Tester (LPT), and several GIAC certifications. This course starts with an introduction to Linux, Python, and the Bash shell and then immediately dives into several hands-on lab scenarios where you will learn the details about Linux user and group accounts; Linux file permissions, networking, processes, and logs for incident response. In addition, you will learn how to create Linux-based firewalls and deploy open source Intrusion Prevention Systems (IPS). You will learn how to get started with Python, how to create your own network scanner and network sniffer using Python. You will learn several tips for post exploitation activities using Python. In this course, you will also learn how to use Bash scripting for penetration testing and for incident response.

What you'll learn-and how you can apply it

  • Learn essential Linux fundamentals, tips, and other references required for a cybersecurity career.
  • Learn about many native libraries and Python bindings available specifically for penetration testing and other cybersecurity tasks.
  • Learn how to interpret and create Bash shell scripts for parsing logs, incident response, penetration testing, and other cybersecurity tasks.

This training course is for you because...

You are interested in cybersecurity or any of the following cybersecurity careers: - IT Security Analyst - Network Security Analyst - Information Security or Cybersecurity Analyst - Ethical Hacker / Penetration Tester - Data Security Engineer - Digital Forensics and Incident Response (DFIR) Professional - Malware Reverse Engineer


Course participants should have a basic understanding of computing and networking. The following books and video courses provide a good overview of cybersecurity and Linux fundamentals that are prerequisites for this course:

Course Set-up

This is a hands-on course. Please access the following site to download and install the required virtual machine (VM) at: https://lpb.h4cker.org

Recommended Preparation

Recommended Follow-up

About your instructor

  • Omar Santos is a Principal Engineer in the Cisco Product Security Incident Response Team (PSIRT) within Cisco's Security Research and Operations. He mentors and leads engineers and incident managers during the investigation and resolution of security vulnerabilities in all Cisco products, including cloud services. Omar has been working with information technology and cyber security since the mid-1990s. Omar has designed, implemented, and supported numerous secure networks for Fortune 100 and 500 companies and the U.S. government. He is an active member of the security community, where he leads several industry-wide initiatives and standard bodies. Omar is often delivering technical presentations at many conferences and he is the author of over 15 books and video courses.


The timeframes are only estimates and may vary according to how the class is progressing

Segment 1: Introduction and Course Setup Length: 15 minutes

Segment 2: Understanding Linux User and Group Accounts Length: 20 minutes

Segment 3: Exploring the Linux File Permissions Length: 20 minutes

Break: 10 minutes

Segment 4: Introduction to Linux Networking Length: 15 minutes

Segment 5: Understanding Linux Processes and Logs for Incident Response Length: 20 minutes

Segment 6: Linux Firewalls and Intrusion Prevention Systems Length: 20 minutes

Break: 10 minutes

Segment 7: Labs and References to Get Started with Python Length: 15 minutes

Segment 8: Writing a Network Scanner using Python Length: 20 minutes

Segment 9: Writing a Packet Sniffer in Python Length: 20 minutes

Break: 10 minutes

Segment 10: Post Exploitation Activities Using Python Length: 20 minutes

Segment 11: Using Bash for Penetration Testing Length: 20 minutes

Segment 12: Using Bash for Incident Response Length: 20 minutes