27 May 2023

Shadow Attacks … The Smallest Attack Vector Ever

In July 2020, we introduced a novel attack class called Shadow Attacks. In our recent research, we discovered a new variant of the attack which relies only on an Incremental Update containing a malicious trailer.
A proof-of-concept exploit working on Foxit (Version: 11.0.1.49938) can be downloaded here.

The story so far ...

Shadow attacks are attacks bypassing the integrity protection of digitally signed PDF documents. The attacks abuse two legitimate features in PDF documents which we briefly explain.

Hiding Content

In PDFs, there are multiple techniques to hide content that is not displayed when the document is opened. We, as attackers, usually hide malicious objects without referencing them in the xref section.

Incremental Updates

New content can be appended to a signed PDF document. This is quite dangerous though. The digital signature in PDFs protects a specific range of bytes. Any appended content does not break the signature verification since it is outside this range. As a result, any new Incremental Update does not violate the cryptographic verification of the digital signature. 
But, Incremental Updates are quite dangerous since they may completely change the displayed content of the document. In 2019, we showed different techniques based on Incremental Updates – the Incremental Saving Attacks.
As a countermeasure, most vendors warn if additional content is added after signing the document. BUT … not always!!!
 
There are meaningful use cases where Incremental Updates in digitally signed documents are allowed. For instance, contracts should be signed by multiple parties and each new signature is applied via additional Incremental Update.
Also, PAdES defines Incremental Updates as part of the long-term validation of digitally signed PDFs.
In summary, Incremental Updates are painful from a security perspective. Currently, vendors are trying to estimate whether an Incremental Update is malicious or not by analyzing its content.

Shadow Attacks

Shadow attacks, in general, deceive the PDF applications that an Incremental Update is not malicious. This can be done by providing an Incremental Update with minimal content.
In 2020, we estimated that appending an xref section and a trailer is sufficient to bypass the detection mechanisms of popular applications such as Adobe Reader and Foxit Reader.

Trailer-based Shadow Attack

Three months ago, we tried to reduce the content of the malicious Incremental Update. Our idea was to use only a malicious trailer and still change the content of the entire document when it is opened. Let's see how this can be done. 


The Signer's view on the document

 If a signer gets the document depicted on the left side, he or she sees the content "Sign the document to get a reward".
The document contains a hidden content depicted as red text – the 4 0 obj containing the text "You are fired. Get out immediately" and an xref section pointing to that object. However, the trailer references another xref section, see (1) and (2). Thus, the red text is never shown.
From the signer's perspective, there is no possibility to detect the hidden content by opening and reviewing the document.
As a result, the signer, for example the company director, signs the document.

The Victim's view on the document

We assume that the attacker receives the signed document and manipulates it.
The attacker appends only a trailer that points to the hidden malicious xref section (the red one). When the victim opens the document, the content "You are fired. Get out immediately" is shown.
However, the digital signature validation does not throw any warning since … well … what could go wrong if only a trailer is appended.
 

Honest vs. Malicious Trailer

There are small differences between the honest and the malicious trailer– the byte position of the xref section. Now, the trailer points to the hidden xref section.
trailer
<<
/Size 23
/Prev 18735
/Root 13 0 R
]>>
Honest trailer
trailer
<<
/Size 23
/Prev 19192
/Root 13 0 R
]>>
Malicious trailer
 
 



Impact and Exploit

We successfully applied the new attack on Foxit Reader (Version: 11.0.1.49938). We promptly reported the vulnerability and provided a Proof-of-Concept (PoC) exploit, known as CVE-2021-40326.
Foxit acknowledged the attack and published a security fix with the new version Foxit Reader 11.1.
 
We are not aware of any further implementations vulnerable to this attack.
If you think that your application might be vulnerable to the attack, then just download the exploit and test on your own.
 

Authors of this post

Vladislav Mladenov

Simon Rohlmann

Christian Mainka

More articles


  1. Hacker Tools For Windows
  2. Install Pentest Tools Ubuntu
  3. Hack App
  4. Hacker Tools Software
  5. Game Hacking
  6. Hacking Tools For Beginners
  7. Free Pentest Tools For Windows
  8. Pentest Tools Framework
  9. Hack App
  10. Hacking Apps
  11. Hacker Hardware Tools
  12. Ethical Hacker Tools
  13. Hacking Tools Hardware
  14. Nsa Hack Tools
  15. Hacking Tools Github
  16. What Is Hacking Tools
  17. Hack Tools For Ubuntu
  18. Hacker Hardware Tools
  19. Usb Pentest Tools
  20. Hacks And Tools
  21. Hacker Tools Hardware
  22. Hacker Tools For Pc
  23. Pentest Tools For Ubuntu
  24. Growth Hacker Tools
  25. Top Pentest Tools
  26. Hack Tools Online
  27. Hack Tools Online
  28. Hacking Tools For Windows
  29. Hacking Tools Usb
  30. Beginner Hacker Tools
  31. Hacking Tools Github
  32. Pentest Tools Subdomain
  33. Hacker Tools Windows
  34. Blackhat Hacker Tools
  35. Hacker Tools Online
  36. Pentest Tools Website
  37. New Hacker Tools
  38. Hackers Toolbox
  39. Pentest Tools Review
  40. Hackrf Tools
  41. Hacker Search Tools
  42. Pentest Tools Tcp Port Scanner
  43. Hacker Search Tools
  44. Tools For Hacker
  45. Hack Tools For Pc
  46. Pentest Tools Linux
  47. Hacking Tools For Windows 7
  48. Pentest Tools Subdomain
  49. Pentest Tools For Ubuntu
  50. Hacking Tools Software
  51. Hacking Tools For Windows
  52. Hacker Tools Linux
  53. Hack Tools Mac
  54. Hacking Tools Online
  55. Hacking Tools For Windows 7
  56. Pentest Tools For Android
  57. Hacking Tools For Mac
  58. Bluetooth Hacking Tools Kali
  59. Hacker Tools Hardware
  60. Pentest Tools Find Subdomains
  61. Hack Tool Apk No Root
  62. Hacking Tools For Kali Linux
  63. Hack App
  64. Hacking Tools Software
  65. Hacking Tools Pc
  66. Hacker Tools For Windows
  67. Best Hacking Tools 2020
  68. Hacker Tools Free Download
  69. Pentest Recon Tools
  70. Pentest Tools For Mac
  71. Pentest Box Tools Download
  72. Hacking Tools For Mac
  73. Best Pentesting Tools 2018
  74. Pentest Tools For Android
  75. Hack Tools Pc
  76. Hacking Tools Github
  77. Termux Hacking Tools 2019
  78. Blackhat Hacker Tools
  79. Pentest Tools Port Scanner
  80. Hack And Tools
  81. Hack Tools Mac
  82. Free Pentest Tools For Windows
  83. Pentest Tools Open Source
  84. Black Hat Hacker Tools
  85. Pentest Tools Online
  86. Hacker Tools
  87. What Is Hacking Tools
  88. Hacker Tools Hardware
  89. What Are Hacking Tools
  90. How To Hack
  91. Hacking Tools For Windows Free Download
  92. Pentest Tools Review
  93. Hacking Tools For Beginners
  94. Hacking Tools 2019
  95. Hack Tools For Windows
  96. Pentest Tools Find Subdomains
  97. Pentest Tools List
  98. Pentest Tools For Android
  99. Hacker Tools Apk Download
  100. Hacker Tools
  101. Github Hacking Tools

No comments: