4.62 (12372 reviews)
☑ 170+ videos on Python programming & ethical hacking
☑ Install hacking lab & needed software (on Windows, OS X and Linux)
☑ Learn 2 topics at the same time - Python programming & Ethical Hacking
☑ Start from 0 up to a high-intermediate level
☑ Write over 20 ethical hacking and security programs
☑ Learn by example, by writing exciting programs
☑ Model problems, design solutions & implement them using Python
☑ Write programs in Python 2 and 3
☑ Write cross platform programs that work on Windows, OS X & Linux
☑ Have a deep understanding on how computer systems work
☑ 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 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 any computer 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, OS X and Linux
☑ Implement cool 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 a website
☑ Write a program that can map a website and discover all links, subdomains, files and directories
☑ Extract and submit forms from 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
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 into 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 achieve a specific goal, the goal is usually to hack into a certain system! We'll start by learning how this system work and its weaknesses, 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. 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:
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 & Linux.
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!
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!
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.
Introduction
Teaser
Course Introduction
Introduction to Python Programming & Ethical Hacking
Lab Overview & Needed Software
Installing Kali 2019 as a virtual Machine
Basic Overview of Kali Linux
The Terminal & Linux Commands
Python 2 VS Python 3 & Writing Our First Program
Installing & Using a Python IDE
Writing a MAC Address Changer - Python Basics
What is MAC Address & How To Change it
Using Python Modules & Executing System Commands
Implementing a Very Basic MAC Changer
Variables & Strings
Using Variables in MAC Changer
Getting Input From The User
Handling User Input
Handling Command-line Arguments
Initialising Variables Based on Command-line Arguments
Python Functions
Returning Values From Functions
Decision Making in Python
Using Conditional Statements in MAC Changer
MAC Changer - Algorithm Design
Introduction to Algorithms
Reading Output Returned By System Commands
Introduction to Regular Expressions (Regex)
Extracting a Substring Using Regex
Refactoring & Housekeeping
Implementing The Validation Algorithm
Programming a Network Scanner
Introduction & Teaser
Installing Windows as a Virtual Machine
Introduction to ARP
Designing an Algorithm To Discover Clients on The Same Network
Using Scapy To Create an ARP Request
Combining Frames To Broadcast Packets
Sending & Receiving Packets
Introduction Lists in Python
Iterating Over Lists & Analysing Packet
Using Escape Characters To Improve Program Output
Introduction to Dictionaries in Python
Improving the Program Using a List of Dictionaries
Iterating Over Nested Data Structures
Python 3 Compatibility
Writing an ARP Spoofer
What is ARP Spoofing?
Intercepting Data in a Network Using arpspoof
Creating an ARP Response
Sending ARP Responses
Extracting MAC Address From Responses
Introduction to Loops in Python
More on Loops & Counters
Dynamic Printing
Exception Handling in Python
Implementing a Restore Function
Restoring ARP Tables on Exception
Writing a Packet Sniffer
Introduction & Teaser
Sniffing Packets Using Scapy
Extracting data From a Specific Layer
Analysing Sniffed Packets & Extracting Fields From Layers
Analysing Fields & Extracting Passwords
Extracting URLs
Capturing Passwords From Any Computer Connected to the Same Network
Writing a DNS Spoofer
Intercepting Packets - Creating a Proxy
Converting Packets to Scapy Packets
Introduction to DNS Spoofing
Filtering DNS Responses
Analysing & Creating a Custom DNS Response
Modifying Packets On The Fly
Redirecting DNS Responses
Writing a File Interceptor
Introduction & Teaser
Filtering Traffic Based on the Port Used
Analysing HTTP Requests
Intercepting HTTP Requests
Modifying HTTP Responses on The Fly
Intercepting & Replacing Downloads on The Network
Writing a Code Injector
Introduction & Teaser
Analysing HTTP Responses
Replacing a Substring Using Regex
Decoding HTTP Responses
Modifying HTTP Responses & Injecting Javascript Code in HTML Pages
Refactoring & Housekeeping
Debugging Issues in Python
Using Groups & None-capturing Regex
Recalculating Content Length
BeEF Overview & Basic Hook Method
Hooking Computers Using code_injector
Basic BeEF Commands
Delivering Malware Using BeEF
Bypassing HTTPS
How to Bypass HTTPS
Bypassing HTTPS & Sniffing Login Credentials
Replacing Downloads on HTTPS Pages
Injecting Code in HTTPS Pages
Writing an ARP Spoof Detector
Running Python Programs on Windows
Capturing & Analysing ARP Responses
Detecting ARP Spoofing Attacks Using Python
Writing Malware
Introduction & Teaser
Execute System Command Payload
Sending Emails Using Python
Filtering Command Output Using Regex
Stealing WiFi Passwords Saved on a Computer
Downloading Files Using Python
Writing Files on Disk
Password Recovery Basics
Stealing Saved Passwords From Remote Computers
Interacting With The File System Using Python
Writing Malware - Keylogger
Introduction & Teaser
Writing a Basic Local Keylogger Using Python
Introduction to Global Variables
Logging Special Keys
Introduction to Threading & Recursion in Python
Introduction Object Oriented Programming
Constructor Methods & Instance Variables
Logging Key-strikes and Reporting Them By Email
Writing Malware - Backdoors
Introduction & Teaser
Client - Server Communication & Connection Types
Connecting Two Remote Computers Using Sockets
Sending & Receiving Data Over TCP
Executing System Commands Remotely
Implementing a Server
Implementing Skeleton For Server - Client Communication
Refactoring - Creating a Listener Class
Refactoring - Creating a Backdoor Class
Serialisation - Theory
Serialisation - Implementing Reliable Methods to Send & Receive Data Over TCP
Serialisation - Reliably Sending & Receiving Data
Sending Commands as List & Implementing Exit Command
Interacting With the File System - Implementing "cd" Command
Reading Files Using Python
Writing Files Using Python
Downloading Files From Hacked Computer
Implementing Upload Functionality in Listener
Implementing Upload Functionality in Backdoor
Handling Unknown Exceptions
Using the Backdoor to Hack Windows, Linux & OS X
Writing Malware - Packaging
Introduction & Teaser
Converting Python Programs To Windows Binary Executables
Running Executables Silentely
Installing Windows Pyinstaller on Linux
Packaging Programs For Windows From Linux
Introduction to Persistence
Running Programs on Startup
Creating a Basic Trojan Using Download & Execute Payload
Creating a Trojan By Embedding Files In Program Code
Bypassing Anti-Virus Programs - Theory
Bypassing Anti-Virus Programs - Practical
Adding an Icon to Generated Executables
Spoofing File Extension
Converting Python Programs To OS X Executables
Converting Python Programs to Linux Executables
Website / Web Application Hacking
Introduction & Teaser
What is a Website
How to Hack a Website
Website Hacking - Writing a Crawler
Sending GET Requests To Web Servers
Discovering Website Subdomains Using Python
Discovering Hidden Paths in Websites
Reading Response Content
Extracting Useful Data From Response
Filtering Rsults
Extracting Unique Links & Storing Them In a List
Recursively Discovering All Paths On a Target Website
Writing a Program To Guess Login Information
Sending Post Requests to Websites
Guessing Login Information on Login Pages
Writing a Vulnerability Scanner
Introduction & Teaser
HTTP Requests - POST VS GET
Parsing HTML Code Using Python
Extracting HTML Attributes
Posting Forms
Building Basic Structure For a Vulnerability Scanner
Using Default Parameters
Sending Requests in a Session
Extracting & Submitting Forms Automatically
Implementing a Method To Run The Scanner
Discovering XSS Vulnerabilities
Exploiting XSS Vulnerabilities
Implementing Code To Discover XSS in Forms
Implementing Code To Discover XSS in Parameters
Automatically Discovering Vulnerabilities Using the Vulnerability Scanner
Bonus Section
Bonus Lecture - What's Next??
This is a really great course to get an introduction to hacking. I'm a software developer and I always wanted to learn to test the security of my web applications. The only thing that kept me from learning that is the fact that a lot of the software used for pen testing or vulnerability scanning intimidates me. Being a software developer, I know what bad code can do to my computer, but since a majority of the code was written by me, with open source documentation to read through, I felt safe running it on my computer. Big thanks to the instructor Zaid for making it interesting at the same time. My only concern with this course is that it is not exactly beginner-friendly (as claimed in the course title). You must know at least the basics of software development and computer networking to fully understand the concepts. But if you do, I don't see any reason why you shouldn't take this course.
Some resources are broken, which is funny considering the course was updated this month and it's only 7 days into October right now.
There will be so many skills to learn which could be implemented on an ethical hacking base as well as expanding my knowledge on both programming and ethical hacking
I already knew Python, so that course allows me to understand the nuts and bolts of some hacking techniques, which I really like. The speaker started very very slow, now he sounds like he's is getting angry and wants to accelerate. However, so far so good for me. Once I have finished this course, I will go on a course focused on hacking only, and I think I will be better because this course will have taught me how the programs work inside, and I will be able to adapt the other programs to my liking. I like this instructor very much
I really have a good expectation about taking this course, I'm sure that I'm not going to regret the selection.
Im new to all this coding. But I still haven't gotten the actual coding console yet.. If this was implemented in the course earlier, that would be great! But other than that, awesome start.
Honestly, I've bought this course a long time ago and haven't got to use it. I just started today and must say, this is a fantastic course! Easy instructions -- even a noob like me can follow and implement. Learning python and ethical hacking skills all at the same time -- can't beat it. I got all the other courses too! Thanks Zaid!
It's really really good, but there are some things that he doesn't explain completely, it's not that important, but still it leaves you with some questions, on the way you understand it, but it's not super easy, expect challenge :)
Instead of just learning python separately, this is a great way to learn in it in a more interactive way and practice it in the setting in which I intend to use. Perfect.
Probably one of the best courses I have taken on Udemy. Zaid is a really great teacher in helping you understand clearly what is happening, and shows you step by step on how to do it. 100% Recommend to anyone.
Zaid's obsession with 'housekeeping' not just optimizes the code, but also makes you a better developer! I'm binge watching the course more than I binge watched Mr. Robot. Keep up the good work!
Best courses ever Sir!! Really wish for a new course soon!! Really strongly recommend (this or any other course) :)
Things have just started with me and this course. But have already fell in love the with the subject and the way of explanation. Will redo the comment after completing the course
I'm a complete beginner when it comes to coding and I've just created my first python program, I'm so pleased with how clear and precise Zaid is with explaining what to do and putting it in to idiot-proof language. If there's a problem that you might run in to, he's already found it and has resources to help you get past it. Top work, can't wait to learn more!
Excellent job! Very descriptive and I love how you built up each program from it's simplest representation to its more robust.