If you are interested in pursuing a cybersecurity career to become a professional penetration tester, it is vital to know how to utilize Linux efficiently.

Being comfortable using Linux as your operating system of choice is pivotal to your chances and success of becoming a penetration tester.

Many information security jobs out there like to see candidates possess strong Linux skills.

Learning how to deploy Linux as a penetration tester is one of the most important skills that you can learn. If you are familiar with using Linux, you can likely use the knowledge and skills to positively protect networks from being compromised by malicious adversaries and create a brighter future for cybersecurity.


The first step to achieving your goal and dream is to enroll in this course.

Course curriculum

  • 1

    Welcome To The Course!

    • A Message From The Teaching Staff

    • Before We Begin

    • How To Use This Course

  • 2

    The Basics

    • The Terminal

    • Linux Filesystem

    • Essential Commands

    • How To Navigate The Linux Filesystem

  • 3

    How To Navigate The Linux Filesystem

    • cd: Changing Directories

    • ls: Listing A Directory's Contents

    • Help Commands In Applications And Tools

    • man: Viewing Manual Descriptions & Information

    • pwd: Where Are You?

    • whoami: Checking Your Account Type

    • locate: Search Your Linux Filesystem

    • whereis: Searching For Binaries

    • which: Searching For Binaries In The Path Variable

    • find: Executing More Effective Searches

    • grep & ps: Filtering

  • 4

    Altering Files & Directories In Linux

    • cat: How To Create Files

    • touch: Creating New Files

    • mkdir: Creating A New Directory

    • cp: Copying Files

    • mv: Renaming Files

    • rm: Removing Files

    • rmdir: Removing Directories

  • 5

    Manipulating Text

    • Introduction

    • cat: Displaying Files

    • head

    • tail

    • nl

    • grep: Filtering A File's Contents For Convenience

    • sed: Searching For Terms & Replacing Terms

    • more & less: Displaying Larger Files

  • 6

    Networking & Connectivity

    • Introduction

    • ifconfig: Querying Network Connections

    • ifconfig: Spoofing Your IP Address

    • ifconfig: Altering Your Network Mask & Broadcast Address

    • ifconfig: Altering MAC Addresses

    • iwconfig: Examining Wireless Devices

    • dig: Exploiting The Domain Name System

    • Using Another DNS Server

    • Domain Name Mapping

  • 7

    Anonymity: Preventing Adversaries From Tracking You On The Internet & On Compromised Linux Systems

    • Introduction

    • Allocating New IP Addresses With The DHCP Server

    • Deleting & Overwriting Evidence

    • Deactivating Logging In Linux

    • Rsyslog

    • rsyslog.conf

    • Logrotate

  • 8

    Installing & Uninstalling Software

    • Introduction

    • apt: Searching For Packages

    • apt: Installing Packages

    • apt: Uninstalling Software

    • apt: Updating Packages

    • apt: Upgrading Packages

    • sources.list: Adding Repositories

    • Synaptic: GUI Based, User-Friendly Installer

    • git: Cloning The Git Repository

  • 9

    Checking & Altering Permissions On Files/Directories

    • Introduction

    • Various Types Of Users

    • Levels Of Permissions

    • Transferring Ownership Of A File To Another User

    • Transferring Ownership Of A File To Another Group

    • Checking Permissions For A File Or Directory

    • Modifying Permissions

    • Table Worksheet

    • Using UGO To Modify Permissions

    • chmod: Granting Root & Execute Permission Permissions

    • umask: Altering The Default Permissions Of Files & Directories

    • SUID: Providing Temporary Root Permissions

    • SGID: Providing File Owner's Group Permissions

    • Obsolete Sticky Bit

    • Searching For Files With The SUID Bit

  • 10

    Managing Processes

    • Introduction

    • Viewing Current Running Processes

    • Filtering Via Name Of Process

    • Searching For Processes That Utilize The Most Resources

    • Altering Priority Levels of Processes

    • Setting The Priority Value Of A Process When Initiating

    • Modifying The Priority Of A Running Process

    • kill: Stopping Processes On Linux

    • Running Processes In The Background

    • fg: Moving A Process Into The Foreground

    • at: Scheduling The Execution Of A Command

  • 11

    Handling User Environment Variables

    • Introduction

    • Viewing & Altering Environment Variables

    • Viewing Every Environment Variable

    • grep: Finding Specific Variables

    • Altering Variable Values For A Session

    • How To Render Variable Value Modifications Permanent

    • Modifying The Shell Prompt (Command Line)

    • Modifying The Path

    • Adding A New Tool To The Path Variable

    • Avoid The Common Mistake That Beginner Linux Users Make

    • Creating Your Custom User-Defined Variable

  • 12

    Bash Scripting

    • Introduction

    • The Bash Shell

    • Download First Bash Script

    • Creating Your First Bash Script

    • Granting Execute Permissions

    • Executing Your Bash Script

    • Download Second Bash Script

    • Creating Your Second Bash Script

    • Using Nmap For Reconnaissance

    • Download Third Bash Script

    • Creating Your Third Bash Script

    • Download Modified Third Bash Script

    • Including Variables & Prompts In Your Third Bash Script

    • Executing Your Third Bash Script

  • 13

    Compression & Archiving

    • Introduction

    • Compression

    • tar: Combining Files & Creating A Single Archive File

    • Creating Compressed Files

    • Producing Bit-By-Bit Or Physical Duplicates Of Storage Devices

  • 14

    Managing Storage Devices & The Linux Filesystem

    • Introduction

    • Understanding The /dev Directory

    • How Linux Delineates Storage Devices

    • Hard Drive Partitions

    • Character Devices Vs. Block Devices

    • lsblk: Enumerate Block Devices & Information

    • Mounting & Unmounting Storage Devices

    • Collecting Data On Mounted Disks

    • Inspecting For Errors

  • 15

    How To Administer The Linux Kernel & Loadable Kernel Modules (LKM)

    • Introduction

    • Kernel Module

    • Finding Your Linux System's Kernel Version

    • sysctl: Linux Kernel Tuning

    • lsmod & man: Listing Installed Modules In The Kernel & Learning About Modules

    • modinfo: Obtaining Additional Information On Kernel Modules

    • Management Of Loadable Kernel Modules (LKM)

  • 16

    Task Automation Through Job Scheduling

    • Introduction

    • How To Arrange A Event Or Job To Run Automatically

    • How To Schedule A Backup Task

    • Scheduling Your Third Bash Script With crontab

    • Shortcuts For crontab

    • Including Services In The rc.d Script

    • Including Services Using A Graphical User Interface (GUI)

  • 17

    Python Scripting For Penetration Testers

    • Introduction

    • Finding Third-Party Python Modules To Add

    • pip: Installing Python Packages

    • Installing Third-Party Python Modules

    • Downloading First Python Script

    • Creating Your First Python Script

    • Examining The Code In Your First Python Script

    • chmod: File Permissions - 755

    • Creating Your Second Python Script

    • Adding Comments To Your Python Script

    • Functions In Python

    • Lists & Arrays

    • Modules

    • Object-oriented programming

    • Downloading Third Python Script

    • Creating Your Third Python Script

    • Creating Your Fourth Python Script

    • Dictionaries

    • if Structure

    • if...else Structure

    • Loops Structure

    • Enhancing Python Scripts

    • Exception Handling

    • Download The 1337pwn Cracker Python Script

  • 18

    Next steps

    • Congrats! Here's What's Next...

    • More Resources For You

    • Before You Go