Learn Python & Ethical Hacking From Scratch

User Avatar
(11 reviews)
All levels
24 hours
$195.00 $99.00

How to write your own hacking programs with Python

Do you want to take your career in cybersecurity to the next level? Do you want to secure your website or mobile app? How about launching a new career in the world of professional penetration testing? If so, this is the course for you.

This course is designed for individuals who want to take their hacking / penetration testing skills to the next level. However, you won’t just finish the course as a more qualified ethical hacker, you’ll also learn valuable Python programming skills you can use anywhere!

The great news is that you don’t need prior knowledge of Python or ethical hacking – I assume you’re starting from scratch. By the end of the course, you’ll be able to combine the skills you’ve learned to hack into computer systems exactly like black hat hackers do.

The difference is, you’ll be doing it for the good of your company or clients. Plus, you’ll benefit from the recognition that comes with being skilled in this high-demand field.

Python Programming and Ethical Hacking course content

Learn sought-after Python programming skills
Discover ethical hacking tools and techniques
Create your own ethical hacking programs
Learn key IT skills

Why is this course so in demand?

Lifetime access to course materials and videos
Set the pace of your own study
Learn the way that best suits you
Get answers from our Support Team within 15 hours
Verifiable zSecurity certificate of completion
Unlimited updates to course materials and videos

Plus! Free 1-month VIP membership with:

Live mentoring and Q&A session with course instructor and CTO, Zaid
Instant support from community members through our private discord channel
Daily updates with the latest tutorials and news from the hacking world
Daily resources like CTFs, bug bounty programs, onion services and more
Access our VIP community and connect with like-minded people
Discounts and offers on other zSecurity products and services

Here's how it works

This course is highly practical but it won’t neglect the theory. We cover the basics of ethical hacking and Python programming at the same time, including installing the software required. Then, we dive in and start programming!

From here, you’ll learn everything by example, including writing useful hacking programs. No dry and boring programming lectures!

The course is divided into sections, each designed to achieve a specific goal. Usually, this is to hack into a particular system, so we learn how the targeted system works, including its weaknesses. You’ll then learn how to write a Python program to exploit these weaknesses and hack the system.

You learn Python programming from scratch, one topic at a time. By the end of the course you’ll have a number of ethical hacking programs you’ve written yourself. This includes backdoors, keyloggers, credential harvesters, network hacking tools and website hacking tools.

That’s not all – you’ll also emerge with a deep understanding on how computer systems work, how to model problems, design algorithms to solve problems and implement the solution using Python.

What do you need to complete the Python Programming and Ethical Hacking course?

Basic Information Technology knowledge
No Linux, programming or hacking knowledge
Computer with a minimum of 4GB RAM/Memory
Operating System: Windows / OS X / Linux
$195.00 $99.00


11 ratings
  • Avatar


    love you bro,but please how to encrypted file and folders on windows

  • Andrew Macmillan

    This is the probably the best method of learning a language I've encountered to date. So many courses have you building random and non-transferable apps, this will not only solidify your understanding of how computer networks work but also teach the language in a way that is rewarding and exciting


  • Introduction 9

    • Lecture1.1
      Teaser 07 min
    • Lecture1.2
      Course Introduction 06 min
    • Lecture1.3
      Introduction to Python Programming & Ethical Hacking 06 min
    • Lecture1.4
      Lab Overview & Needed Software 03 min
    • Lecture1.5
      Installing Kali 2020 as a virtual Machine 11 min
    • Lecture1.6
      Basic Overview of Kali Linux 05 min
    • Lecture1.7
      The Terminal & Linux Commands 11 min
    • Lecture1.8
      Python 2 VS Python 3 & Writing Our First Program 09 min
    • Lecture1.9
      Installing & Using a Python IDE 09 min
  • Writing a MAC Address Changer - Python Basics 13

    • Lecture2.1
      What is MAC Address & How To Change it 08 min
    • Lecture2.2
      Using Python Modules & Executing System Commands 09 min
    • Lecture2.3
      Implementing a Very Basic MAC Changer 05 min
    • Lecture2.4
      Variables & Strings 10 min
    • Lecture2.5
      Using Variables in MAC Changer 04 min
    • Lecture2.6
      Getting Input From The User 06 min
    • Lecture2.7
      Handling User Input 10 min
    • Lecture2.8
      Handling Command-line Arguments 10 min
    • Lecture2.9
      Initialising Variables Based on Command-line Arguments 08 min
    • Lecture2.10
      Python Functions 10 min
    • Lecture2.11
      Returning Values From Functions 07 min
    • Lecture2.12
      Decision Making in Python 07 min
    • Lecture2.13
      Using Conditional Statements in MAC Changer 09 min
  • MAC Changer - Algorithm Design 7

    • Lecture3.1
      Introduction to Algorithms 03 min
    • Lecture3.2
      Reading Output Returned By System Commands 06 min
    • Lecture3.3
      Introduction to Regular Expressions (Regex) 08 min
    • Lecture3.4
      Extracting a Substring Using Regex 07 min
    • Lecture3.5
      Refactoring & Housekeeping 11 min
    • Lecture3.6
      Implementing The Validation Algorithm 06 min
    • Lecture3.7
      Python 3 Compatibility 06 min
  • Programming a Network Scanner 16

    • Lecture4.1
      Introduction & Teaser 10 min
    • Lecture4.2
      Installing Windows as a Virtual Machine 03 min
    • Lecture4.3
      Introduction to ARP 10 min
    • Lecture4.4
      Designing an Algorithm To Discover Clients Connected To The Same Network 04 min
    • Lecture4.5
      Using Scapy To Create an ARP Request 07 min
    • Lecture4.6
      Combining Frames To Broadcast Packets 09 min
    • Lecture4.7
      Sending & Receiving Packets 07 min
    • Lecture4.8
      Introduction Lists in Python 08 min
    • Lecture4.9
      Iterating Over Lists & Analysing Packet 10 min
    • Lecture4.10
      Using Escape Characters To Enhance Program Output 06 min
    • Lecture4.11
      Introduction to Dictionaries in Python 10 min
    • Lecture4.12
      Improving the Program Using a List of Dictionaries 09 min
    • Lecture4.13
      Iterating Over Nested Data Structures 07 min
    • Lecture4.14
      Assignment 1: Get IP Range Using Command Line Arguments
    • Lecture4.15
      Assignment 1 (solution): Get IP Range Using Command Line Arguments – solution
    • Lecture4.16
      Testing The Network Scanner With Python 3 07 min
  • Writing an ARP Spoofer 13

    • Lecture5.1
      What is ARP Spoofing? 06 min
    • Lecture5.2
      Intercepting Data in a Network Using arpspoof 05 min
    • Lecture5.3
      Creating an ARP Response 07 min
    • Lecture5.4
      Sending ARP Responses 05 min
    • Lecture5.5
      Extracting MAC Address From Responses 07 min
    • Lecture5.6
      Introduction to Loops in Python 09 min
    • Lecture5.7
      More on Loops & Counters 08 min
    • Lecture5.8
      Dynamic Printing 07 min
    • Lecture5.9
      Exception Handling in Python 05 min
    • Lecture5.10
      Implementing a Restore Function 12 min
    • Lecture5.11
      Restoring ARP Tables When an Exception Occures 05 min
    • Lecture5.12
      Assignment 2: Fix Dynamic Printing
    • Lecture5.13
      Assignment 2 (solution): Fix Dynamic Printing
  • Writing a Packet Sniffer 8

    • Lecture6.1
      Introduction & Teaser 04 min
    • Lecture6.2
      Sniffing Packets Using Scapy 07 min
    • Lecture6.3
      Extracting data From a Specific Layer 07 min
    • Lecture6.4
      Analysing Sniffed Packets & Extracting Fields From Layers 11 min
    • Lecture6.5
      Analysing Fields & Extracting Passwords 11 min
    • Lecture6.6
      Extracting URLs 08 min
    • Lecture6.7
      Capturing Passwords From Any Computer Connected to the Same Network 08 min
    • Lecture6.8
      Strings & Bytes in Python 3 07 min
  • Writing a DNS Spoofer 9

    • Lecture7.1
      Intercepting Packets – Creating a Proxy 13 min
    • Lecture7.2
      Converting Packets to Scapy Packets 09 min
    • Lecture7.3
      Introduction to DNS Spoofing 07 min
    • Lecture7.4
      Filtering DNS Responses 06 min
    • Lecture7.5
      Analysing & Creating a Custom DNS Response 08 min
    • Lecture7.6
      Modifying Packets On The Fly 08 min
    • Lecture7.7
      Redirecting DNS Responses 06 min
    • Lecture7.8
      Assignment 3: Conversion Between Strings & Bytes
    • Lecture7.9
      Assignment 3 (solution): Conversion Between Strings & Bytes
  • Writing a File Interceptor 8

    • Lecture8.1
      Introduction & Teaser 04 min
    • Lecture8.2
      Filtering Traffic Based on the Port Used 09 min
    • Lecture8.3
      Analysing HTTP Requests 05 min
    • Lecture8.4
      Intercepting HTTP Requests 10 min
    • Lecture8.5
      Modifying HTTP Responses on The Fly 11 min
    • Lecture8.6
      Intercepting & Replacing Downloads on The Network 09 min
    • Lecture8.7
      Assignment 4: Testing The File Interceptor With Python 3
    • Lecture8.8
      Assignment 4 (solution): Testing The File Interceptor With Python 3
  • Writing a Code Injector 15

    • Lecture9.1
      Introduction & Teaser 01 min
    • Lecture9.2
      Analysing HTTP Responses 07 min
    • Lecture9.3
      Replacing a Substring Using Regex 07 min
    • Lecture9.4
      Decoding HTTP Responses 10 min
    • Lecture9.5
      Modifying HTTP Responses & Injecting Javascript Code in HTML Pages 09 min
    • Lecture9.6
      Refactoring & Housekeeping 08 min
    • Lecture9.7
      Debugging Issues in Python 06 min
    • Lecture9.8
      Using Groups & None-capturing Regex 09 min
    • Lecture9.9
      Recalculating Content Length 11 min
    • Lecture9.10
      Assignment 5: Test The Code Injector With Python 3
    • Lecture9.11
      Assignment 5 (solution): Test The Code Injector With Python 3 09 min
    • Lecture9.12
      BeEF Overview & Basic Hook Method 07 min
    • Lecture9.13
      Hooking Computers Using code_injector 05 min
    • Lecture9.14
      Basic BeEF Commands 04 min
    • Lecture9.15
      Delivering Malware Using BeEF 06 min
  • Bypassing HTTPS 4

    • Lecture10.1
      How to Bypass HTTPS 11 min
    • Lecture10.2
      Bypassing HTTPS & Sniffing Login Credentials 08 min
    • Lecture10.3
      Replacing Downloads on HTTPS Pages 11 min
    • Lecture10.4
      Injecting Code in HTTPS Pages 08 min
  • Writing an ARP Spoof Detector 3

    • Lecture11.1
      Running Python Programs on Windows 10 min
    • Lecture11.2
      Capturing & Analysing ARP Responses 07 min
    • Lecture11.3
      Detecting ARP Spoofing Attacks Using Python 08 min
  • Writing Malware 10

    • Lecture12.1
      Introduction & Teaser 02 min
    • Lecture12.2
      Execute System Command Payload 10 min
    • Lecture12.3
      Sending Emails Using Python 11 min
    • Lecture12.4
      Filtering Command Output Using Regex 10 min
    • Lecture12.5
      Stealing WiFi Passwords Saved on a Computer 09 min
    • Lecture12.6
      Downloading Files From Program 08 min
    • Lecture12.7
      Writing Files on Disk 11 min
    • Lecture12.8
      Password Recovery Basics 08 min
    • Lecture12.9
      Stealing Saved Passwords From Remote Computers 08 min
    • Lecture12.10
      Interacting With The File System 10 min
  • Writing Malware - Keylogger 8

    • Lecture13.1
      Introduction & Teaser 04 min
    • Lecture13.2
      Writing a Basic Local Keylogger Using Python 10 min
    • Lecture13.3
      Introduction to Global Variables 08 min
    • Lecture13.4
      Logging Special Keys 07 min
    • Lecture13.5
      Threading & Recursion 11 min
    • Lecture13.6
      Introduction Object Oriented Programming 15 min
    • Lecture13.7
      Constructor Methods & Instance Variables 08 min
    • Lecture13.8
      Logging Key-strikes and Reporting Them By Email 12 min
  • Writing Malware - Backdoors 21

    • Lecture14.1
      Introduction & Teaser 06 min
    • Lecture14.2
      Client – Server Communication & Connection Types 08 min
    • Lecture14.3
      Connecting Two Remote Computers Using Sockets 10 min
    • Lecture14.4
      Sending & Receiving Data Over TCP 05 min
    • Lecture14.5
      Executing System Commands Remotely 10 min
    • Lecture14.6
      Implementing a Server 09 min
    • Lecture14.7
      Implementing Skeleton For Server – Client Communication 07 min
    • Lecture14.8
      Refactoring – Creating a Listener Class 08 min
    • Lecture14.9
      Refactoring – Creating a Backdoor Class 06 min
    • Lecture14.10
      Serialisation – Theory 11 min
    • Lecture14.11
      Serialisation – Implementing Reliable Methods to Send & Receive Data Over TCP 08 min
    • Lecture14.12
      Serialisation – Reliably Sending & Receiving Data 06 min
    • Lecture14.13
      Sending Commands as List & Implementing Exit Command 08 min
    • Lecture14.14
      Interacting With the File System – Implementing “cd” Command 09 min
    • Lecture14.15
      Reading Files Using Python 07 min
    • Lecture14.16
      Writing Files Using Python 07 min
    • Lecture14.17
      Downloading Files From Hacked Computer 08 min
    • Lecture14.18
      Implementing Upload Functionality in Listener 08 min
    • Lecture14.19
      Implementing Upload Functionality in Backdoor 06 min
    • Lecture14.20
      Handling Unknown Exceptions 10 min
    • Lecture14.21
      Using the Backdoor to Hack Windows, Linux & OS X 12 min
  • Writing Malware - Packaging 15

    • Lecture15.1
      Introduction & Teaser 03 min
    • Lecture15.2
      Converting Python Programs To Windows Binary Executables 07 min
    • Lecture15.3
      Running Executables Silentely 07 min
    • Lecture15.4
      Installing Windows Pyinstaller on Linux 08 min
    • Lecture15.5
      Packaging Programs For Windows From Linux 08 min
    • Lecture15.6
      Introduction to Persistence 08 min
    • Lecture15.7
      Running Programs on Startup 15 min
    • Lecture15.8
      Creating a Basic Trojan Using Download & Execute Payload 10 min
    • Lecture15.9
      Creating a Trojan By Embedding Files In Program Code 08 min
    • Lecture15.10
      Bypassing Anti-Virus Programs – Theory 05 min
    • Lecture15.11
      Bypassing Anti-Virus Programs – Practical 09 min
    • Lecture15.12
      Adding an Icon to Generated Executables 05 min
    • Lecture15.13
      Spoofing File Extension 09 min
    • Lecture15.14
      Converting Python Programs To OS X Executables 09 min
    • Lecture15.15
      Converting Python Programs to Linux Executables 07 min
  • Website / Web Application Hacking 3

    • Lecture16.1
      Introduction & Teaser 07 min
    • Lecture16.2
      What is a Website 04 min
    • Lecture16.3
      How to Hack a Website 05 min
  • Website Hacking - Writing a Crawler 9

    • Lecture17.1
      Sending GET Requests To Web Servers 10 min
    • Lecture17.2
      Discovering Website Subdomains Using Python 12 min
    • Lecture17.3
      Discovering Hidden Paths in Websites 11 min
    • Lecture17.4
      Reading Response Content 06 min
    • Lecture17.5
      Extracting Useful Data From Response 07 min
    • Lecture17.6
      Filtering Rsults 07 min
    • Lecture17.7
      Extracting Unique Links & Storing Them In a List 07 min
    • Lecture17.8
      Recursively Discovering All Paths On a Target Website 09 min
    • Lecture17.9
      Testing The Crawler With Python 3 07 min
  • Writing a Program To Guess Login Information 4

    • Lecture18.1
      Sending Post Requests to Websites 12 min
    • Lecture18.2
      Guessing Login Information on Login Pages 09 min
    • Lecture18.3
      Assignment 6: Test The Program With Python 3
    • Lecture18.4
      Assignment 6 (solution): Test The Program With Python 3
  • Writing a Vulnerability Scanner 17

    • Lecture19.1
      Introduction & Teaser 02 min
    • Lecture19.2
      HTTP Requests – POST VS GET 07 min
    • Lecture19.3
      Parsing HTML Code Using Python 08 min
    • Lecture19.4
      Extracting HTML Attributes 10 min
    • Lecture19.5
      Posting Forms 10 min
    • Lecture19.6
      Building Basic Structure For Vulnerability Scanner 11 min
    • Lecture19.7
      Using Default Parameters 05 min
    • Lecture19.8
      Sending Requests in a Session 09 min
    • Lecture19.9
      Extracting & Submitting Forms Automatically 10 min
    • Lecture19.10
      Implementing a Method To Run The Scanner 06 min
    • Lecture19.11
      Discovering XSS Vulnerabilities
    • Lecture19.12
      Exploiting XSS Vulnerabilities
    • Lecture19.13
      Implementing Code To Discover XSS in Forms
    • Lecture19.14
      Implementing Code To Discover XSS in Parameters
    • Lecture19.15
      Automatically Discovering Vulnerabilities Using the Vulnerability Scanner
    • Lecture19.16
      Assignment 7: Test The Vulnerability Scanner With Python 3
    • Lecture19.17
      Assignment 7 (solution): Test The Vulnerability Scanner With Python 3 05 min
  • Bonus Section 1

    • Lecture20.1
      Bonus Lecture – What’s Next??

Your instructor

Zaid Sabih

Ethical Hacker, Pentester & Computer Scientist

Zaid Al-Quraishi is an ethical hacker, computer scientist, and founder of zSecurity. He studied Computer Science at University College Dublin, graduating May 2016. Zaid has a strong background and experience in ethical hacking, starting with video tutorials in 2009 in an ethical hacking community, iSecur1ty.org. He also worked as a penetration tester (pentester) for this company. In 2013 he started teaching his first course online in Arabic which received extremely positive feedback. This motivated him to create an English version of the course. The English course became the most popular and top paid course on Udemy for almost a year, which further motivated Zaid to design and teach more courses on ethical hacking. He now offers a number of courses on ethical hacking and more than 200,000 students on Udemy and other teaching platforms such as StackSocial, StackSkills and zSecurity. Zaid says: "I just love hacking and breaking the rules but don't get me wrong, I am an ethical hacker!"