Malicious PDF — malware analysis report

Static analysis result for SHA-256 fcddc9aaf24121df…

MALICIOUS

PDF

94.8 KB First seen: 2021-06-20
MD5: fb39c96e671a33b785f7a1761d0b663a SHA-1: 00d59dcaf4b5551bd7c5102bd91ad18467487e8b SHA-256: fcddc9aaf24121df5696bed49bf24634fc447a8d01fce5422fafdd169f6dc3f8
196 Risk Score

Malware Insights

MITRE ATT&CK
T1566.001 Spearphishing Attachment T1059.007 JavaScript T1203 Exploitation for Client Execution

This PDF document contains embedded JavaScript that utilizes the exportDataObject and nLaunch functions to automatically launch an embedded executable file named 'notepad.exe' upon opening. This is a common technique for delivering second-stage payloads. The ML classifier strongly indicates maliciousness.

Machine Learning

  • Nyx PDF Classifier malicious score 1.0000

Heuristics 7

  • Embedded Windows executable payload in PDF stream critical PDF_EMBEDDED_PE_PAYLOAD
    PDF stream bytes contain an embedded Windows executable with a verified PE header. Exploit chains often hide droppers inside ordinary streams rather than standard /EmbeddedFile attachments.
  • JavaScript action low 2 related findings PDF_JAVASCRIPT
    PDF contains a /JavaScript action. Generic JavaScript is common in benign forms; specific dangerous APIs are scored by separate rules.
  • exportDataObject + nLaunch — embedded-file launch-on-open dropper critical PDF_JS_EXPORT_LAUNCH_DROPPER
    PDF JavaScript calls exportDataObject() with nLaunch set, which extracts the document's embedded file and launches it in its default application. This is a launch-on-open dropper: the embedded file is the payload. No benign workflow auto-launches an extracted PDF attachment.
  • 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 medium 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 file low PDF_EMBEDDED
    PDF embeds a file attachment — could carry an executable or another weaponised document as a nested payload
  • 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://schemas.microsoft.com/SMI/2016/WindowsSettings In PDF document text

Extracted artifacts 4

Files carved from inside the sample during analysis.

FilenameKindSourceSize
notepad.exe pdf-embedded-file PDF EmbeddedFile object 8 at offset 0x365 181248 bytes
SHA-256: 7d37bc1076de81c6e4afe04de84dfb3dbe2c1447f14f6f60db21b8c19a9aed11
Detection
ClamAV: No threats found
Obfuscation or payload: likely
actual_type=PE; declared_or_context_type=PDF; filename=notepad.exe; kind=pdf-embedded-file Static shellcode analysis found candidate code region(s). Indicators: SC_PEB_ACCESS_X64, SC_STR_SHELLEXEC, SC_STR_GETPROCADDRESS Static shellcode analysis recovered API/import strings: ShellExecuteW, GetProcAddress, CreateFileW, CreateThread
javascript_obj0009_000.js pdf-javascript-stream PDF /JS object 9 at offset 0x1798B 60 bytes
SHA-256: 0357c9f68645e827e3cf3ddbe4de2ebc1d6a5c356a2c756f3ba4f32396648c66
Preview script
First 1,000 lines of the extracted script
this.exportDataObject({ cName: "notepad.exe", nLaunch: 2 });
javascript_obj0009_001.js pdf-javascript-stream PDF /JS object 9 at offset 0x1798B 58 bytes
SHA-256: 792fd8581c7bd2e5785f52ab919b882de108cdf1c9aef9e80d951d8d8850cc5a
Preview script
First 1,000 lines of the extracted script
this.exportDataObject({ cName: "notepad.exe", nLaunch: 2 }
combined_document_js_000.js deobfuscated-js combined document JavaScript streams at offset 0x1798B 119 bytes
SHA-256: b44f5a3fb84fd2ce7d5a21c5ddf4e36ebb357f29ba52202cca7794bf3db4a8cd
Preview script
First 1,000 lines of the extracted script
this.exportDataObject({ cName: "notepad.exe", nLaunch: 2 });
this.exportDataObject({ cName: "notepad.exe", nLaunch: 2 }