Tool Penetration Testing: A Complete Guide to the Attack Phase"

All offensive penetration testing tools organized by attack phase: recon, exploitation, post-exploitation, pivoting, AD. With real attack chains for CTF, OSCP, OSEP, and red teams.
- Posted on 2026-06-10
- Reading time: 9 min
This guide collects all the offensive tools used in penetration testing, organized by attack phase—not alphabetically. From OSINT recon to exploitation, from AD lateral movement to pivoting on segmented networks. Each tool has its own context, its own moment, its own real-world use case. Each phase of a penetration test has its own tools. Nmap is useless if you don't know how to read the output. Mimikatz doesn't work without the right privileges. BloodHound is useless if you haven't first enumerated the domain. Choosing the wrong tool at the wrong time is the main cause of failed engagements and incomplete labs.
The operational reference for those preparing OSCP, OSEP, working on HTB, or performing red team engagements. For the services exposed on each port and their associated vectors, see the Complete Guide to TCP/UDP Ports in Penetration Testing.
Recon → Scanning → Enumeration → Exploitation → Post-Exploitation → Pivoting → ExfiltrationTop Offensive Toolkit 80/20 #
If you're just starting out or preparing for OSCP, these are the 10 tools that cover 80% of real-world scenarios. Learn them before anything else.
| # | tool | Why it is essential |
|---|---|---|
| 1 | Nmap | Port scan, version detection, NSE — it all starts here |
| 2 | Burp Suite | Web vulnerability interception and testing — irreplaceable |
| 3 | blood hound | Attack path AD — shows you the path to Domain Admin |
| 4 | NetExec | Windows Enumeration and Lateral Movement — Current Standard |
| 5 | Packet | Python AD Toolkit — SMB, Kerberos, DCSync, WMI |
| 6 | Reply | Automatic NTLM hash capture over LAN — instant win |
| 7 | FFUF | Fast web fuzzing — directories, parameters, vhost |
| 8 | Mimikatz | Dump Windows Credentials — NTLM, Kerberos, DPAPI |
| 9 | LinPEAS | Enumerate everything on Linux — privesc automatically |
| 10 | Hydra | Multi-protocol brute force — SSH, FTP, HTTP, SMB |
NetExec vs CrackMapExec: NetExec is an active fork of CrackMapExec, developed by the community after the original project was abandoned. It uses the same basic syntax, but NetExec is more up-to-date. Use NetExec for new engagements, and CME if you follow documentation that references it.
Index #
- Recon & OSINT
- Network Scanning & Discovery
- Web Application Testing
- Exploitation
- Brute Force & Credentials
- Active Directory & Windows
- Linux Post-Exploitation & PrivEsc
- Pivoting & Tunneling
- Sniffing & MITM
- Social Engineering & Phishing
- Cloud & Infrastructure
- LOLBins & Native Windows Tools
- Real Attack Chains
- Related Hubs
Recon & OSINT #
Before you hit the target, gather everything you can from public sources. Subdomains, emails, technologies, employees, cloud infrastructure—anything that reduces noise in the next phase and increases your known attack surface.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| amass | Passive and active subdomain enumeration, ASN mapping | amass |
| Aquatone | Automatic screenshot of all found subdomains | Aquatone |
| Assetfinder | Rapid discovery of subdomains from OSINT sources | Assetfinder |
| Eyewitness | Screenshot + visual report of web and RDP services | Eyewitness |
| SEAL | Metadata from public documents, domain and user information | SEAL |
| Gitrob | Search for secrets and credentials in public GitHub repositories | Gitrob |
| HostRecon | Rapid single-host recon, technologies and services | HostRecon |
| HTTPX | Fast HTTP probe on host list, status code, and tech stack | HTTPX |
| Maltego | Visual OSINT graph — relationships between entities, emails, IPs, domains | Maltego |
| Recon-ng | Modular OSINT framework, similar to Metasploit for recon | Recon-ng |
| ReconSpider | Automated multi-source OSINT on specific targets | ReconSpider |
| Shodan | Search Engine for Exposed Devices — IoT, ICS, Services | Shodan |
| Spider Foot | Automated OSINT, passive domain/IP scanning | Spider Foot |
| Subfinder | Fast subdomain discovery with certified transparency | Subfinder |
| theHarvester | Emails, subdomains, search engine names, and OSINT | theHarvester |
| Wappalyzer | Web technology identification — CMS, frameworks, libraries | Wappalyzer |
| Wayback URLs | Historical URLs from Wayback Machine — hidden endpoints, parameters | Wayback URLs |
| WhatWeb | Fingerprinting web technologies from CLI | WhatWeb |
Network Scanning & Discovery #
Once the OSINT perimeter is identified, you map the infrastructure. The goal is to find all active hosts, all open ports, and all exposed services. Nmap is the hub—the others complement it for specific speeds or protocols.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| Nmap | Port scan, version detection, NSE scripts — the standard | Nmap |
| Mascan | High-speed port scan on large subnets | Mascan |
| Arp-scan | LAN host discovery via ARP — more reliable than ping sweep | Arp-scan |
| Netdiscover | Passive and active ARP host discovery on the local network | Netdiscover |
| Ping | ICMP echo — host discovery base, TTL fingerprinting OS | Ping |
| Nbtscan | Scan NetBIOS on network — hostname, domain, MAC address | Nbtscan |
| NBTSScan | nbtscan alternative for NetBIOS enumeration | NBTSScan |
| RPCinfo | Lists registered RPC services — NFS, NIS, portmapper | RPCinfo |
| Showmount | Listing exported NFS shares — a prerequisite for anonymous mounting | Showmount |
| SNMP-check | Enumerate SNMP info — users, processes, routing table | SNMP-check |
| SNMPwalk | Full MIB dump via SNMP — device config, credentials | SNMPwalk |
Web Application Testing #
Once the web services are found, every surface is tested: hidden directories, vulnerable parameters, injection points, weak authentication. The FFUF + Burp Suite combo covers 90% of cases.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| Burp Suite | Proxy intercept, web vulnerability scanner, fuzzer — the central | Burp Suite |
| FFUF | Fast web fuzzing — directories, parameters, vhost, LFI | FFUF |
| Feroxbuster | Recursive Brute Force Directory with Multi-Threading | Feroxbuster |
| Gobuster | Brute force DNS and directory search — fast on a single target | Gobuster |
| Dirsearch | Directory scan with wordlist, status code filters | Dirsearch |
| Nobody | Automatic web server scan — misconfig, header, known CVEs | Nobody |
| OWASP ZAP | Open source DAST scanner, alternative to Burp Suite | OWASP ZAP |
| Nuclei | Template-based vulnerability scanner — CVE, misconfiguration | Nuclei |
| Arjun | Parameter discovery — find hidden GET/POST parameters | Arjun |
| Commix | Automated command injection — find and exploit OS injections | Commix |
| SQLmap | Automated SQL injection — DB dump, OS shell, file read | SQLmap |
| SearchSploit | Search for exploits in local ExploitDB — offline, fast | SearchSploit |
| JWT | JSON Web Token Analysis and Attack — alg:none, weak secret | JWT |
Exploitation #
Once the vulnerability is identified, you move on to exploitation. Metasploit handles standardized cases. For custom vulnerabilities or hardened environments, combine SearchSploit with manual exploits and public PoCs.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| Metasploit | Exploitation frameworks — modules for hundreds of CVEs | Metasploit |
| msfconsole | Metasploit CLI Interface — Daily Operational Use | msfconsole |
| ExploitDB | Public Exploit Databases — PoCs and CVE References | ExploitDB |
| RouterSploit | Exploitation framework for embedded devices and routers | RouterSploit |
| Weevely3 | Stealth PHP Webshell with Encrypted Channel — Post-Exploitation Web | Weevely3 |
| Vulnerability Exploitation | Methodology and approach to manual exploitation | Vulnerability Exploitation |
Brute Force & Credentials #
When exploits aren't available, weak credentials are often the way to go. Hydra covers almost all protocols in online mode. Hashcat is for offline cracking of captured hashes.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| Hydra | Brute force online — SSH, FTP, HTTP, SMB, RDP, mail, DB | Hydra |
| Medusa | Brute force parallel multi-host — Hydra alternative | Medusa |
| Hashcat | Offline password cracking — NTLM, NTLMv2, Kerberos, MD5 | Hashcat |
| Patator | Modular brute force — more flexible on custom protocols | Patator |
Active Directory & Windows #
The densest cluster. In an AD engagement, you use these tools sequentially: enumeration with BloodHound and Enum4linux, Kerberos attacks with Rubeus, lateral movement with NetExec and Impacket, and credential dumps with Mimikatz.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| blood hound | AD Attack Path Map — Shortest Path to Domain Admin | blood hound |
| NetExec | AD enumeration, password spray, and exec commands on Windows | NetExec |
| CrackMapExec | Enumeration and lateral movement on a Windows network | CrackMapExec |
| Packet | Python Toolkits — SMB, Kerberos, MSSQL, WMI, DCSync, RPC | Packet |
| The red | Kerberos Attacks — AS-REP Roasting, Kerberoasting, ticket forge | The red |
| Mimikatz | Dump LSASS, NTLM hash, Kerberos tickets, DPAPI secrets | Mimikatz |
| SafetyKatz | Mimikatz .NET port — AV bypass, in-memory execution | SafetyKatz |
| Evil-WinRM | Shell on WinRM (5985/5986) — lateral movement and file transfer | Evil-WinRM |
| Enum4linux-ng | SMB/LDAP Enumeration — Users, Shares, Policies, Groups | Enum4linux-ng |
| LDAP search | Raw LDAP Query — Dump Users, Groups, GPOs, Computers | LDAP search |
| rpcclient | RPC shell — enumerate users, SIDs, policies via null session | rpcclient |
| SMBclient | SMB share access — list, download, file upload | SMBclient |
| SMBmap | Enumerate SMB shares — permissions, contents, drive mapping | SMBmap |
| SMBexec | Executing commands via SMB without touching the disk | SMBexec |
| WMIexec | Command execution via WMI — agentless, low noise | WMIexec |
| PsExec | Remote execution via SMB — create temporary service | PsExec |
| AdFind | AD enumeration via LDAP — alternative to BloodHound collector | AdFind |
| seat belt | Enumerate Windows host configuration — privileges, defenses, credentials | seat belt |
| SharpUp | Detect Windows misconfiguration for privilege escalation | SharpUp |
| SharpDPAPI | DPAPI Secret Dump — Browser Credentials, Password Manager | SharpDPAPI |
| SharpChrome | Dump Chrome credentials and cookies via DPAPI | SharpChrome |
| Sherlock | Find local CVEs for privilege escalation on Windows | Sherlock |
| Inveigh | Responder .NET — LLMNR/NBT-NS poisoning from Windows | Inveigh |
| KeyThief | Extracts KeePass keys from memory — credential theft | KeyThief |
| lazagne | Dump credentials from browsers, mail clients, and various tools | lazagne |
| Invoke-Manipulation | Bypass AMSI and PowerShell logging — evasion defenses | Invoke-Manipulation |
| WMIC | LOLBin Windows — exec commands, WMI queries, lateral movement | WMIC |
| Pass the Hash | Use NTLM hash without cracking it to authenticate | Pass the Hash |
Linux Post-Exploitation & PrivEsc #
Once you've got a Linux shell, the goal is to become root. LinPEAS automates the search for vectors, while GTFOBins tells you how to exploit them. Pspy monitors processes in real time without root—this is often the way to discover cron jobs with elevated privileges.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| LinPEAS | Automatically enumerate everything — privesc, credentials, config | LinPEAS |
| LinEnum | Bash script for privilege escalation check — legacy but reliable | LinEnum |
| LSE | Linux Smart Enumeration — Priority-graded output | LSE |
| Lynis | Linux system audit — find misconfiguration and hardening gaps | Lynis |
| GTFOBins | Linux Binary Reference for Privesc, Bypass, and Shell — Essential | GTFOBins |
| Getcap | Linux Capabilities List — Often-Ignored Privesc Vector | Getcap |
| Pspy | Monitor processes in real time without root — find cron jobs | Pspy |
| JAWS | PowerShell script for private Windows — analogue of LinPEAS | JAWS |
| WinPEAS | Automatic Windows enumeration for privilege escalation | WinPEAS |
| WinEnum | Enumerate Windows configuration — services, tasks, permissions | WinEnum |
| Unix-PrivEsc-Check | Perl script for legacy Unix systems — compatible with sh | Unix-PrivEsc-Check |
| MimiPenguin | Dump credentials from memory on Linux — gnome-keyring, SSH | MimiPenguin |
| chkrootkit | Locates rootkits installed on Linux system | chkrootkit |
| osquery | SQL queries on operating system — processes, network, files, users | osquery |
Pivoting & Tunneling #
Within the network, you need to reach segments that aren't directly accessible. Chisel and socat are the most commonly used in HTB labs. SSHuttle is the most transparent in real-world environments. ProxyChains routes existing tools through the tunnel without modifying them.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| Chisel | TCP/UDP tunneling via HTTP — also works through proxies | Chisel |
| Socat | Multi-purpose TCP/UDP relay — port forward, bind/reverse shell | Socat |
| SSHuttle | VPN via SSH — Route all traffic without an additional client | SSHuttle |
| ProxyChains | Route tool through SOCKS/HTTP proxy — transparent pivoting | ProxyChains |
| Plink | PuTTY CLI — SSH tunneling from Windows without installation | Plink |
| RevSocks | Reverse SOCKS proxy — useful when the target is behind NAT | RevSocks |
| Netcat | TCP/UDP relay, bind/reverse shell, basic file transfer | Netcat |
| nc | Netcat — Variants and Syntax on Different Systems | nc |
Sniffing & MITM #
On the LAN, unencrypted traffic is an immediate source of credentials. Responder poisons the network and automatically captures NTLM hashes. Wireshark and tcpdump analyze traffic. Ettercap and Bettercap handle full MITM attacks with real-time packet modification.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| Wireshark | GUI Traffic Analysis — Filter, decode, and track TCP streams | Wireshark |
| tcpdump | Packet capture CLI — capture, filter, export .pcap | tcpdump |
| Tshark | Wireshark CLI — Offline, scriptable analysis of pcap files | Tshark |
| Reply | LLMNR/NBT-NS/MDNS poisoning — capture NTLM hash automatically | Reply |
| Ettercap | ARP poisoning + MITM — intercept and modify LAN traffic | Ettercap |
| Bettercap | Modern MITM framework — ARP, DNS, HTTPS downgrade | Bettercap |
| MITMProxy | Interactive HTTP/HTTPS Proxy — Inspects and modifies requests | MITMProxy |
Social Engineering & Phishing #
When there are no exploitable technical vulnerabilities, the attack goes through people. GoPhish manages comprehensive phishing campaigns with tracking. EvilGinx2 captures credentials and session cookies, bypassing MFA.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| GoPhish | Phishing framework — email campaigns, landing pages, tracking | GoPhish |
| EvilGinx2 | Reverse proxy phishing — capture credentials and bypass MFA cookies | EvilGinx2 |
| BeEF | Browser Exploitation Framework — browser hooks via stored XSS | BeEF |
| Social Engineer Toolkit | SE framework — phishing, vishing, automated pretexting | Social Engineer Toolkit |
Cloud & Infrastructure #
Misconfigured cloud environments expose public S3 buckets, overly privileged IAM roles, and unauthenticated APIs. These tools automate the detection of these vectors across AWS, Azure, and GCP.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| CloudEnum | List public cloud resources — AWS, Azure, GCP | CloudEnum |
| S3Scanner | Find and test public or misconfigured S3 buckets | S3Scanner |
| AWS Privilege Escalation | Techniques and tools for private on AWS IAM | AWS Privilege Escalation |
LOLBins & Native Windows Tools #
Native Windows tools are the stealthiest: already present on the system, designed by Microsoft, and rarely blocked by AV/EDR. Always use them before downloading external tools to the target—less noise, fewer traces, less detection.
| tool | What does it do in the pentest? | Guide |
|---|---|---|
| CertUtil.exe | Download files, encode/decode base64, verify certificates | CertUtil |
| WMIC | WMI queries, exec processes, lateral movement — Powerful LOLBin | WMIC |
| Scheduled Task | Persistence and privacy via Windows task scheduler | Scheduled Task |
| crontab | Persistence on Linux via cron — classic privesc vector | crontab |
| RSH | Legacy Unix remote shell — passwordless access via .rhosts | RSH |
| telnet | Clear service connection, banner grab, port test | telnet |
| SSH Audit | SSH configuration audit — weak algorithms, vulnerable versions | SSH Audit |
| SSH-KeyHunter | Search for private SSH keys in the filesystem — post-exploitation | SSH-KeyHunter |
| Empire | C2 framework PowerShell/Python — advanced post-exploitation | Empire |
| Fail2ban | Defensive Log Analysis: Understanding Rate Limits Before Bruteforce | Fail2ban |
Real Attack Chains #
The tools aren't used in isolation. These are the most common chains you'll encounter in real-world environments, ProLab HTB, and OSCP assessments.
Chain 1 — External Recon → Web RCE #
Amass / Subfinder → Enumerazione subdomini
HTTPX → Probe HTTP su tutti i subdomini trovati
Nmap → Port scan + version detection sui target vivi
Nikto / Nuclei → Scan automatico vulnerabilità web note
FFUF → Directory brute force, parameter fuzzing
Burp Suite → Analisi manuale, intercept, injection test
SQLmap / Commix → Exploitation — dump DB o OS shell
Weevely3 → Webshell persistente per post-exploitationChain 2 — AD Attack Chain (from LAN network) #
Nmap → Identifica DC, host Windows, porte AD aperte
Enum4linux-ng → Null session — utenti, share, policy dominio
Responder → LLMNR/NBT-NS poisoning → cattura NTLMv2 hash
Hashcat → Crack hash offline con wordlist
NetExec → Valida credenziali, password spray, enumera rete
BloodHound → Mappa attack path — trova percorso verso DA
Rubeus → Kerberoasting → hash account servizio
Hashcat → Crack hash Kerberos offline
Impacket secretsdump → DCSync → dump tutti gli hash del dominio
Mimikatz → Golden Ticket / credenziali da LSASS
Domain Admin ✅Chain 3 — Linux Post-Exploitation #
Shell iniziale → whoami, id, uname -a, ip a
LinPEAS → Enumera tutto — SUID, cron, sudo, capability
Pspy → Monitora processi — trova cron job root
GTFOBins → Identifica binario sfruttabile per privesc
Getcap → Controlla capabilities — python3, perl, openssl
Root ✅
MimiPenguin → Dump credenziali da memoria
Chisel + ProxyChains → Pivoting verso subnet internaChain 4 — Internal Windows Lateral Movement #
Nmap → Mappa rete interna — host Windows attivi
CrackMapExec → Verifica accesso su tutti gli host
SMBmap / SMBclient → Enumera share — cerca file con credenziali
Pass-the-Hash → Usa NTLM hash senza password in chiaro
Evil-WinRM → Shell su host via WinRM (5985)
WinPEAS / Seatbelt → Enumera privesc locale
SharpDPAPI → Dump credenziali salvate — browser, Windows
Mimikatz → Dump LSASS — NTLM hash e ticket Kerberos
BloodHound → Aggiorna attack path con nuove credenziali
Lateral movement → Ripeti fino a Domain Admin ✅Related Hubs #
| Hub | What it covers |
|---|---|
| TCP/UDP ports in Penetration Testing | All ports for offensive scenario — AD, web, database, mail, DevOps, protocols |
| Web Vulnerabilities & Attack Techniques | SQL injection, XSS, SSRF, SSTI, LFI and all web hacking |
For professional penetration testing on real infrastructures, discover HackIta's services.








