• Professional Development
  • Medicine & Nursing
  • Arts & Crafts
  • Health & Wellbeing
  • Personal Development

Course Images

Learn Python and Ethical Hacking from Scratch

Learn Python and Ethical Hacking from Scratch

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 24 hours 35 minutes

  • All levels

Description

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

What You Will Learn

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

Audience

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.

Approach

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.

Key Features

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

Github Repo

https://github.com/packtpublishing/learn-python-and-ethical-hacking-from-scratch

About the Author
Zaid Sabih

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.

Course Outline

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.

Course Content

  1. Learn Python and Ethical Hacking from Scratch

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews