Exploit (computer security)

From Wikipedia, the free encyclopedia
Jump to: navigation, search

An exploit (from the English verb to exploit, meaning "using something to one’s own advantage") is a piece of software, a chunk of data, or a sequence of commands that takes advantage of a bug or vulnerability in order to cause unintended or unanticipated behavior to occur on computer software, hardware, or something electronic (usually computerized). Such behavior frequently includes things like gaining control of a computer system, allowing privilege escalation, or a denial-of-service (DoS or related DDoS) )attack.


There are several methods of classifying exploits. The most common is by how the exploit contacts the vulnerable software. A remote exploit[1] works over a network and exploits the security vulnerability without any prior access to the vulnerable system.

A local exploit[2] requires prior access to the vulnerable system and usually increases the privileges of the person running the exploit past those granted by the system administrator. Exploits against client applications also exist, usually consisting of modified servers that send an exploit if accessed with a client application.

Exploits against client applications may also require some interaction with the user and thus may be used in combination with the social engineering method. Another classification is by the action against the vulnerable system; unauthorized data access, arbitrary code execution, and denial of service are examples.


Normally a single exploit can only take advantage of a specific software vulnerability. Often, when an exploit is published, the vulnerability is fixed through a patch and the exploit becomes obsolete until newer versions of the software become available. This is the reason why some black hat hackers do not publish their exploits but keep them private to themselves or other hackers.

Such exploits are referred to as zero day exploits and to obtain access to such exploits is the primary desire of unskilled attackers, often nicknamed script kiddies.[3]


Exploits are commonly categorized and named[4][5] by the type of vulnerability they exploit (see vulnerabilities for a list), whether they are local/remote and the result of running the exploit (e.g. EoP, DoS, spoofing).


Pivoting refers to a method used by penetration testers that uses the compromised system to attack other systems on the same network to avoid restrictions such as firewall configurations, which may prohibit direct access to all machines. For example, if an attacker compromises a web server on a corporate network, the attacker can then use the compromised web server to attack other systems on the network. These types of attacks are often called multi-layered attacks. Pivoting is also known as island hopping.

Pivoting can further be distinguished into proxy pivoting and VPN pivoting. Proxy pivoting generally describes the practice of channeling traffic through a compromised target using a proxy payload on the machine and launching attacks from the computer.[6] This type of pivoting is restricted to certain TCP and UDP ports that are supported by the proxy.

VPN pivoting enables the attacker to create an encrypted layer to tunnel into the compromised machine to route any network traffic through that target machine, for example, to run a vulnerability scan on the internal network through the compromised machine, effectively giving the attacker full network access as if they were behind the firewall.


See also[edit]


  1. ^ "Remote Exploits - Exploit Database". www.exploit-db.com. 
  2. ^ "Privilege Escalation and Local Exploits - Exploit Database". www.exploit-db.com. 
  3. ^ Whitman,Michael (2012). "Chapter 2: The Need for Security". Principles of Information Security, Fourth Edition. Boston, Mass: Course Technology. p. 53.
  4. ^ "Exploits Database by Offensive Security". www.exploit-db.com. 
  5. ^ "Exploit Database | Rapid7". www.rapid7.com. 
  6. ^ "Metasploit Basics – Part 3: Pivoting and Interfaces". Digital Bond.