Learn Python & Ethical Hacking From Scratch

Learn Python & Ethical Hacking From Scratch

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 24.5 Hours | 12.5 GB

Start from 0 & learn both topics simultaneously from scratch by writing 20+ hacking programs

Welcome this great course where you’ll learn python programming and ethical hacking at the same time, 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 and write python programs to hack into computer systems exactly the same way that black hat hackers do, not only that but you’ll be able to use the programming skills you learn here 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, so we’ll start with covering some basics about ethical hacking and python programming, installing the needed software and then we’ll dive and start programming straight away. From here onwards you’ll learn everything by example, by writing useful hacking programs, so we’ll never have any boring dry programming lectures.

The course is divided into a number of sections each aims to achieve a specific goal, the goal is usually to hack into a certain system, so we’ll start by learning how this system work, the weaknesses of this system, and then you’ll lean how to write a python program to exploit these weaknesses and hack the system, as we write the program I will teach you python programming from scratch covering one topic at a time, so 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, not only that but 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, so here are some of the topics that will be covered in the course:

Programming topics:

  • Writing programs for python 2 and 3.
  • Using modules and libraries.
  • Variables, types …etc.
  • Handling user input.
  • Reading and writing files.
  • Functions.
  • Loops.
  • Data structures.
  • Regex.
  • Desiccation 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 on any client connected to the network – see usernames, passwords, visited urls ….etc.
  • Inject code in pages loaded by any computer connected to the same network.
  • Replace files on the fly as they get downloaded by any computer on the same network.
  • Detect ARP spoofing attacks.
  • Bypass HTTPS.
  • Create malware for Windows, OS X and Linux.
  • Create trojans for Windows, OS X and Linux.
  • Hack Windows, OS X and Linux using custom backdoor.
  • Bypass Anti-Virus programs.
  • Use fake login prompt to steal credentials.
  • Display fake updates.
  • Use own keylogger to spy on everything typed on a Windows or OS X computer.
  • Learn the 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 all 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 shows usernames, passwords, visited links ….etc
  • dns_spoofer – redirects DNS requests, eg: redirects requests to from one domain to another.
  • file_interceptor – replaces intercepted files 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 all 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!

So by the end of the course you’re going to have programming skills to write any program even if it has nothing to do with hacking, but you’ll learn programming by programming hacking tools!

Table of Contents

Introduction
1 Teaser
2 Course Introduction
3 Introduction to Python Programming Ethical Hacking
4 Lab Overview Needed Software
5 Installing Kali 2020 as a virtual Machine
6 Basic Overview of Kali Linux
7 The Terminal Linux Commands
8 Python 2 VS Python 3 Writing Our First Program
9 Installing Using a Python IDE

Writing a MAC Address Changer – Python Basics
10 What is MAC Address How To Change it
11 Using Python Modules Executing System Commands
12 Implementing a Very Basic MAC Changer
13 Variables Strings
14 Using Variables in MAC Changer
15 Getting Input From The User
16 Handling User Input
17 Handling Command-line Arguments
18 Initialising Variables Based on Command-line Arguments
19 Python Functions
20 Returning Values From Functions
21 Decision Making in Python
22 Using Conditional Statements in MAC Changer

MAC Changer – Algorithm Design
23 Introduction to Algorithms
24 Reading Output Returned By System Commands
25 Introduction to Regular Expressions (Regex)
26 Extracting a Substring Using Regex
27 Refactoring Housekeeping
28 Implementing The Validation Algorithm
29 Python 3 Compatibility

Programming a Network Scanner
30 Introduction Teaser
31 Installing Windows as a Virtual Machine
32 Introduction to ARP
33 Designing an Algorithm To Discover Clients on The Same Network
34 Using Scapy To Create an ARP Request
35 Combining Frames To Broadcast Packets
36 Sending Receiving Packets
37 Introduction Lists in Python
38 Iterating Over Lists Analysing Packet
39 Using Escape Characters To Improve Program Output
40 Introduction to Dictionaries in Python
41 Improving the Program Using a List of Dictionaries
42 Iterating Over Nested Data Structures
43 Testing The Network Scanner With Python 3

Writing an ARP Spoofer
44 What is ARP Spoofing
45 Intercepting Data in a Network Using arpspoof
46 Creating an ARP Response
47 Sending ARP Responses
48 Extracting MAC Address From Responses
49 Introduction to Loops in Python
50 More on Loops Counters
51 Dynamic Printing
52 Exception Handling in Python
53 Implementing a Restore Function
54 Restoring ARP Tables on Exception

Writing a Packet Sniffer
55 Introduction Teaser
56 Sniffing Packets Using Scapy
57 Extracting data From a Specific Layer
58 Analysing Sniffed Packets Extracting Fields From Layers
59 Analysing Fields Extracting Passwords
60 Extracting URLs
61 Capturing Passwords From Any Computer Connected to the Same Network
62 Strings Bytes in Python 3

Writing a DNS Spoofer
63 Intercepting Packets – Creating a Proxy
64 Converting Packets to Scapy Packets
65 Introduction to DNS Spoofing
66 Filtering DNS Responses
67 Analysing Creating a Custom DNS Response
68 Modifying Packets On The Fly
69 Redirecting DNS Responses

Writing a File Interceptor
70 Introduction Teaser
71 Filtering Traffic Based on the Port Used
72 Analysing HTTP Requests
73 Intercepting HTTP Requests
74 Modifying HTTP Responses on The Fly
75 Intercepting Replacing Downloads on The Network

Writing a Code Injector
76 Introduction Teaser
77 Analysing HTTP Responses
78 Replacing a Substring Using Regex
79 Decoding HTTP Responses
80 Modifying HTTP Responses Injecting Javascript Code in HTML Pages
81 Refactoring Housekeeping
82 Debugging Issues in Python
83 Using Groups None-capturing Regex
84 Recalculating Content Length
85 BeEF Overview Basic Hook Method
86 Hooking Computers Using code injector
87 Basic BeEF Commands
88 Delivering Malware Using BeEF

Bypassing HTTPS
89 How to Bypass HTTPS
90 Bypassing HTTPS Sniffing Login Credentials
91 Replacing Downloads on HTTPS Pages
92 Injecting Code in HTTPS Pages

Writing an ARP Spoof Detector
93 Running Python Programs on Windows
94 Capturing Analysing ARP Responses
95 Detecting ARP Spoofing Attacks Using Python

Writing Malware
96 Introduction Teaser
97 Execute System Command Payload
98 Sending Emails Using Python
99 Filtering Command Output Using Regex
100 Stealing WiFi Passwords Saved on a Computer
101 Downloading Files Using Python
102 Writing Files on Disk
103 Password Recovery Basics
104 Stealing Saved Passwords From Remote Computers
105 Interacting With The File System Using Python

Writing Malware – Keylogger
106 Introduction Teaser
107 Writing a Basic Local Keylogger Using Python
108 Introduction to Global Variables
109 Logging Special Keys
110 Introduction to Threading Recursion in Python
111 Introduction Object Oriented Programming
112 Constructor Methods Instance Variables
113 Logging Key-strikes and Reporting Them By Email

Writing Malware – Backdoors
114 Introduction Teaser
115 Client – Server Communication Connection Types
116 Connecting Two Remote Computers Using Sockets
117 Sending Receiving Data Over TCP
118 Executing System Commands Remotely
119 Implementing a Server
120 Implementing Skeleton For Server – Client Communication
121 Refactoring – Creating a Listener Class
122 Refactoring – Creating a Backdoor Class
123 Serialisation – Theory
124 Serialisation – Implementing Reliable Methods to Send Receive Data Over TCP
125 Serialisation – Reliably Sending Receiving Data
126 Sending Commands as List Implementing Exit Command
127 Interacting With the File System – Implementing cd Command
128 Reading Files Using Python
129 Writing Files Using Python
130 Downloading Files From Hacked Computer
131 Implementing Upload Functionality in Listener
132 Implementing Upload Functionality in Backdoor
133 Handling Unknown Exceptions
134 Using the Backdoor to Hack Windows Linux OS X
135 Testing The Backdoor With Python 3

Writing Malware – Packaging
136 Introduction Teaser
137 Converting Python Programs To Windows Binary Executables
138 Running Executables Silentely
139 Installing Windows Pyinstaller on Linux
140 Packaging Programs For Windows From Linux
141 Introduction to Persistence
142 Running Programs on Startup
143 Creating a Basic Trojan Using Download Execute Payload
144 Creating a Trojan By Embedding Files In Program Code
145 Bypassing Anti-Virus Programs – Theory
146 Bypassing Anti-Virus Programs – Practical
147 Adding an Icon to Generated Executables
148 Spoofing File Extension
149 Converting Python Programs To OS X Executables
150 Converting Python Programs to Linux Executables

Website Web Application Hacking
151 Introduction Teaser
152 What is a Website
153 How to Hack a Website

Website Hacking – Writing a Crawler
154 Sending GET Requests To Web Servers
155 Discovering Website Subdomains Using Python
156 Discovering Hidden Paths in Websites
157 Reading Response Content
158 Extracting Useful Data From Response
159 Filtering Rsults
160 Extracting Unique Links Storing Them In a List
161 Recursively Discovering All Paths On a Target Website
162 Testing The Crawler With Python 3

Writing a Program To Guess Login Information
163 Sending Post Requests to Websites
164 Guessing Login Information on Login Pages

Writing a Vulnerability Scanner
165 Introduction Teaser
166 HTTP Requests – POST VS GET
167 Parsing HTML Code Using Python
168 Extracting HTML Attributes
169 Posting Forms
170 Building Basic Structure For a Vulnerability Scanner
171 Using Default Parameters
172 Sending Requests in a Session
173 Extracting Submitting Forms Automatically
174 Implementing a Method To Run The Scanner
175 Discovering XSS Vulnerabilities
176 Exploiting XSS Vulnerabilities
177 Implementing Code To Discover XSS in Forms
178 Implementing Code To Discover XSS in Parameters
179 Automatically Discovering Vulnerabilities Using the Vulnerability Scanner

Bonus Section
180 Bonus Lecture – Whats Next