Quttera - FREE Online Heuristic URL Scanner
Articles
Visit our BLOG for more posts

Types of applications targeted by attackers


In a web-based environment the most attacked applications are those having direct or indirect relation to internet.

The list of such applications mostly comprised from PDF readers, digital document processors, media players and web browsers, while in case of web-browsers in addition to its internal vulnerabilities, web- browsers may also suffer from vulnerabilities found in installed plug-ins (like ActiveX or Firefox add-ons).

Here are some examples of known vulnerabilities (as named in CVE) and their possible exploitation:

Description Vulnerability CVE identifier
Heap-based buffer overflow in the custom heap management system in Adobe Reader and Acrobat 9.x before 9.3.2, and 8.x before 8.2.2 on Windows and Mac OS X, allows remote attackers to execute arbitrary code or cause a denial of service (memory corruption) via a crafted PDF document, aka FG-VD-10-005. CVE-2010-1241
Adobe Reader 9.3.1 on Windows does not restrict the contents of one text field in the Launch File warning dialog, which makes it easier for remote attackers to trick users into executing an arbitrary local program that was specified in a PDF document, as demonstrated by a text field that claims that the Open button will enable the user to read an encrypted message. CVE-2003-0533
SQL injection vulnerability in the HD FLV Player (com_hdflvplayer) component 1.3 for Joomla! allows remote attackers to execute arbitrary SQL commands via the id parameter to index.php. CVE-2010-0884
Microsoft Windows Media Player 11 does not properly perform color space conversion, which allows remote attackers to cause a denial of service (memory corruption) or possibly execute arbitrary code via a crafted .AVI file. NOTE: the provenance of this information is unknown; the details are obtained solely from third party information. CVE-2010-1042
The USB service in VMware Workstation 7.0 before 7.0.1 build 227600 and VMware Player 3.0 before 3.0.1 build 227600 on Windows might allow host OS users to gain privileges by placing a Trojan horse program at an unspecified location on the host OS disk. CVE-2010-1140


Few recent examples show that when it comes to a web browsers and web applications vulnerabilities then even banking structures may become victims of the attackers. Like it happened in 2010 when the front page of the NorthWesternBank web site was injected with the iFrame leading to the client-side exploits and with the Bank of India back in 2007 when the same attack vector was used making its site serving the malware purposes.

Top

From Exploit to a Shell-Code


Software vulnerability is basically an incorrect or invalid handling of input parameters passed to a vulnerable program or simply software bug. A specially crafted input exploiting such vulnerability is called software vulnerability exploit or simply exploit.

If the software vulnerability is unknown to the others or undisclosed to the software manufacturer then the actual code that uses it often called a zero-day exploit or a zero day attack.

A common lifecycle of the zero day exploit is as follows:

1.  The software manufacturer releases product containing the vulnerability, usually an unknown one.
2.  The attacker finds the vulnerability before software developer does or before he was informed by the users.
3.  The attacker creates and distributes an exploit.
4.  The manufacturer finds the vulnerability and starting writing the fix.

Since the attackers won’t announce, for an understandable reason, that they have found a vulnerability it might take several months to find out about the existence of such an exploit. In some cases it might take even years like in case with Microsoft IE when it confirmed the existence of vulnerability in IE 7 which affected previous versions as well and due to this fact the zero day exploits are considered the most dangerous and undetectable.

Every exploit contains a part called a shell-code. An initial purpose of the shell-code is to start an operating shell program that provides a communication interface between user and operating system and to establish a connection with remote control server (for example attacker's computer) for further instructions. Once the shell-code is injected and the control of the compromised machine is gained, the malware or botnet agent will be downloaded and installed, the new station will be attacked or any other scenario may occur.

The following image shows the structure of exploit and shell-code.

FILE BODY NOP SLED SHELL-CODE BODY FILE BODY

Picture 1 - exploit structure

The NOP SLED is used to catch instruction pointer register of CPU and transfer it to body of the shell-code. NOP sled is comprised of a meaningless sequence of single or multi-byte instructions which have only one purpose, to start execution of a shell-code from a correct position.

Polymorphic shell-codes


Plain exploits may be easily detected by anti-virus engines simply by using recognition patterns of NOP-sleds, exploit (shell-code) content or body. To avoid this, malware writers develop a polymorphic shell-code that mutates from generation to generation (from execution to execution) while keeping original execution algorithm. As in case of virus mutation, where different packers are used to hide its real code, shell-code mutation is based on different encryption engines which modify exploit's body keeping the original shell-code algorithm.

The following image shows structure of exploit and polymorphic shell-code.

FILE BODY NOP SLED DECRIPTION PROCEDURE SHELL-CODE BODY FILE BODY

Picture 2 - encrypted exploit structure

As it could be seen from Picture 2, the encrypted exploit as well as plain exploit starts with NOP sled which transfer instruction pointer register to next exploit's section. Unlike the regular exploit the NOP sled of the encrypted exploit is followed by decryption procedure that is used to decode the encoded shell-code.

Top

Exploit packs or Exploit Kits


The exploit packs are very successful for an attack since antivirus software are not designed to detect them, in most of the cases antivirus vendors will detect a part of an exploit pack and the undetected part of the exploit pack distribute a new malware for a victim.

Needless to say that exploit packs have been around for a while. Most of the exploit packs are sold at underground forums that dedicated for hackers, crackers and black SEO. The exploit packs are coming with an UI which give a tremendous opportunity to the attacker to gain real time statistic about victims such as which browsers and browser versions are most successfully compromised as well as which browsers exploits are working best.

The exploit packs designed to investigate a location and range of a victim and of course the main purpose is to infect and serve a new malware to victims. The exploits packs include vulnerability exploits and shellcodes known and unknown one.

Examples of exploit packs could be found at Malware Intelligence site.

Top
Visit our BLOG for more posts