Booking options
£13.99
£13.99
On-Demand course
24 hours 35 minutes
All levels
This course is designed to help you understand the basic and advanced concepts of ethical hacking with ease. The course features interesting examples and coding activities in each video to keep you engaged and guides you effectively through writing programs to hack a system.
Are you intrigued by how hackers hack into any computer system easily? Do you want to develop the same skills, but not sure where to start? Don't worry! This course has got you covered. By combining the power of Python and ethical hacking skills, this course shows you how to write Python programs to break into any computer system with ease. The course starts with the fundamentals of ethical hacking and Python programming and guides you through the installation process of the software needed. Once the setup is ready, you will learn Python programming from scratch and start writing hacking programs without any delay. You will learn how a system works and find its weaknesses and will learn how to then write a Python program to exploit those weaknesses to hack the system. To master the craft of hacking, you will learn to write ethical hacking programs from backdoors, keyloggers, credential harvesters, network hacking tools, website hacking tools, the list goes on. You will also have gained a deep understanding of how computer systems work and how to model problems, design an algorithm to solve problems, and implement solutions using Python. By the end of this course, you will be well-versed with Python programming and will have developed the skills to write programs in Python to hack a system. All the code files are placed at https://github.com/PacktPublishing/Learn-Python-and-Ethical-Hacking-From-Scratch
Become confident in writing programs in Python 2 and 3
Write a backdoor program that works on Windows, OS X, and Linux
Write a program that can discover vulnerabilities in websites
Convert malware to Trojans that take the form of an image or a PDF
Find out techniques to bypass anti-virus programs
Run dictionary attacks and guess login information on login pages
If you are new to ethical hacking or Python programming and are eager to learn to hack into systems by writing programs in Python, this course is for you.
No prior programming or hacking knowledge is needed to get started with this course.
Designed by experts, this course is for beginners as well as experienced users looking to take their ethical hacking and Python skills to the next level. It follows a practical approach and takes you through the fundamentals and advanced concepts by making you write hacking programs.
Get to grips with ethical hacking and Python programming * Write over 20 ethical hacking and security programs * Understand how websites work, the technologies used, and how to test them for weaknesses
https://github.com/packtpublishing/learn-python-and-ethical-hacking-from-scratch
Zaid Sabih is an ethical hacker, a computer scientist, and the founder and CTO of zSecurity. He has valuable experience in ethical hacking-he started working as a pentester with iSecurity. In 2013, he started teaching his first network hacking course-which received amazing feedback-leading him to publish a number of online ethical hacking courses, each focusing on a specific topic, all of which are dominating ethical hacking. Now, Zaid has more than 300,000 students worldwide.
1. Introduction
This section provides a brief introduction to the course.
1. Introduction This video provides an introduction to how the course is structured, the different sections of the course, and what you will learn in it. |
2. Teaser This video explains what you will learn by the end of this course. You will learn how to use the arp_spoof and packet_sniffer programs to steal usernames and passwords entered by any computer on the same network, use the backdoor to remotely hack a Windows machine, and use the vulnerability_scanner program to discover weaknesses in a website. |
3. Introduction to Python Programming and Ethical Hacking This video provides an introduction to Python programming and ethical hacking. It also helps you understand the need for programming and hacking. |
4. Lab Overview This video explains how to use a number of operating systems, such as Kali for hacking and two others as victims or target machines. You will learn how to install these machines as virtual machines inside your current operating system, which will allow you to use all the machines at the same time. This will also help you to completely isolate these machines from your main machine; therefore, your main machine will not be affected if anything goes wrong. The video also provides an overview of the lab that we will need to set up for this course. |
5. Initial Preparation This video talks about the initial preparations required before getting your hands dirty. |
6. Installing Kali Linux as a VM on Windows This video helps in installing Kali Linux as a VM on Windows machine. |
7. Installing Kali Linux as a VM on Apple Mac OS This video helps in installing Kali Linux as a VM on Apple Mac operating system. |
8. Installing Kali Linux as a VM on Linux This video helps in installing Kali Linux as a VM on Linux machine. |
9. Basic Overview of Kali Linux This video provides an overview of Kali Linux and explains how to use its main applications, browse files, connect to the Internet, and more. |
10. Terminal and Linux Commands This video shows how to interact with the Linux terminal and run Linux commands. |
11. Python 2 Versus Python 3 and Writing Your First Program This video illustrates the difference between Python 2 and Python 3 and explains how to write your first program. |
12. Installing and Using a Python Integrated Development Environment (IDE) This video explains how to install a Python IDE and how to use it to write Python programs. |
2. Writing a Media Access Control (MAC) Address Changer - Python Basics
This section helps you to learn the basics of Python.
1. What is Media Access Control (MAC) Address and How to Change it? This video explains the concept of MAC address and how to change it using Kali Linux. |
2. Using Python Modules and Executing System Commands This video explains how to use Python modules and how to use the subprocess module to execute system commands from Python. |
3. Implementing a very Basic Media Access Control (MAC) Changer This video explains how to write a basic program to change the MAC address. |
4. Variables and Strings This video introduces you to variables and strings and explains how to initialize them and use them in code. |
5. Using Variables in a Media Access Control (MAC) Changer This video explains how to use the variables in a MAC Changer to set the interface name and use a variable value for the MAC address. |
6. Getting Input from the User This video shows how to use Python to ask the user to input values and use this value to initialize a variable. |
7. Handling User Input This video explains how to use values entered by the user in the Python program. |
8. Handling Command-Line Arguments This video shows how to implement command-line arguments in your Python program. |
9. Initializing Variables Based on Command-Line Arguments This video explains how to use the arguments given by the user in the Python program. |
10. Functions in Python This video introduces you to functions in Python. |
11. Returning Values from Functions This video shows how to return values from functions and use them in your Python program. |
12. Decision Making in Python This video introduces you to decision making in Python. You will also learn the different types of if statements that can be used to make decisions at run time and control the program flow. |
13. Using Conditional Statements in Media Access Control (MAC) Changer This video explains how to use conditional statements in a MAC Changer. |
3. Media Access Control (MAC) Changer - Algorithm Design
This section takes you through MAC Changer's algorithm design.
1. What is an Algorithm? This video introduces you to algorithm design and explains how to design an algorithm. |
2. Reading Output Returned by System Commands This video shows how to execute system commands and read the results using Python. |
3. Regular Expressions (Regex) This video introduces you to regex. As an example, you will learn how to use regex to extract a substring from a larger string. |
4. Extracting a Substring Using Regex This video explains how to use regex to extract a substring from a larger string. |
5. Refactoring and Housekeeping This video explains the concepts of refactoring and housekeeping. |
6. Implementing the Algorithm to Check the Media Access Control (MAC) Changer This video explains how to implement the algorithm we designed in the first video. |
7. Python 3 Compatibility This video explains how to test Python 2 programs compatibility with Python 3 and fix the conflicts to work smoothly with Python 3. |
4. Programming a Network Scanner
This section focuses on network scanners.
1. Introduction and Teaser This video provides an introduction to this course, explains what we want to achieve, and shows a teaser of a program that we want to mimic. |
2. Installing Windows as a Virtual Machine This video shows how to set up a Windows virtual machine so that we can try and hack into it to practice penetration testing. |
3. What is the Address Resolution Protocol (ARP) and What is it Used For? This video explains the concept of ARP and its uses. |
4. Designing an Algorithm to Discover Clients Connected to the Same Network This video focuses on the Address Resolution Protocol (ARP) and how it is used to design an algorithm to discover clients connected to the same network. |
5. Using Scapy to Create an Address Resolution Protocol (ARP) Request This video explains how to use Scapy to create an ARP request. |
6. Combining Frames to Broadcast Packets This video shows how to send a broadcast request using Scapy. |
7. Sending and Receiving Packets This video explains how to send an Address Resolution Protocol (ARP) packet and receive its response. |
8. Introduction to Lists in Python This video introduces you to the list data structure in Python, as an example you'll learn how to store the discovered clients in a list. |
9. Iterating over Lists and Analyzing Packet This video shows how to use a loop to iterate over list entries. |
10. Using Escape Characters to Enhance Program Output This video explains how to access values in a list and use escape characters to display values nicely. |
11. Dictionaries This video introduces you to dictionaries and explains how to use them in the network scanner to store data for the discovered clients. |
12. Improving the Program Using a List of Dictionaries This video provides an example of using nested data structures. You will also learn to use a list of dictionaries to organize the discovered clients and their related information. |
13. Iterating over Nested Data Structures This video provides some programming practices to keep the code clean, readable, and extendable. |
14. Testing the Network Scanner With Python 3 This video will highlight some of the changes that you need to be aware of when using Scapy with Python 3. |
5. Writing an Address Resolution Protocol (ARP) Spoofer
This section focuses on ARP spoofer.
1. What is Address Resolution Protocol (ARP) Spoofing? This video explains the concept of an ARP spoofing attack, why it is possible, and how it can be used. |
2. Redirecting the Flow of Packets in a Network Using arpspoof This video explains how to redirect the flow of packets in a network using the arpspoof tool. |
3. Creating an Address Resolution Protocol (ARP) Response This video shows how to create an ARP response using Scapy in Python. |
4. Sending Address Resolution Protocol (ARP) Responses This video shows how to send an ARP response. |
5. Extracting Media Access Control (MAC) Address from Responses This video shows how to use Python to extract the MAC address value from ARP responses. |
6. Loops This video introduces you to loops in Python. |
7. More on Loops and Counters This video explains how to use an infinite loop to send Address Resolution Protocol (ARP) spoofing responses and prominently intercept packets in the network. |
8. Dynamic Printing This video focuses on printing, strings, and special characters to dynamically print data on a screen. |
9. Handling Exceptions This video shows how to catch exceptions in Python. |
10. Implementing a Restore Function This video explains how to implement a restore function to restore the Address Resolution Protocol (ARP) table of targets when we quit the program. |
11. Restoring Address Resolution Protocol (ARP) Tables When an Exception Occurs This video shows how to invoke the restore function when an exception appears. |
6. Writing a Packet Sniffer
This section focuses on packet sniffers.
1. Introduction and Teaser This video provides an introduction to packet sniffing and shows you a teaser of the program we want to build. |
2. Sniffing Packets Using Scapy This video explains how to sniff packets using Scapy. |
3. Extracting Data from a Specific Layer This video shows how to filter sniffed packets and extract data sent over the HTTP layer. |
4. Analyzing Sniffed Packets and Extracting Fields from Layers This video explains how to access field values in the packet layer. |
5. Analyzing Fields and Extracting Passwords This video explains how to extract data from specific fields. |
6. Extracting URLs This video explains how to extract URLs and display them on the screen. |
7. Capturing Passwords from any Computer Connected to the Same Network This video explains how to use the Address Resolution Protocol (ARP) spoof program to intercept packets, sniff the intercepted packets, and display the usernames, passwords, and visited URLs. |
8. Strings and Bytes in Python 3 This video highlights one of the main changes that Python 3 brought: the separation between bytes and strings. You will also learn the implications of this and how to convert strings to bytes and vice-versa. |
7. Writing a Domain Name Server (DNS) Spoofer
This section focuses on DNS spoofer.
1. Intercepting Packets - Creating a Proxy This video explains how to create a proxy using Python so we can trap the intercepted packets, modify them, and then forward them. |
2. Converting Packets to Scapy Packets This video explains how to convert intercepted packets into Scapy packets so we can modify them later. |
3. What is Domain Name Server (DNS) Spoofing? This video explains the concept of DNS spoofing, how it works, and what it is used for. |
4. Filtering Domain Name Server (DNS) Responses This video explains how to analyze DNS responses. |
5. Analyzing and Creating a Custom Domain Name Server (DNS) Response This video shows how to create a custom DNS response using Scapy. |
6. Modifying Packets on the Fly This video shows how to modify intercepted DNS responses and replace them with the one we created. |
7. Redirecting Domain Name Server (DNS) Responses This video explains how to redirect DNS responses. |
8. Writing a File Interceptor
This section focuses on file interceptors.
1. Introduction and Teaser This video provides an introduction to this section and explains how to write a Python program to replace downloads on the network. It also provides a general idea of what we want to achieve and shows you a teaser of the program. |
2. Filtering Traffic Based on Port Used This video explains how to filter Scapy packets based on the port they are sent from/to. |
3. Analyzing HTTP Requests This video explains how to analyze HTTP requests. |
4. Intercepting HTTP Requests This video shows how to intercept HTTP requests. |
5. Modifying HTTP Responses on the Fly This video shows how to modify HTTP responses. |
6. Intercepting and Replacing Downloads on the Network In this video, you'll use the program you wrote to replace files downloaded by any user with any file you want. |
9. Writing a Code Injector
This video focuses on code injectors.
1. Introduction and Teaser This video provides an introduction to this section and shows you a teaser of the program we want to build. |
2. Analyzing HTTP Responses This video explains how to analyze HTTP responses. |
3. Replacing a Substring Using Regex This video focuses on regex and explains how to use it to replace a substring within a bigger string. |
4. Decoding HTTP Responses This video explains how to decode HTTP responses so we can read them and modify them. |
5. Modifying HTTP Responses and Injecting JavaScript Code in HTML Pages This video explains how to inject a very simple JavaScript code in HTML pages. |
6. Refactoring and Housekeeping This video explains the concept of refactoring and housekeeping. |
7. Debugging Issues This video explains how to debug some issues in the code injector. |
8. Using Groups and Non-Capturing Regex This video focuses on regex and explains how to use non-capturing groups. |
9. Recalculating Content Length This video shows how to recalculate the content length after modifying the page code. |
10. Browser Exploitation Framework (BeEF) Overview and Basic Hook Method This video provides an overview of the interface and explains how to start the BeEF framework and create a hook page and hook targets on it. |
11. Hooking Computers Using Code Injector This video shows how to use the program we made in this section to automatically hook browsers to the Browser Exploitation Framework (BeEF). |
12. Basic Browser Exploitation Framework (BeEF) Commands This video shows how to run some basic BeEF commands. |
13. Delivering Malware Using the Browser Exploitation Framework (BeEF) This video explains how to use BeEF to deliver malware to a target using fake update notifications. |
10. Bypassing HTTPS
This section focuses on bypassing HTTPS.
1. How to Bypass HTTPS? This video explains how to downgrade HTTPS to HTTP. |
2. Bypassing HTTPS and Sniffing Login Credentials This video explains how to use the packet_sniffer program to sniff data from HTTPS pages. |
3. Replacing Downloads on HTTPS Pages This video shows how to use the replace_downloads program to replace files downloaded from HTTPS links. |
4. Injecting Code into HTTPS Pages This video explains how to use the code injector program to inject code in HTML pages that use HTTPS. |
11. Writing an Address Resolution Protocol (ARP) Spoof Detector
This section explains how to write an ARP spoof detector.
1. Running Python Programs on Windows This video demonstrates how to install a Python interpreter on Windows and explains how to run Python programs on Windows. |
2. Capturing and Analyzing Address Resolution Protocol (ARP) Responses This video shows how to capture and analyze ARP responses. |
3. Detecting Address Resolution Protocol (ARP) Spoofing Attacks This video shows how to detect ARP spoofing attacks. |
12. Writing Malware
This section explains how to write malware.
1. Introduction This video provides an introduction to this section. |
2. Executing a System Command Payload This video explains how to write a simple payload that executes a system command on the machine it gets executed on. |
3. Sending Reports by Email This video shows how to send emails from Python. |
4. Filtering Command Output Using Regex This video explains how to filter command output using regex. |
5. Stealing Wi-Fi Passwords Saved on a Computer This video shows how to steal saved Wi-Fi passwords. |
6. Downloading Files from a Program This video explains how to make a GET request and download a file using Python. |
7. Writing Files on a Disk This video explains how to write files on a disk using Python. |
8. Password Recovery Basics This video explains how to recover saved passwords from Windows and Linux using a password recovery tool called LaZagne. |
9. Using All the Above to Steal Saved Passwords Remotely This video explains how to write a code to download LaZagne, execute, and report it to steal the saved passwords from a Windows computer. |
10. Interacting with the File System This video explains how to interact with the file system using Python. |
13. Writing Malware - Keylogger
This section focuses on keylogger.
1. Introduction and Teaser This video provides an introduction to this section and shows you a teaser of what we want to build in this section. |
2. Writing a Basic Local Keylogger This video explains how to implement a basic local keylogger. |
3. Global Variables This video introduces you to global variables and explains how to use a global variable to store all keystrokes entered. |
4. Logging Special Keys This video explains how to capture and log to special keys. |
5. Threading and Recursion This video introduces you to threading and recursion by using it in the keylogger to call the report function periodically. |
6. Object-Oriented Programming (OOP) Basics This video introduces you to OOP basics. |
7. Constructor Methods and Instance Variables This video introduces you to constructors and instance variables. |
8. Logging Keystrokes and Reporting Them by Email This video explains how to log keystrokes and report them by email. |
14. Writing Malware - Backdoors
This section focuses on backdoor malware.
1. Introduction and Teaser This video provides an introduction to this section and shows you a teaser of the backdoor that we want to build in this section. |
2. Client-Server Communication and Connection Types This video covers the basics of how to establish a connection between two computers. |
3. Connecting Two Remote Computers Using Sockets This video explains how to use sockets to establish a Transmission Control Protocol (TCP) connection between two devices. |
4. Sending and Receiving Data over Transmission Control Protocol (TCP) This video shows how to use sockets to transfer data over TCP. |
5. Executing System Commands Remotely This video explains how to remotely execute system commands on a target computer using a backdoor. |
6. Implementing a Server This video explains how to create a server using sockets. |
7. Implementing Skeleton for Server-Client Communication This video explains how to implement a skeleton for a server used to establish a connection, send commands, and receive the result. |
8. Refactoring - Creating a Listener Class This video explains how to refactor a listener class. |
9. Refactoring - Creating a Backdoor Class This video explains how to refactor a backdoor class. |
10. Serialization - Theory This video focuses on the Transmission Control Protocol (TCP) and discusses a major issue related to transferring data over TCP. |
11. Serialization - Implementing Reliable Methods to Send and Receive Data over Transmission Control Protocol (TCP) This video explains how to use JSON to reliably transfer data over TCP. |
12. Serialization - Reliably Sending and Receiving Data This video explains how to use JSON to reliably transfer and receive data over TCP. |
13. Sending Commands as List and Implementing the Exit Command This video shows how to send commands as a list and implement the exit command. |
14. Interacting with the File System - Implementing the "cd" Command This video shows how to interact with the file system using the "cd" command. |
15. Reading Files This video shows how to read files and store their data in Python. |
16. Writing Files This video shows how to write files using Python. |
17. Downloading Files from a Hacked Computer This video explains how to download files from a hacked computer. |
18. Implementing Upload Functionality Using Listener This video explains how to implement a feature that allows us to upload files to a remote computer using the listener code. |
19. Implementing Upload Functionality Using Backdoor This video explains how to implement a feature that allows us to upload files to a remote computer using the backdoor code. |
20. Handling Unknown Exceptions This video explains how to handle unknown exceptions. |
21. Using the Backdoor to Hack Windows, Linux, and OS X This video shows how to test the backdoor and the features we implement by hacking Windows, Linux, and OS X. |
22. Testing the Backdoors with Python 3. This video explains how to test the backdoor with Python 3. |
15. Writing Malware - Packaging
This section focuses on packaging.
1. Introduction and Teaser This video provides an introduction to this section and shows a teaser of some of the things that you will be able to do by the end of this section. |
2. Converting Python Programs to Windows Binary Executables This video explains how to convert Python programs to Windows executables that work on any Windows computer even if it does not have a Python interpreter. |
3. Running Executables Silently This video explains how to run the converted executables silently. |
4. Installing Windows PyInstaller on Linux This video demonstrates how to install PyInstaller on Linux. |
5. Packaging Programs for Windows from Linux This video explains how to use Linux to convert Python programs to Windows. |
6. Persistence Idea This video explains the concept of persistence and how it can be achieved on Windows. |
7. Running Programs on Startup This video explains how to run programs when the system restarts. |
8. Creating a Basic Trojan Using the Download and Execute Payload This video shows how to use the download and executed payload to create a Trojan. |
9. Creating a Trojan by Embedding Files in Program Code This video explains how to create a Trojan by embedding files with the Python programs. |
10. Bypassing Anti-Virus Programs - Theory This video explains how anti-virus programs work and how to bypass them. |
11. Bypassing Anti-Virus Programs - Practical This video explains how to bypass an anti-virus program with the help of a practical example. |
12. Adding an Icon to Generated Executables This video shows how to add an icon to the Python programs you execute. |
13. Spoofing File Extension This video explains how to spoof the file extension and makes it seem like the file has a different extension. |
14. Converting Python Programs to OS X Executables This video explains how to convert Python programs to OS X executables. |
15. Converting Python Programs to Linux Executables This video explains how to convert Python programs to Linux executables. |
16. Website/Web Application Hacking
This section focuses on website/web application hacking.
1. Introduction This video provides an introduction to this section. |
2. What is a Website? This video explains the concept of a website, what it contains, and how it works. |
3. How to Hack a Website? This video explains the various methods and approaches that can be used to hack a website. |
17. Website Hacking - Writing a Crawler
This section focuses on web crawlers.
1. Sending GET Requests to Web Servers This video explains how to communicate with a website from Python and sends GET requests. |
2. Discovering Subdomains This video explains how to write a program that can discover subdomains related to a target domain. |
3. Discovering Hidden Paths on Websites This video explains how to write a program to discover hidden files and directories. |
4. Reading Response Content This video shows how to read the response sent by the web server. |
5. Extracting Useful Data from Responses This video shows how to analyze responses sent by web servers and extract useful data. |
6. Filtering Results This video shows how to filter extracted data. |
7. Extracting Unique Links and Storing Them in a List This video explains how to extract unique links and place them in a list. |
8. Recursively Discovering All Paths on a Target Website This video explains how to discover all paths on a target website. |
9. Testing the Crawler with Python 3 This video explains how to test the crawler with Python 3. |
18. Writing a Program to Guess Login Information
This section explains how to write a program to guess login information.
1. Sending POST Requests for Websites This video explains how to send POST requests to a website using Python. |
2. Guessing Login Information on Login Pages This video explains how to write a program that uses a wordlist attack to guess the login information on any login page. |
19. Writing a Vulnerability Scanner
This video focuses on vulnerability scanner.
1. Introduction and Teaser This video provides an introduction to this section and shows you a teaser of the program we want to build in this section. |
2. HTTP Requests - POST versus GET This video focuses on the HTTP GET and POST requests and how they can be used to communicate with websites. |
3. Parsing the HTML Code This video explains how to use BeautifulSoup to parse HTML code. |
4. Extracting HTML Attributes This video explains how to use BeautifulSoup to extract HTML attributes. |
5. Posting Forms This video shows how to set form input and post it using Python. |
6. Building Basic Structure for a Vulnerability Scanner This video explains how to build a skeleton for the vulnerability scanner that we want to implement. |
7. Using Default Parameters This video explains the concept of default parameters and how to use them. |
8. Sending Requests in a Session This video explains how to start a session and communicate with websites using this session so that we can use Python to login and interact with web applications like normal users. |
9. Extracting and Submitting Forms Automatically This video explains how to implement code in the vulnerability scanner to automatically extract forms from pages and submit them. |
10. Implementing a Method to Run the Scanner This video explains how to implement a generic method to run a vulnerability scanner. |
11. Discovering Cross-Site Scripting (XSS) Vulnerabilities This video introduces XSS vulnerabilities. It also covers the different types of XSS vulnerabilities and shows you how to discover them. |
12. Exploiting Cross-Site Scripting (XSS) Vulnerabilities This video shows how to exploit XSS vulnerabilities. |
13. Implementing Code to Discover Cross-Site Scripting (XSS) in Forms This video explains how to write a code in the vulnerability scanner to discover XSS vulnerabilities in forms. |
14. Implementing Code to Discover Cross-Site Scripting (XSS) in Parameters This video explains how to write a code in the vulnerability scanner to discover XSS vulnerabilities in parameters. |
15. Automatically Discovering Vulnerabilities Using the Vulnerability Scanner This video explains how to use a vulnerability scanner to test a website and discover its weaknesses. |