🛠Security Tool Cheatsheet
Alex Morgan — Senior Penetration Tester
What is Nikto?
Nikto is an open-source web server scanner that performs comprehensive tests against web servers for multiple vulnerabilities, including dangerous files, outdated server versions, and orphaned files. It is an essential tool for security analysts and penetration testers who need to assess the security posture of web applications.
Installation
Nikto can be installed on various platforms, including Linux, macOS, and Windows. The easiest way to install Nikto is through the terminal using the following command:
git clone https://github.com/sullo/nikto.git cd nikto perl nikto.pl
Ensure you have Perl installed, as Nikto is written in Perl and requires it to run.
Basic Syntax
The basic syntax for running Nikto is:
nikto -h
Replace
Discovery
Scan a Single Target
To perform a quick scan on a single URL:
nikto -h http://example.com
Scan a List of Targets
If you have multiple targets, create a text file with one URL per line and use:
nikto -h targets.txt
Scanning
Basic Vulnerability Scan
To perform a detailed scan for vulnerabilities:
nikto -h http://example.com -General
Scan for Specific Issues
To scan for specific vulnerabilities, such as SSL issues:
nikto -h https://example.com -ssl
Exploitation
Check for Common Files
Nikto can also be used to identify common files that might be exploitable:
nikto -h http://example.com -evidence
Analysis
Output Options
Nikto allows output in various formats, including HTML, XML, and CSV:
nikto -h http://example.com -output report.html
Evasion
Using Different User Agents
To avoid detection, use a custom user agent:
nikto -h http://example.com -useragent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
Reporting
Generate Reports
For conducting assessments and generating reports, you can use:
nikto -h http://example.com -C all -output report.csv
Quick Reference Table
| Flag | Description |
|---|---|
| -h | Specify target host |
| -output | Specify output filename |
| -ssl | Use SSL for connections |
| -useragent | Set custom user agent |
Pro Tips
- Frequent Updates: Keep your Nikto database updated for discovery of new vulnerabilities.
- Scan with Caution: Always have permission to test the target systems.
- Combine Tools: Use Nikto in conjunction with other tools like nmap for comprehensive assessments.
Real-World Examples
Here are some practical example scenarios:
Example 1: Scanning a Test Server
nikto -h http://testsite.com -C all -output test_report.html
Example 2: Custom User Agent for Corporate Scans
nikto -h http://internal.company.com -useragent "Mozilla/5.0 (compatible)"
These examples demonstrate how to effectively use Nikto for security testing, improving the assessment process with practical, real-world application.