Free Ethical Hacking & Computer Training

These courses will provide you with the building blocks required to become an Ethical Hacker. Study guides will improve the way you think while Capture The Flag will provide hands-on experience. Some institutions provide a certificate, record of participation and achievement once you pass their final exam.

You have many options to choose from and I wish nothing but the best for you!

Course Name: Penetration Testing Execution Standard
Author Name: Very Wise Leaders
Type of Course: Standard
Description: The penetration testing execution standard consists of seven (7) main sections. These cover everything related to a penetration test - from the initial communication and reasoning behind a pentest, through the intelligence gathering and threat modeling phases where testers are working behind the scenes in order to get a better understanding of the tested organization, through vulnerability research, exploitation and post exploitation, where the technical security expertise of the testers come to play and combine with the business understanding of the engagement, and finally to the reporting, which captures the entire process, in a manner that makes sense to the customer and provides the most value to it.

Course Name: C SharpCorner Learn
Author Name: Global Community
Type of Course: Various Technologies
Description: Introduction to: Angular, Unity, Progressive Web Apps, C#, Crystal Reports, MongoDB, ASP.NET, django, Flutter, Internet of Things, JavaScript, Python, SQL Server, Visual Studio Code, Windows Communication Foundation, SQL, and React.

Course Name: Arch1001
Author Name: Xeno Kovah
Type of Course: x86-64 Assembly
Description: This class serves as a foundation for the follow on "Architecture 2001: x86-64 OS Internals" class. It teaches the basic concepts and describes the hardware that assembly code deals with. It also goes over many of the most common assembly instructions. Although x86 has hundreds of special purpose instructions, students will be shown it is possible to read most programs by knowing only around 20-30 instructions and their variations.

Course Name: ARM Assembly Basics
Author Name: Azeria Labs
Type of Course: Introduction
Description: This tutorial is generally for people who want to learn the basics of ARM assembly. Especially for those of you who are interested in exploit writing on the ARM platform. You might have already noticed that ARM processors are everywhere around you. When I look around me, I can count far more devices that feature an ARM processor in my house than Intel processors. This includes phones, routers, and not to forget the IoT devices that seem to explode in sales these days. That said, the ARM processor has become one of the most widespread CPU cores in the world.

Course Name: ARM Shell Code
Author Name: Azeria Labs
Type of Course: Introduction
Description: This tutorial is for people who think beyond running automated shellcode generators and want to learn how to write shellcode in ARM assembly themselves. After all, knowing how it works under the hood and having full control over the result is much more fun than simply running a tool, isn’t it? Writing your own shellcode in assembly is a skill that can turn out to be very useful in scenarios where you need to bypass shellcode-detection algorithms or other restrictions where automated tools could turn out to be insufficient. The good news is, it’s a skill that can be learned quite easily once you are familiar with the process.

Course Name: CS50: Intro to Computer Science
Author Name: David J. Malan
Type of Course: Computer Science and Programming
Description: Intro to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML.

Course Name: Cyber Aces
Author Name: SANS Institute
Type of Course: Information Security
Description: SANS Cyber Aces Online is an online course that teaches the core concepts needed to assess, and protect information security systems. The course was developed by SANS, the most trusted and the largest source for information security training and security certification in the world. The course is an engaging, self-paced, easy to use combination of tutorial and videos. It’s available as open courseware so you can take it anytime. SANS is donating the course from their library of professional development curriculum. And it’s free.

Course Name: Hacker101
Author Name: Global Community
Type of Course: Web Security
Description: Hacker101 is a free class for web security. Whether you're a programmer with an interest in bug bounties or a seasoned security professional, Hacker101 has something to teach you. Learn to hack with our free video lessons, guides, and resources, plus join the Discord community and chat with thousands of other learners.

Course Name: Kali Linux Training
Author Name: OffSec Services Limited
Type of Course: Penetration Distribution
Description: This is a free course provided out of courtesy, by the Kali Linux team, to the Kali community. Get started by reading the free Kali Revealed book, and a running instance of Kali Linux. At the end of each module, the online version of the Kali book has several relevant exercises and questions. Make sure you are able to independently complete these exercises and answer the questions posed to you before you continue to the next section. Do not copy/paste the exercise answers blindly, they are version dependent. Instead, understand what you are doing, and adapt your commands to suit your environment.

Course Name: Metasploit Unleashed
Author Name: OffSec Services Limited
Type of Course: Penetration Security
Description: This course is a perfect starting point for Information Security Professionals who want to learn penetration testing and ethical hacking, but are not yet ready to commit to a paid course. We will teach you how to use Metasploit, in a structured and intuitive manner. Additionally, this free online ethical hacking course makes a wonderful quick reference for penetration testers, red teams, and other security professionals.

Course Name: Web Security Academy
Author Name: PortSwigger Limited
Type of Course: Web Application Security
Description: The Web Security Academy is a free online training center for web application security. It includes content from PortSwigger's in-house research team, experienced academics, and our founder Dafydd Stuttard - author of The Web Application Hacker's Handbook. Unlike a textbook, the Academy is constantly updated. It also includes interactive labs where you can put what you learn to the test. If you want to improve your knowledge of hacking, or you'd like to become a bug bounty hunter or pentester, you're in the right place.

Course Name: Hack The Box
Author Name: Global Community
Type of Course: Cyber Security
Description: Hack The Box is a massive, online cyber security training platform, allowing individuals, companies, universities and all kinds of organizations around the world to level up their hacking skills. From scalable difficulty to different operating systems and attack paths, our machine pool is limitlessly diverse. Matching any hacking taste and skill level!

Course Name: VulnHub
Author Name: Ben Wilson
Type of Course: Digital Security
Description: To provide materials that allows anyone to gain practical 'hands-on' experience in digital security, computer software & network administration. We all learn in different ways: in a group, by yourself, reading books, watching/listening to other people, making notes or things out for yourself. Learning the basics & understanding them is essential; this knowledge can be enforced by then putting it into practice.

Course Name: HackerSploit
Author Name: Alexis Ahmed
Type of Course: Info & Cyber Security Training
Description: HackerSploit is the leading provider of free Infosec and cybersecurity training. Our goal is to make cybersecurity training more effective and accessible to students and professionals. We achieve this by providing essential training on how to attack and defend systems with virtual labs and real-world scenarios. We offer individual and corporate training packages in Penetration Testing & Red Team Operations, Web application penetration testing, and cybersecurity awareness training.

Course Name: Free Short Course
Author Name: IT Masters
Type of Course: Penetration Testing
Description: This 4-week free short course will help you gain an in-depth understanding of the security posture of your IT environment, a penetration test highlights those areas that need fixing and which areas can withstand a concerted hacking attempt. A well-written report detailing the findings of a penetration test can be invaluable to an organisation looking to protect themselves from cyber risks.

Course Name: Hackers Arise
Author Name: OccupyTheWeb
Type of Course: Introduction To Hacking
Description: Hackers Arise was developed solely to help those who are interested in a career in cyber security. We will have tutorials on all forms of hacking, digital forensics, Linux, information security and just about any subject related to cyber security.

Course Name: Open Source Networking Technologies
Author Name: Linux Foundation
Type of Course: Introduction
Description: Learn technical fundamentals needed to adopt SDN, NFV, disaggregation, orchestration, network automation, and modern networking. Discover use cases and technical options for open networking. Plus: learn more about The Linux Foundation networking projects.

Course Name: Assembly & Linux Reverse Engineering
Author Name: School of Rop
Type of Course: Introduction
Description: This course teaches the boring, painful, beautiful basics. Nothing more, nothing less. Come with us on a magical adventure into memory, assembly, and being comfortable being uncomfortable. The course is in progress but has enough material you will be able to fake it as you go. You must be able to write C so that isn't what slows you down, but you don't need to be able to do much beyond basic functions.

Course Name: Confidential Communication in the Internet
Author Name: Prof. Dr. Christoph Meinel (openHPI)
Type of Course: Cryptography
Description: In this course we will look at how and whether your connection to online banking is secure or whether the content of an e-mail is trustworthy. For this we will deal with the basics of cryptography, security objectives and different types of encryption. In addition, we will provide insights into different models and standards that are used in practice.

Course Name: Digital Identities
Author Name: Prof. Dr. Christoph Meinel (openHPI)
Type of Course: Identity Management
Description: In this course we will look at how a digital identity is defined and what attributes such an identity can have. We will also explain which methods can be used to authenticate an identity and which techniques are available for identity management.

Course Name: Cyberthreats by Malware
Author Name: Prof. Dr. Christoph Meinel (openHPI)
Type of Course: General Differentiation and Introduction into Malware
Description: In this course, Prof. Meinel and the teaching team aim to raise awareness for malware cyber threats. Botnets, worms, trojans, and spyware are the most common types of malware. But with every newly discovered malware, there is already a new, more sophisticated one on the market. Antivirus programs lag behind the rapid development of new malware.

Course Name: Learning-C
Author Name: h0mbre
Type of Course: C Programming
Description: This repo is a collection of assignments and mini-programs/projects for beginners trying to learn C.

Course Name: Malware Analysis Webcasts
Author Name: Lenny Zeltser
Type of Course: Introduction
Description: Lenny helps shape global cybersecurity practices by teaching incident response and malware defenses at SANS Institute and by sharing knowledge through writing, public speaking, and community projects. He has earned the prestigious GIAC Security Expert professional designation and developed the Linux toolkit REMnux, which is used by malware analysts throughout the world.

Course Name: OpenRCE
Author Name: Pedram Amini & Ero Carrera
Type of Course: Malware Analysis, Reverse Engineering
Description: This course was designed for students who have an introductory / basic understanding of x86 assembly and reverse engineering as well as more advanced students wishing to refresh their skills and learn new approaches to familiar problems. The course will cover the basics of x86 assembly and pattern recognition, Windows process memory layout, tools of the trade (such as IDA Pro and OllyDbg), the PE file format and basic exploitation methodologies abused by worms to penetrate a target system (stack/heap overflows). As this course is focused on malicious code analysis, students will be given real-world virus samples to reverse engineer. The details of executable packing, obfuscation methods, anti-debugging and anti-disassembling will be revealed and re-enforced with hands-on exercises.

Course Name: Binary Analysis
Author Name: Max ‘Libra’ Kersten
Type of Course: Introduction
Description: This course starts at the very start, where it is assumed that the reader has little to no low level knowledge. It is expected that the reader is able to understand basic programming aspects such as functions/methods, variables, types and system calls. This course aims to only use free and open-source software. This way, everybody can participate and follow the course, whereas most other courses are focused on proprietary tools which cost up to thousands of dollars. As the course progresses, the material gets more in-depth and complex. Throughout the chapters, practical cases included. These cases serve two purposes. Firstly, the reader is greeted with a puzzle every once in a while, instead of pure theory. Secondly, it provides insight in the reader’s learning curve with the help of a given case.

Course Name: Ethical Hacking
Author Name: Ken Underhill
Type of Course: Ethical Hacking
Description: Students will also be introduced to a variety of attack types, including password cracking, DDoS, SQL injection, session hijacking, social engineering, and other hacking techniques. The course also covers an introduction to ethical hacking concepts and to hacking Web servers and Web applications. There are optional labs for this ethical hacking course that help students gain the hands-on hacking skills necessary to be successful on the job.

Course Name: Network Pentest for Beginners
Author Name: freeCodeCamp
Type of Course: Penetration Testing
Description: Learn network penetration testing / ethical hacking in this full tutorial course for beginners. This course teaches everything you need to know to get started with ethical hacking and penetration testing. You will learn the practical skills necessary to work in the field. Throughout the course, we will develop our own Active Directory lab in Windows, make it vulnerable, hack it, and patch it. We'll cover the red and blue sides.

Course Name: Web App Pentest for Beginners
Author Name: freeCodeCamp
Type of Course: Penetration Testing
Description: Learn web application penetration testing from beginner to advanced. This course is perfect for people who are interested in cybersecurity or ethical hacking.

Course Name: Python Hacking
Author Name: Aleksa Tamburkovski
Type of Course: Beginner to Advanced
Description: Learn to Hack with Python in this 4.5 hour video course.

Course Name: CRYPTO101
Author Name: Laurens Van Houtven
Type of Course: Intro to Applied Cryptography & Infosec
Description: Comes with everything you need to understand complete systems such as SSL/TLS: block ciphers, stream ciphers, hash functions, message authentication codes, public key encryption, key agreement protocols, and signature algorithms. Learn how to exploit common cryptographic flaws, armed with nothing but a little time and your favorite programming language. Forge administrator cookies, recover passwords, and even backdoor your own random number generator.

Course Name: Security Training for Engineers
Author Name: Rich Adams
Type of Course: Technical Training
Description: This talk is specifically geared towards engineers. If you're not an engineer though, don't worry, you're more than welcome to stay. While the topics will be technical in nature, it should be informative no matter what your skill level is, whether you're just getting started, or are a seasoned engineer with years of experience.

Course Name: Modern Binary Exploitation
Author Name: RPISEC
Type of Course: Exploitation
Description: The course will start off by covering basic x86 reverse engineering, vulnerability analysis, and classical forms of Linux-based userland binary exploitation. It will then transition into protections found on modern systems (Canaries, DEP, ASLR, RELRO, Fortify Source, etc) and the techniques used to defeat them. Time permitting, the course will also cover other subjects in exploitation including kernel-land and Windows based exploitation.

Course Name: Assembly Language Megaprimer for Linux
Author Name: Security Tube
Type of Course: Exploitation
Description: In this video series, we will learn the basics of Assembly Language programming on Linux. This will help with reverse engineering and writing exploits in later videos.

Course Name: Practical Linux Hardening Guide
Author Name: Michał Ży
Type of Course: Linux Production System
Description: The Practical Linux Hardening Guide provides a high-level overview of hardening GNU/Linux systems. It is not an official standard or handbook but it touches and uses industry standards. This guide also provides you with practical step-by-step instructions for building your own hardened systems and services. One of the main goals is to create a single document covering internal and external threats.

Course Name: Windows PowerShell Basics
Author Name: Cynthia Staley & Tony Jamieson
Type of Course: Introduction
Description: Note: Create an account to view course. This self-paced course is an introduction to Windows PowerShell where you’ll get an opportunity to discover how to create your own scripts for automated batch processing. Learn how to replace manual, repetitive, and time-consuming operations with an automated solution for both local and remote scenarios.

Course Name: Introduction to Web Security
Author Name: Stanford School of Engineering
Type of Course: Web Security
Description: If you’re working in the cybersecurity field, or are interested in getting a foot in the door, it’s crucial that you understand how cyberattacks are perpetrated and the best practices for preventing and responding to them. This short, free, non-credit course is the perfect way to get started on building this knowledge. In this course, you’ll learn from experts in the field about the fundamentals of web security and some of the latest threats and their defenses. You’ll gain a deeper, technical understanding of cybersecurity, the Internet’s common and emerging vulnerabilities, and techniques for addressing those vulnerabilities.

Course Name: Introduction to Internet of Things
Author Name: Stanford School of Engineering
Type of Course: Introduction
Description: In this short non-credit course, six Stanford faculty members will deliver an overview of exciting and relevant technical areas essential to professionals in the IoT industry. This introductory course provides a taste of what to expect from courses that are part of the IoT Graduate Certificate program.

Course Name: CS 161: Computer Security
Author Name: Dawn Song (Berkeley Edu)
Type of Course: Computer Security — Slides
Description: You will learn about Security Vulnerabilities and how to defend and exploit them. Fundamental security concepts and principles. How to architect secure systems. Security problems & solutions in application areas.

Course Name: CS 97SI: Introduction to Programming Contests
Author Name: Jaehyun Park (Stanford Edu)
Type of Course: Programming
Description: This course introduces you to Mathematics, Data Structures, Dynamic Programming, Combinatorial Games, Basic Graph Algorithms, Shortest Path Algorithms, Network Flow Problems, Computational Geometry, and String Algorithms (Additional material: Suffix Arrays - A Programming Contest Approach).

Course Name: Binary Exploitation & Memory Corruption
Author Name: LiveOverflow
Type of Course: Binary Exploitation
Description: Video courses about computer internals, and hacking concepts.

Course Name: Linux Binary Exploitation
Author Name: Rohit Sehgal
Type of Course: Exploitation
Description: The first time when I came across Buffer Overflow(a simple technique of exploitation), then I was not able to implement the same with the same copy of code on my system. The reason for that was there was no consolidated document that would guide me thoroughly to write a perfect exploit payload for the program in case of system changes. Also, there are very few descriptive blogs/tutorials that had helped me exploiting a given binary. I have come up with the consolidation of Modern exploitation techniques (in the form of the tutorial) that will allow you to understand exploitation from scratch.

Course Name: 6.858 Computer Systems Security
Author Name: Prof. Nickolai Zeldovich (MIT Edu)
Type of Course: System Security
Description: 6.858 Computer Systems Security is a class about the design and implementation of secure computer systems. Lectures cover threat models, attacks that compromise security, and techniques for achieving security, based on recent research papers. Topics include operating system (OS) security, capabilities, information flow control, language security, network protocols, hardware security, and security in web applications.

Course Name: Algorithms: Design & Analysis 1
Author Name: Stanford School of Engineering
Type of Course: Algorithms
Description: In this course you will learn several fundamental principles of algorithm design. You'll learn the divide-and-conquer design paradigm, with applications to fast sorting, searching, and multiplication. You'll learn several blazingly fast primitives for computing on graphs, such as how to compute connectivity information and shortest paths. Finally, we'll study how allowing the computer to "flip coins" can lead to elegant and practical algorithms and data structures.

Course Name: Algorithms: Design & Analysis 2
Author Name: Stanford School of Engineering
Type of Course: Algorithms
Description: In this course you will learn the greedy algorithm design paradigm, with applications to computing good network backbones (i.e., spanning trees) and good codes for data compression. You'll learn the tricky yet widely applicable dynamic programming algorithm design paradigm, with applications to routing in the Internet and sequencing genome fragments. You'll learn what NP-completeness and the famous "P vs. NP" problem mean for the algorithm designer. Finally, we'll study several strategies for dealing with hard (i.e., NP-complete problems), including the design and analysis of heuristics. Learn how shortest-path algorithms from the 1950's (i.e., pre-ARPANET!) govern the way that your Internet traffic gets routed today; why efficient algorithms are fundamental to modern genomics; and how to make a million bucks in prize money by "just" solving a math problem!

Course Name: Introducing Computing and IT
Author Name: OpenLearn
Type of Course: Computing & IT
Description: This free course provides a general overview of how digital technologies have come to dominate virtually every aspect of the modern world and some guidance on how to prepare for this digital life. It raises awareness of the importance of data security and online safety. It also provides an explanation of the internal structure and workings of a typical computer and describes hard and solid state drives in some detail.

Course Name: Network Security
Author Name: OpenLearn
Type of Course: Computing & IT
Description: Encryption of files and firewalls are just some of the security measures that can be used in security. This free course, Network security, which assumes you have a substantial knowledge of computing, helps to explain the intricacies of the continually changing area of network security by studying the main issues involved in achieving a reasonable degree of resilience against attacks.

Course Name: IT: Device to Device Communication
Author Name: OpenLearn
Type of Course: Computing & IT
Description: Are you a technophobe? Bluetooth, Ethernet, WiFi; are they terms that mean nothing to you? IT: device to device communication, is a free course that will gently guide you to an understanding of how devices 'talk' to each other and what technologies and processes are involved. You will also look at wired and wireless communication technologies, introducing you to some of the key methods involved.

Course Name: Information Security
Author Name: OpenLearn
Type of Course: Computing & IT
Description: Information security underpins the commercial viability and profitability of enterprises of all sizes and the effectiveness of public sector organisations. This free course begins by explaining why information security and its management are important for any modern organisation and to every individual. You need to be familiar with an organisation, such as your employer, to study this course.

Course Name: Exploring Communications Technology
Author Name: OpenLearn
Type of Course: Communications
Description: This free course, Exploring communications technology, looks at some of the principles underpinning communications technology. It looks at the properties of signals and media (such as optical fibre and radio waves), error control, data compression, and the principles of 4G mobile communications, wi-fi and DSL broadband.

Course Name: NDG Linux Essentials
Author Name: Cisco Networking Academy
Type of Course: OS & IT
Description: Gain hands-on practice with Linux commands through the Linux virtual machine embedded in the course. NDG Linux Essentials quickly builds your Linux knowledge and prepares you for the Linux Professional Institute Linux Essentials certificate, your proof to employers that you know Linux!

Course Name: Reverse Engineering 101
Author Name: Amanda Rousseau
Type of Course: Malware Analysis Environment
Description: This workshop provides the fundamentals of reversing engineering (RE) Windows malware using a hands-on experience with RE tools and techniques. You will be introduced to RE terms and processes, followed by creating a basic x86 assembly program, and reviewing RE tools and malware techniques. The course will conclude by participants performing hands-on malware analysis that consists of Triage, Static, and Dynamic analysis.

Course Name: Reverse Engineering 102
Author Name: Amanda Rousseau
Type of Course: x86 Windows Malware Binary
Description: This workshop provides builds on the fundamentals from re101 for reversing engineering (RE) Windows malware using a hands-on experience with RE tools and techniques. The purpose of this workshop is to get you familiar with Anti Reverse Engineering, Encryption, VM Evasion and Packing techniques.The course will conclude by participants performing hands-on malware analysis that consists of Triage, Static, and Dynamic analysis.

Course Name: Malware Analysis CS6038
Author Name: Scott Nusbaum
Type of Course: Intro: Malware Analysis & Reverse Engineering
Description: This class will introduce the CS graduate students to malware concepts, malware analysis, and black-box reverse engineering techniques. The target audience is focused on computer science graduate students or undergraduate seniors without prior cyber security or malware experience. It is intended to introduce the students to types of malware, common attack recipes, some tools, and a wide array of malware analysis techniques.

Course Name: C# Fundamentals for Absolute Beginners
Author Name: Bob Tabor (MSDN)
Type of Course: Intoduction
Description: Learn C# Programming from an expert in the industry. Get the tools, see how to write code, debug features, explore customizations, and more.

Course Name: CS401: Operating Systems (120 Hours)
Author Name: Saylor Academy
Type of Course: Computer Science
Description: This course will introduce you to modern operating systems. We will focus on UNIX-based operating systems, though we will also learn about alternative operating systems, including Windows. The course will begin with an overview of the structure of modern operating systems. Over the course of the subsequent units, we will discuss the history of modern computers, analyze in detail each of the major components of an operating system (from processes to threads), and explore more advanced topics in the field, including memory management and file input/output. The class will conclude with a discussion of various system-related security issues.

Course Name: CS301: Computer Architecture
Author Name: Saylor Academy
Type of Course: Computer Science
Description: Modern computer technology requires an understanding of both hardware and software, since the interaction between the two offers a framework for mastering the fundamentals of computing. The purpose of this course is to cultivate an understanding of modern computing technology through an in-depth study of the interface between hardware and software. In this course, you will study the history of modern computing technology before learning about modern computer architecture and a number of its essential features, including instruction sets, processor arithmetic and control, the Von Neumann architecture, pipelining, memory management, storage, and other input/output topics. The course will conclude with a look at the recent switch from sequential processing to parallel processing by looking at the parallel computing models and their programming implications.

Course Name: CS101: Introduction to Computer Science I
Author Name: Saylor Academy
Type of Course: Computer Science
Description: This course will introduce you to the field of computer science and the fundamentals of computer programming. CS101 is specifically designed for students with no prior programming experience, and touches upon a variety of fundamental topics. This course uses Java to demonstrate those topics. Java is a high-level, portable, and well-constructed computer programming language developed by Sun Microsystems (now Oracle).

Course Name: CS101: Introduction to Computer Science II
Author Name: Saylor Academy
Type of Course: Computer Science
Description: This course is a continuation of CS101: Intro to Computer Science I. It will introduce you to a number of more advanced Computer Science topics, laying a strong foundation for future study and achievement in the discipline. We begin with a comparison between Java and C++. We will discuss the fundamental building blocks of Object-Oriented Programming, while familiarizing ourselves with more advanced programming concepts. Remaining course units will be devoted to the Standard Template Library, Containers, Exceptions, Recursion, Searching and Sorting, and generic programming. By the end of the class, you will have a solid understanding of Java and C++ programming, as well as a familiarity with the major issues that programmers routinely address in a professional setting.

Course Name: Python Video Course for Beginners
Author Name: Jason Cannon
Type of Course: Introduction
Description: This course is user friendly and provides a step by step guide on what Python is and what software is needed to build and run Python scripts and applications.