13 tools

Tools
& field notes

The tools I actually use in tests. Click any of them to find, Q&A style, what it does, when I reach for it, example commands and my own notes.

Recon

Nmap

The standard for network discovery and port scanning.

Language
C / Lua
License
Açık kaynak
Level
Beginner
Q1What is it for?

Finds which ports are open on a target and which services and versions run on them. Its NSE scripting engine adds service-specific checks.

Q2When do I use it?

At the very start of every in-scope network test. I don't move on before mapping the attack surface.

Q3Example commands
Service & version detection
nmap -sV -sC -oA scan target.lab
All TCP ports
nmap -p- --min-rate 1000 target.lab

⚠ Commands are for authorised testing and your own lab only.

Q4My note

“Always save output with -oA; when reporting you need to prove which scan ran when.”

Q5What are the alternatives?
  • RustScan
  • Masscan
  • Naabu

Network

Wireshark

Inspect network traffic packet by packet.

Language
C / C++
License
Açık kaynak
Level
Intermediate
Q1What is it for?

Captures network traffic and decodes hundreds of protocols into a readable form. It shows what an application actually says on the wire.

Q2When do I use it?

When learning how a protocol works, looking for unencrypted traffic or verifying what a tool actually sends.

Q3Example commands
Show only HTTP requests (filter)
http.request
Traffic with one host
ip.addr == 10.10.10.5 && tcp.port == 443

⚠ Commands are for authorised testing and your own lab only.

Q4My note

“Display filters and capture filters use different syntax; that confuses most people at first.”

Q5What are the alternatives?
  • tcpdump
  • tshark

Proxy

Burp Suite

The Swiss army knife of web security testing.

Language
Java
License
Community ücretsiz / Pro ücretli
Level
Beginner
Q1What is it for?

A proxy that sits between browser and server. It intercepts, modifies and replays requests (Repeater), automates them (Intruder) and is extensible with add-ons.

Q2When do I use it?

In every web and API test. I first browse the app like a normal user to collect HTTP history, then dig into interesting requests one by one in Repeater.

Q3My note

“Set the scope (Target → Scope) first; it cuts noise and keeps you from accidentally hitting out-of-scope systems.”

Q4What are the alternatives?
  • ZAP
  • Caido
  • mitmproxy

Proxy

ZAP

Open-source web app scanner and proxy.

Language
Java
License
Açık kaynak
Level
Beginner
Q1What is it for?

An intercepting proxy similar to Burp, plus passive/active scanning and ready-made automation for CI/CD pipelines.

Q2When do I use it?

When I need free automated scanning or want to add baseline security checks to a pipeline.

Q3Example commands
Baseline scan (Docker)
docker run -t zaproxy/zap-stable zap-baseline.py -t https://app.lab

⚠ Commands are for authorised testing and your own lab only.

Q4My note

“The baseline scan is passive and fairly safe even in production. Run active scans only in an authorised test environment.”

Q5What are the alternatives?

Web

ffuf

Fast web fuzzer.

Language
Go
License
Açık kaynak
Level
Beginner
Q1What is it for?

Replaces the FUZZ keyword in a URL, parameter, header or body with a wordlist to find hidden directories, files, parameters and virtual hosts.

Q2When do I use it?

When discovering parts of an app that aren't linked anywhere, especially old endpoints and backup files.

Q3Example commands
Directory discovery
ffuf -u https://app.lab/FUZZ -w wordlist.txt -mc 200,301,302,403
Filter noise by size
ffuf -u https://app.lab/FUZZ -w wordlist.txt -fs 1234

⚠ Commands are for authorised testing and your own lab only.

Q4My note

“Request a bogus path first to learn the size of the "not found" response, then filter it with -fs. Set the rate limit (-rate) to the programme's rules.”

Q5What are the alternatives?
  • Feroxbuster
  • Gobuster
  • Dirsearch

Recon

httpx

Quickly find live web services.

Language
Go
License
Açık kaynak
Level
Beginner
Q1What is it for?

Takes a list of hosts and finds which serve HTTP(S), collecting status code, title, technologies and server info.

Q2When do I use it?

Right after building a subdomain list, to decide which targets deserve attention.

Q3Example commands
Title, status code and tech
httpx -l hosts.txt -title -status-code -tech-detect

⚠ Commands are for authorised testing and your own lab only.

Q4My note

“Don't confuse it with the Python httpx library; check which one is on your PATH.”

Q5What are the alternatives?
  • httprobe

Recon

Subfinder

Passive subdomain discovery.

Language
Go
License
Açık kaynak
Level
Beginner
Q1What is it for?

Collects a domain's subdomains from certificate logs and public sources without touching the target.

Q2When do I use it?

As the first recon step in bug bounty when the scope is wide (*.target.com).

Q3Example commands
Subdomain list → live hosts
subfinder -d target.com -silent | httpx -silent

⚠ Commands are for authorised testing and your own lab only.

Q4My note

“Adding API keys (provider-config.yaml) significantly increases the number of results.”

Q5What are the alternatives?
  • Amass
  • assetfinder

Web

Nuclei

Template-based vulnerability scanner.

Language
Go
License
Açık kaynak
Level
Intermediate
Q1What is it for?

Runs thousands of checks defined as YAML templates (known CVEs, misconfigurations, exposed panels) against targets at speed.

Q2When do I use it?

To quickly sweep a large host list for known issues; before manual testing, not instead of it.

Q3Example commands
High/critical templates only
nuclei -l live.txt -severity high,critical -rl 50

⚠ Commands are for authorised testing and your own lab only.

Q4My note

“Always verify findings by hand; templates can produce false positives. Writing your own template is the best way to learn.”

Q5What are the alternatives?

Web

sqlmap

SQL injection detection and verification.

Language
Python
License
Açık kaynak
Level
Intermediate
Q1What is it for?

Automatically tests whether a parameter is vulnerable to SQL injection and verifies what it finds.

Q2When do I use it?

To confirm a parameter I already suspect by hand; I don't blindly run it against every parameter.

Q3Example commands
Test with a request saved from Burp
sqlmap -r request.txt -p id --batch

⚠ Commands are for authorised testing and your own lab only.

Q4My note

“It is very noisy and loads the database. Don't use it if programme rules forbid automated tools; keep --level and --risk low.”

Q5What are the alternatives?
  • ghauri

API

Postman

Build, save and replay API requests.

Language
Electron
License
Ücretsiz / ücretli planlar
Level
Beginner
Q1What is it for?

Organises API requests into collections; environment variables, auth helpers and test scripts make it easy to explore APIs systematically.

Q2When do I use it?

If an API has docs (OpenAPI/Swagger) I import them and walk every endpoint, testing BOLA and authorisation with different user tokens.

Q3My note

“Routing Postman through the Burp proxy (Settings → Proxy) combines the strengths of both tools.”

Q4What are the alternatives?
  • Insomnia
  • Bruno

Exploitation

Metasploit

Modular penetration testing framework.

Language
Ruby
License
Açık kaynak (Framework)
Level
Intermediate
Q1What is it for?

A framework bringing scanning, verification and post-exploitation modules into one console. Used for controlled verification of known vulnerabilities.

Q2When do I use it?

In lab environments (HTB, THM) and authorised tests when verifying a known vulnerability.

Q3Example commands
Search modules
msfconsole -q
search type:auxiliary name:http_version

⚠ Commands are for authorised testing and your own lab only.

Q4My note

“Don't run a module without understanding it; read its description and references with "info".”

Q5What are the alternatives?
  • Sliver
  • Havoc

Active Directory

BloodHound

See Active Directory relationships as a graph.

Language
Go / TypeScript
License
Açık kaynak (CE)
Level
Intermediate
Q1What is it for?

Models users, groups, computers and permissions in Active Directory as a graph and visualises privilege paths.

Q2When do I use it?

In AD labs to understand the environment; defenders use it too, to find unnecessary privilege chains.

Q3My note

“Learning to read the graph matters more than running the tool. Study what each built-in query looks for.”

Q4What are the alternatives?
  • PingCastle
  • ADExplorer

OS / Lab

Kali Linux

A ready-made Linux distribution for security testing.

Language
Debian
License
Açık kaynak
Level
Beginner
Q1What is it for?

A Debian-based distribution with hundreds of security tools preinstalled. Runs as a VM or under WSL.

Q2When do I use it?

The base of my testing machine. I start every project from a clean snapshot.

Q3Example commands
Update the system
sudo apt update && sudo apt full-upgrade -y

⚠ Commands are for authorised testing and your own lab only.

Q4My note

“Don't use Kali as your daily OS; keep it in a VM and take snapshots.”

Q5What are the alternatives?
  • Parrot OS
  • Exegol