Exploit Vulnerabilities

Overview

This room moves from identifying vulnerabilities to actually researching and exploiting them. It compares automated and manual vulnerability research, introduces practical exploit sources, and walks through a simple remote code execution workflow using a public exploit.

Core idea: finding a vulnerability is only the first half of the job. You still need to validate it, locate a workable exploit, adapt it to your environment, and use it carefully.

1) Automated vs Manual Vulnerability Research

Automated scanners are useful for speed and coverage, but they are not a replacement for manual testing.

Manual research is slower but gives the tester better control, better context, and better judgment about what is actually exploitable.

2) Common Vulnerability Types

The room highlights several categories you should expect to encounter during assessments:

PT1 takeaway: these categories map directly to the kind of issues you need to recognize quickly when moving from recon to exploitation.

3) Finding Manual Exploits

After identifying a likely vulnerability, the next step is exploit research. The room focuses on three useful sources:

4) Searchsploit

searchsploit is often the fastest way to check whether a known application or version already has public exploit material.

Example: the room shows searchsploit wordpress returning a large set of public WordPress-related exploits.

5) Example Manual Exploitation Workflow

The practical goal in the room is to use a public exploit to achieve remote code execution and gain a foothold.

  1. Identify a vulnerable service from earlier research.
  2. Locate a public exploit for that specific issue.
  3. Read the exploit instead of assuming it will work as-is.
  4. Modify any required variables such as local IP, port, or target URL.
  5. Run a harmless command first, such as whoami, to verify code execution.
  6. Use the exploit to retrieve useful files or continue post-exploitation.

6) Adapting Public Exploits

A public exploit usually needs changes before it works in your environment.

The room demonstrates editing variables like mymachine before running the exploit.

7) Verifying RCE Safely

When testing remote code execution, start with low-risk commands that prove execution without changing much on the target.

Reasoning: small validation steps reduce noise, reduce mistakes, and help you isolate whether failures come from the exploit, the target, or your own configuration.

Exam Notes (PT1)