githubEdit

Module 3: Web Application Enumeration Methodology

Web Application Reconnaissance

Determine the Scope

Identify what you can and can't touch.

Passive Information Gathering

Use tools like whois, DNSDumpster, crt.sh, Shodan, etc. to gather information without actively touching the target.

Web Application Enumeration

Accessing the Enumeration Sandbox Application

Start the VM and add it to your hosts file.

Discovering Running Services

Use nmap.

Checking server headers with curl

Checking service banners with netcat

Manual HTTP Endpoint Discovery

Use Burp Suite's site map, check robots.txt along with sitemaps.xml.

Automated HTTP Endpoint Discovery

Use tools like hakrawler, gobuster, dirb, etc.

Example usage of hakrawler

Example usage of dirb

Dirb options, focusing on the extension option

Information Disclosure

These are issues where unnecessary information is provided. Example: login page informing of the correct/incorrect usernamed and/or password.

Login Page with Error Message disclosing information

In the above example, this error allows us to enumerate valid usernames.

Using Developer Tools to identify POST request parameters

Example usage of ffuf

Components with Vulnerabilities

Some frameworks, add-ons, plugins, etc. contain vulnerabilities.

Sourcing Wordlists

Common Wordlists

SecListsarrow-up-right is great. So is payloadsallthethingsarrow-up-right.

Creating Custom Wordlists

Running cewl and checking the results

Types of Attacks

Authentication Bypass

Trying to gain new permissions β€” use valid credentials, SQLi, brute force, hijacking, abusing CORS, etc.

Data Exfiltration

Extracting sensitive/restricted data from the target network.

Remote Code Execution

Executing commands on the target. Bind shell is listening on the target. Reverse shell calls back to our device.

Web Shells

Limited, shell-like interface through a script installed on the web server. Check out /usr/share/webshells/.

Appendix

Proxy Tools

  • Burp Suitearrow-up-right is a robust platform that can perform security testing of web applications. It includes several tools that can help identify web application vulnerabilities. There's a simplified free version available, but the professional/commercial version offers more comprehensive tools.

  • Zed Attack Proxyarrow-up-right (ZAP) is a free, open-source web application security scanner. It includes features to allow automated and manual testing for web application vulnerabilities.

  • Fiddlerarrow-up-right has several versions of its debugging proxy tool. While this tool can capture and inspect HTTP traffic, it does not include any security tools.


Content Discovery Tools


Vulnerability Scanners


Specialty Tools

  • Niktoarrow-up-right is a free, open source web server scanner that can conduct comprehensive tests against web servers for various vulnerabilities.

  • Wfuzzarrow-up-right is a web application brute forcing tool. We can use it for content discovery, fuzzing, or more advanced attacks.

  • ffufarrow-up-right is a web application brute forcing tool similar to Wfuzz, but written in Go.

  • sqlmaparrow-up-right is a tool for discovering and exploiting SQL injection vulnerabilities in a variety of database servers.

  • Metasploit Frameworkarrow-up-right (MSF) is a pentesting framework with scanning and exploitation capabilities. While maintained by Rapid7arrow-up-right, it is frequently updated with new exploits by the community. For more information on using the Metasploit Framework, refer to OffSec's Metasploit Unleashedarrow-up-right (MSFU).

Last updated