Tags
- research (21)
- malware (20)
- pdf x-ray (14)
- results (12)
- tools (12)
- code (9)
- malpdfobj (9)
- pdf (8)
- updates (8)
- CVE-2011-2462 (6)
- View all 135 tags
- analysis (6)
- javascript (6)
- malicious (6)
- database (5)
- json (5)
- mongodb (5)
- exploit (4)
- proof-of-concept (4)
- slides (4)
- statistics (4)
- api (3)
- pdfid (3)
- plans (3)
- prototypes (3)
- reversing (3)
- samples (3)
- scoring (3)
- side project (3)
- swf (3)
- targeted (3)
- virustotal (3)
- xmpp (3)
- 0day (2)
- CVE-2012-0754 (2)
- adobe (2)
- attackers (2)
- brucon (2)
- command and control (2)
- development (2)
- doomsday (2)
- encoder (2)
- format (2)
- hack (2)
- ideas (2)
- malobjclass (2)
- project (2)
- release (2)
- thoughts (2)
- u3d (2)
- CVE-2011-4369 (1)
- DoS (1)
- actionscript (1)
- analyst notes (1)
- applications (1)
- bighands (1)
- binary (1)
- blackhole (1)
- bots (1)
- cansecwest (1)
- cat facts (1)
- chrome (1)
- collective (1)
- community (1)
- conference (1)
- crowdpuzzle (1)
- data mining (1)
- dirtyhands (1)
- document classifier (1)
- documentation (1)
- elcomsoft (1)
- eleonore (1)
- entropy (1)
- explot (1)
- extensions (1)
- filters (1)
- flash (1)
- forensics (1)
- free (1)
- fun (1)
- gadgets (1)
- google (1)
- hashes (1)
- heavy pint (1)
- hooks (1)
- iexplorer (1)
- incident response (1)
- internet explorer (1)
- issues (1)
- jSneak (1)
- kim jong (1)
- latex (1)
- map (1)
- mapreduce (1)
- mdl (1)
- memory runner (1)
- mongodc (1)
- ms11-050 (1)
- mshtml (1)
- nosql (1)
- novah (1)
Subscribe
Get the latest updates in your email box automatically.
Contributors
Projects
Analyzing CVE-2011-2462 - Part One
Before I went to bed last night I took a look at uploaded files to PDF X-RAY in hopes that Christmas would come early (CVE-2011-2462 in my reports) and was surprised when I came across a file with /U3D references. I snatched the file off the server, opened up my snapshots to the latest 9.4 build of Adobe and ran the file. Reader crashed, and a new document was succesfully opened. That was enough to stay up, so analysis started and can be found below.
Bug Sample Viewing
https://www.pdfxray.com/interact/517fe6ba9417e6c8b4d0a0b3b9c4c9a9/
Object Execution Flow
- Object 4 - OpenAction fires reference to JavaScript
- Object 14 - JavaScript reference to object 15
- Object 15 - JavaScript code does heap spray and then directs to page "2"
- Object 11 - Definition of 3D data and how it should be formatted
- Object 10 - 3D data that is to be rendered (likely the corruption)
Objects of Interest
- Object 10 - References to named dictionaries - /3D, /U3D
- Object 11 - References to named dictionaries - /3DI, /3DD, /3D, /3DA
- Object 15 - Contains JavaScript routine for heap spray and page redirection (triggers render)
- Object 16 - Fails to decode properly, but not referenced (clean file dropped on successful exploitation)
Understanding the U3D Components
Within object 11 is the definition of how the U3D content should be displayed within the PDF. Understanding of the named dictionaries is helpful when trying to isolate the bug being exploited. Below is a listing of named dictionaries used and a short definition:
- U3D - currently the only supported subtype and 3D object
- 3DD - (required) - specifies the stream or dictionary with the 3D data that is to be rendered
- 3DA - (optional) - activation dictionary defining the times of when the 3D data should be shown
- 3DI - (optional) - boolean value that defines the primary use. true defines an interactive use and false defines interaction through JavaScript
- DIS - (optional) - name specifying the state of the 3D data upon deactivation (i is used for instantiated)
- A - name under which the annotation should be activated
- PO - annotation should activate as soon as page containing the annotation to the 3D data is opened
Details worth pointing out
Within some of the metadata, the following was found:
<< /email (fo@gmail.com) /Author (Fo) /web (fo.googlepages.com) >>
Googlepages appears to since moved to Google Sites, so this page is no longer active.
Object 10 Hash - 773793a36f0ba12e6e48f8483b845500 and content download
Breaking apart the JavaScript
Like most JavaScript observed in other malicious files, checks are done for the proper version number before the main routines are executed. What is interesting about this document is that it checks for versions that do not exist and makes a point to redirect the user to an infinite loop assuming they are running a version great than 10.
Assuming the version requirements are correct, the main heap spray function is invoked. The final call to “zzzzzzzzzzzz()” appears to be the main spray routine and setup. After the spray is complete, another spray follows with generic padding and then some Adobe specific calls. What is interesting to note are the calls that follow.
A call is made to check whether or not the platform is a Windows machine and then Reader is told to move to page 2. I believe this portion of the code is the trigger for the rendering of the 3D data. Page 2 contains references to the annotations and content of object 11 which defines the 3D data to display (object 10). Without this, I am not certain the vulnerability would be triggered and is likely called manually to ensure enough time was given to spray into memory.
Running the PDF
Using Adobe Reader 9.4.6, the PDF was executed resulting in a crash and opening of a new document. This new document is a survey geared towards defense contractor ManTech.
The first file to be dropped is "ctfmon.exe" which is later "pretty.exe" after several registry changes.
This file has a fairly high detection rate according to VirusTotal.
Also, dropped shortly thereafter is a .TMP file which appears to be a DLL..
Callbacks are not made initially unless certain processes are opened (http://www.securelist.com/en/blog/2335/Sykipot_exploits_an_Adobe_Flash_Zero_Day). I rolled back my snapshot, executed Internet Explorer and then the PDF file. After waiting, code could be seen injecting into Internet Explorer. A PCAP dump of the traffic shows a call out to hXXps://www.prettylikeher.com (note the SSL). Running strings against the running process reveals the following request that would likely be made through the connection:
hXXps://www.prettylikeher.com/asp/kys_allow_get.asp?name=getkys.kys
This file appears to be encrypted in some form, but used within pretty.exe later on. Visiting the site directly shows a automobile site based out of Raliegh, NC. More analysis needs to be done on the dropped binary. These results will be posted soon.



Comments (11)
Leave a comment...