Skip to content

Methodology

There are many applications you may come across while performing penetration testing. I've provided a cheat sheet for some of the most common ones that you may find during your assessments. If you discover a software application that I haven't covered, don't worry. I've also included a generalized methodology that can be applied to any software application you might come across.

Step 1. Information Gathering

Begin by Understand the application architecture and identifying the version of the Application This information can often be critical in determining known vulnerabilities.

Task Description
HTTP Headers Inspect HTTP headers as they might reveal version details of web servers, frameworks.
HTML and JavaScript Comments Inspect the source code of web pages for comments that may include version numbers or build dates.
Review Open Source Application Explore the GitHub/GitLab repository structure and read documentation to find files that could provide valuable information.
File and Directory Discovery Use tools like DirBuster to discover hidden files and directories that are not linked from the main site but are still accessible.
Use Specialized Automation Tools Use automation tools specifically built for certain applications, like WPScan for WordPress, to uncover vulnerabilities and configuration issues.
Error Messages and Stack Traces Check for verbose error messages or stack traces in the application which can reveal useful information about the backend architecture.
Browser Extensions Use browser extensions like Wappalyzer or BuiltWith to automatically detect and display web technology details.

Step 2. Try Default Passwords

Check for default passwords. Many Software are left with default credentials, which poses significant security risks if not changed.

Task Description
Identify Default Credentials Refer to the application documentation or installation guides, search online for default credential lists, and be aware that some applications have default credentials that are not publicly documented.
Common Default Credentials Examples admin/admin, root/root, user/password, guest/guest.
Online Resources Use websites like default-password.info to find default credentials for various web applications.
Automated Tools Use tools like Hydra, Medusa, or Ncrack to automate the process of trying default credentials .
Check Configuration Files Inspect web application configuration files for hardcoded credentials that might have been left by developers.
Review Source Code Analyze the web application source code for any hardcoded default credentials.
Consult Community Forums Visit forums and community sites such as Reddit, Stack Overflow, or vendor-specific forums to see if others have shared default credentials for the web application in question.

Step 3. Check for Common Vulnerabilities

check If the version or plugin version vulnerable. by Using the following techniques:

Technique Query Example
Use specialized databases and forums site:exploit-db.com | site:github.com | site:securityfocus.com "[Software Name] [version]"
Search for exploits or vulnerabilities "[Software Name] [version]" +exploit | vulnerability
Look for patches, updates, or changelogs "[Software Name] [version]" +patch | update | changelog

Step 4. Learn to Exploit the Vulnerability

If you are unfamiliar with how to exploit a found vulnerability, consider learning from practical examples and tutorials. A good resource for walkthroughs and tutorials is IppSec and 0xdf, which can be accessed here:

  • https://ippsec.rocks/
  • https://0xdf.gitlab.io/tags
    Use the search function to find relevant videos by entering the software name and version.