Exploit
An exploit is code, a technique, or a sequence of actions that takes advantage of a specific security vulnerability in software, hardware, or a system to gain unauthorized access or control.
An exploit (from the verb to exploit) is an attack tool or technique that takes advantage of a specific security vulnerability. Exploits can serve as proof-of-concept (PoC) to demonstrate a vulnerability or be used as a weapon in actual attacks.
Types of Exploits
Remote Code Execution (RCE): The attacker can execute arbitrary code on the target system without physical access. The most dangerous category of exploits.
Privilege Escalation: Elevating privileges from a normal user account to administrator/root privileges.
SQL Injection: Injecting SQL code into database queries to retrieve, manipulate, or delete data.
Buffer Overflow: Overwriting memory areas to control program execution. A classic technique, now more difficult due to modern protection mechanisms (ASLR, DEP).
Use-After-Free: Exploiting memory management errors where freed memory is reused.
Exploit Lifecycle
An exploit typically goes through several phases:
- Discovery: Vulnerability is discovered (internally or by security researchers)
- PoC Development: Initial proof of concept, often without a malicious payload
- Weaponization: Development of a reliable, weaponized exploit
- Public Disclosure / CVE: Publication following coordination with the vendor (responsible disclosure)
- Patch: Vendor releases a fix
- Patch Gap: Time window between patch release and widespread deployment – high-risk period
Exploit Databases (legitimate)
- Exploit-DB (exploit-db.com): Archive of public exploits, operated by Offensive Security
- Metasploit Framework: Integrated exploit tool for authorized penetration tests
- GitHub: Many PoC exploits are shared publicly