Udemy

Learn Python & Ethical Hacking From Scratch

Enroll Now
  • 133,343 Students
  • Updated 11/2025
4.5
(21,059 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Language
English
Taught by
Zaid Sabih, z Security
Rating
4.5
(21,059 Ratings)
1 views

Course Overview

Learn Python & Ethical Hacking From Scratch

Write 20+ hacking programs to learn hacking and programming at the same time | No prior knowledge required

Last Update: May 2024

Welcome to my comprehensive course on python programming and ethical hacking. The course assumes you have NO prior knowledge in any of these topics, and by the end of it you'll be at a high intermediate level being able to combine both of these skills to write python programs to hack computer systems exactly the same way that black hat hackers do. That's not all, you'll also be able to use the programming skills you learn to write any program even if it has nothing to do with hacking.

This course is highly practical but it won't neglect the theory, we'll start with basics of ethical hacking and python programming and installing the needed software. Then we'll dive and start programming straight away. You'll learn everything by example, by writing useful hacking programs, no boring dry programming lectures.


The course is divided into a number of sections, each aims to hack a specific system!  You'll first learn how this system works and its weaknesses, then you'll lean how to write a python program to exploit these weaknesses and hack it. As we write the program I will teach you python programming from scratch covering one topic at a time. By the end of the course you're going to have a number of ethical hacking programs written by yourself (see below) from backdoors, keyloggers, credential harvesters, network hacking tools, website hacking tools and the list goes on. You'll also have a deep understanding on how computer systems work, how to model problems, design an algorithm to solve problems and implement the solution using python .


As mentioned in this course you will learn both ethical hacking and programming at the same time, here are some of the topics that will be covered in the course:


Programming topics:

  • Programming in python 2 and 3.

  • Using modules and libraries.

  • Variables, types, etc.

  • Handling user input.

  • Reading and writing files .

  • Functions .

  • Loops .

  • Data structures.

  • Regex.

  • Decision making.

  • Recursion.

  • Threading.

  • Object oriented programming.

  • Packet manipulation using scapy.

  • Netfilterqueue.

  • Socket programming.

  • String manipulation.

  • Exceptions.

  • Serialisation.

  • Compiling programs to binary executables.

  • Sending & receiving HTTP requests.

  • Parsing HTML.

  • + more!

Hacking topics:

  • Basics of network hacking / penetration testing .

  • Changing MAC address & bypassing filtering .

  • Network mapping.

  • ARP Spoofing - redirect the flow of packets in a network.

  • DNS Spoofing - redirect requests from one website to another.

  • Spying network devices / clients.

  • Analysing network traffic such as usernames, passwords, visited urls, etc.

  • Inject code in pages loaded by computerd connected to the same network.

  • Replace files on the fly as they get downloaded by computers on the same network.

  • Detect ARP spoofing attacks.

  • Bypass HTTPS.

  • Create malware for Windows, Apple Mac OS and Linux.

  • Create trojans for Windows, Apple Mac OS and Linux.

  • Hack Windows, Apple Mac OS and Linux using custom backdoors.

  • Bypass Anti-Virus programs.

  • Steal credentials using fake prompts .

  • Display fake updates .

  • Use own keylogger to spy on everything typed on Windows & Linux.

  • Basics of website hacking / penetration testing .

  • Discover subdomains .

  • Discover hidden files and directories in a website .

  • Run wordlist attacks to guess login information .

  • Discover and exploit XSS vulnerabilities .

  • Discover weaknesses in websites using own vulnerability scanner.


Programs you'll build in this course:

You'll learn all the above by implementing the following hacking programs

  • mac_changer - changes MAC Address to anything we want .

  • network_scanner - scans network and discovers the IP and MAC address of connected clients.

  • arp_spoofer - runs an ARP spoofing attack to redirect the flow of packets in the network allowing us to intercept data.

  • packet_sniffer - filters intercepted data and displays usernames, passwords, visited links, etc.

  • dns_spoofer - redirects DNS requests, eg: redirects requests to from one domain to another.

  • file_interceptor - Intercepts downloads and replaces them with any file we want .

  • code_injector - injects code in intercepted HTML pages.

  • arpspoof_detector - detects ARP spoofing attacks.

  • execute_command payload - executes a system command on the computer it gets executed on.

  • execute_and_report payload - executes a system command and reports result via email .

  • download_and_execute payload - downloads a file and executes it on target system .

  • download_execute_and_report payload - downloads a file, executes it, and reports result by email .

  • reverse_backdoor - gives remote control over the system it gets executed on, allows us to

    • Access file system.

    • Execute system commands .

    • Download & upload files.

  • keylogger - records key-strikes and sends them to us by email.

  • crawler - discovers hidden paths on a target website .

  • discover_subdomains - discovers subdomains on target website .

  • spider - maps the whole target website and discovers files, directories and links.

  • guess_login - runs a wordlist attack to guess login information.

  • vulnerability_scanner - scans a target website for weaknesses and produces a report with all findings .


As you build the above you'll learn:

  • Setting up a penetration testing lab to practice hacking safely.

  • Installing Kali Linux and Windows as virtual machines inside ANY operating system.

  • Linux Basics .

  • Linux terminal basics .

  • How networks work .

  • How clients communicate in a network.

  • Address Resolution Protocol - ARP .

  • Network layers.

  • Domain Name System - DNS .

  • Hypertext Transfer Protocol - HTTP .

  • HTTPS .

  • How anti-virus programs work .

  • Sockets.

  • Connecting devices over TCP .

  • Transferring data over TCP .

  • How website work .

  • GET & POST requests.

  • And more!


Checkout the curriculum and the course teaser for more info!


With this course you'll get 24/7 support, so if you have any questions you can post them in the Q&A section and we'll respond to you within 15 hours.


Notes:

  • This course is created for educational purposes only and all the attacks are launched in my own lab or against devices that I have permission to test.

  • This course is totally a product of Zaid Sabih & zSecurity, no other organisation is associated with it or a certification exam. Although, you will receive a Course Completion Certification from Udemy, apart from that NO OTHER ORGANISATION IS INVOLVED.


Course Content

  • 10 section(s)
  • 185 lecture(s)
  • Section 1 Introduction
  • Section 2 Writing a MAC Address Changer - Python Basics
  • Section 3 MAC Changer - Algorithm Design
  • Section 4 Programming a Network Scanner
  • Section 5 Writing an ARP Spoofer
  • Section 6 Writing a Packet Sniffer
  • Section 7 Writing a DNS Spoofer
  • Section 8 Writing a File Interceptor
  • Section 9 Writing a Code Injector
  • Section 10 Bypassing HTTPS

What You’ll Learn

  • 180+ videos (25 hours) on Python programming & ethical hacking
  • Write over 20 hacking and security programs
  • Learn 2 topics at the same time - Python programming & Ethical Hacking
  • No programming, hacking or Linux knowledge required
  • Write programs in Python 2 and 3
  • Write cross platform programs that work on Windows, Apple Mac OS & Linux
  • Have a deep understanding on how computer systems work
  • Install hacking lab & needed software (on Windows, Apple Mac OS and Linux)
  • Start from 0 up to a high-intermediate level
  • Learn by example, by writing exciting programs
  • Model problems, design solutions & implement them using Python
  • Have a strong base & use the skills learned to write any program even if its not related to hacking
  • Understand what is Hacking, what is Programming, and why are they related
  • Design a testing lab to practice hacking & programming safely
  • Interact & use the Linux terminal
  • Understand what MAC address is & how to change it
  • Write a python program to change MAC address
  • Use Python modules and libraries
  • Understand Object Oriented Programming
  • Write object oriented programs
  • Model & design extendable programs
  • Write a program to discover devices connected to the same network
  • Read, analyse & manipulate network packets
  • Understand & interact with different network layers such as ARP, DNS, HTTP ....etc
  • Write a program to redirect the flow of packets in a network (ARP spoofer)
  • Write a packet sniffer to filter interesting data such as usernames and passwords
  • Write a program to redirect DNS requests (DNS Spoofer)
  • Intercept and modify network packets on the fly
  • Write a program to replace downloads requested by any computer on the network
  • Analyse & modify HTTP requests and responses
  • Inject code in HTML pages loaded by computers on the same network
  • Downgrade HTTPS to HTTP
  • Write a program to detect ARP Spoofing attacks
  • Write payloads to download a file, execute command, download & execute, download execute & report .....etc
  • Use sockets to send data over TCP
  • Send data reliably over TCP
  • Write client-server programs
  • Write a backdoor that works on Windows, Apple Mac OS and Linux
  • Implement features in the backdoor such as file system access, upload and download files and persistence
  • Write a remote keylogger that can register all keystrikes and send them by Email
  • Interact with files using python (read, write & modify)
  • Convert python programs to binary executables that work on Windows, OS X and Linux
  • Convert malware to torjans that work and function like other file types like an image or a PDF
  • Bypass Anti-Virus Programs
  • Understand how websites work, the technologies used and how to test them for weaknesses
  • Send requests towebsites and analyse responses
  • Write a program that can discover hidden paths in websites
  • Write a program that can map websites and discover all links, subdomains, files and directories
  • Extract and submit forms using python
  • Run dictionary attacks and guess login information on login pages
  • Analyse HTML using Python
  • Interact with websites using Python
  • Write a program that can discover vulnerabilities in websites


Reviews

  • A
    Aditya Ranjan Swain
    5.0

    Honestly one of the best entry to mid level cyber security courses out there . After successfully finishing this , 2 times , i can say my fundamentals and overall usecase of different functions , libraries and tools has increased . This is how you teach , explaining the real process line by line step by step ( even the most redundant ones) so that everyone regardless of coding proficiency or cyber sec knowledge can know and learn ,a lot from this . Looking forward to more courses from Zaid .

  • O
    Omar Jasso
    5.0

    Easy to follow and resources help a lot very top honest quality

  • C
    Chihwah Li
    4.5

    Teacher shows and explains line by line what it does. Any beginner in programming will be able to follow. Teaches IP network, MAC address, Middle man attack. Uses Kali, to teach. But I recommend a standard linux ISO for this. Reason: security reasons, Kali is dangerous to use because it's security is lowered to make it sensitive to many attacks. Also, if you use a standard Linux ISO, you will learn a lot about it. Because by default you need to change some settings to make it work for this course, that gives you more experience how change default secure Linux settings like firewall, etc. Suggest you directly program in Python 3, because Python 3 modules has solved bugs that previously were in python 2. Just using 1 python version does make your life easier as a beginner. No need to work with virtual python environments. So less to learn, and can focus upon 1 thing at a time. If your program does not work, look into thee last video of the current course, it gives you an idea how to convert from python 2 to python 3 code. Also, many students have given tips that will help you solve one of your coding problems.

  • S
    Sean Santiago
    3.5

    This is a pretty cool course and I’ve learned a lot from it. The techniques are very solid, however, much of the course is outdated and it was originally created during a time when Python2 was the most recent version of Python. Since then there are many libraries, etc that just don’t work the way they do in the videos and require some research and modification. It can be kind of frustrating at times, but ultimately I’m learning some really good information. I would recommend they redo this course at this point to make it more modern and easier to follow.

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed