Saturday 27 January 2024

perPage: 7,
Hackerhubb.blogspot.comRelated articles
perPage: 7,
perPage: 7,


Welcome back to the Linux Command Line Hackery series, this is Part-V of the series. Today we are going to learn how to monitor and control processes on our Linux box, so wrap your sleeves up and let's get started.

Command:    ps
Syntax:           ps [options]
Description:  ps displays information about the currently running processes. Some of the common flags of ps are described briefly below
Flags: 
  -A or -e -> select all processes
  -a -> select all processes except both session leaders and processes not associated with a terminal.
  T -> select all processes associated with current terminal
  -u <username or id> -> select all processes of a given user or userlist

Open up a terminal and type ps:

ps

what you'll see is a list of processes currently running in your terminal. One important thing to notice in the output is what's called as PID which stands for process ID. It is the number that uniquely identifies a process. Just keep that PID concept in mind we'll use it soon.

OK I know that's not really what you want to see rather you want to see all the processes that are currently running on your box. Don't worry we have flags to rescue, in order to see all the processes you can use the -e flag like this:

ps -e

Boom! you get a long list of processes currently running on your machine (don't stare at me like that, you asked and I gave you that). If you want to see processes of a particular user you can type the following command in your terminal:

ps -u bob

here "bob" is a username. This command will list all processes of the user with effective user name of bob.

You can do a full-format listing of the processes using the -f flag like this:

ps -fu bob

But the output of the ps command is a snapshot not really a live preview of what is going on in your box. I know your next question is going to be something like this, Isn't there a command in Linux that gives me a live updating information of the processes? Yes, there is a command called top that we'll learn about next.

Command:    top
Syntax:           top [options]
Description:  top gives a dynamic real-time view of a running system. That is, it gives the up-to-date information about all the processes running on your Linux box (sounds fun!). Besides giving information about current processes and threads top also provides a brief system summary.

To start top just type this command:

top

and you'll get a nice and cute looking ugly display :). Well what the heck is going on here you might ask, right? What you get is information about what is going on with your computer. To see what more can you do with top just type <h> within the program window and you'll be given list of options that you can play with.

OK looking at what processes are going on in your box is cool but what if you want to terminate (or close) a process, is there a command line utility for that? Yes, there is and that's what we are going to look at next.

Command:   kill
Syntax:          kill [options] <pid> [...]
Description:  kill is used to send a signal to process which by default is a TERM signal meaning kill by default sends a signal of termination to process (Cruel guy). To list the available signals we can use the -l or -L flag of the kill command.


To simply terminate a process we provide kill command a PID (process ID) and it will send the TERM signal to the process. So to kill a process first we'll list the running processes and then we'll keep the PID of the process in mind that we want to terminate. After that we'll issue the kill command with the PID that we just found.

ps -ax
kill 1153

the above command will send a TERM signal to the process whose PID is 1153, as simple as that.

We can also use our already learned skills to refine the output of ps command. Say we have a xterm terminal running on our box and we want to terminate it. By using ps command all alone we'll get a long listing of all processes running on our box. But we can limit the output of ps command to just those processes that we're interested in by piping ps command with the grep command like this:

ps -ax | grep xterm

wow! that's amazing, we're able to pull out only those results from the ps command that contained xterm in them. Isn't that a cool trick? But what is that vertical bar ( ) doing in the middle, you may be thinking, right? Remember we learned about the input and output re-directors previously, the vertical bar (pipe in geeky terms) is another re-director whose task is to redirect the output of one command as input to another command. Here the pipe redirects the output of ps -ax command as input to grep command and of-course from the previous article you know that grep is used to search for a PATTERN in the given input. That means the above command searches for the xterm word in the output of ps -ax command and then displays just those lines of ps -ax command which contain xterm. Now get that PID and kill that process.

That's it for today, try these commands up on your own box and remember practice is gonna make you master the Linux command line. :)

More info


  1. Hack Tools For Ubuntu
  2. What Is Hacking Tools
  3. Pentest Tools Kali Linux
  4. Pentest Tools Port Scanner
  5. Bluetooth Hacking Tools Kali
  6. Hacking Tools Usb
  7. Hack Tools For Pc
  8. Nsa Hack Tools
  9. Hack Tools Github
  10. Hacking Tools Download
  11. Pentest Tools Linux
  12. Hack Rom Tools
  13. Hacker Tools Apk
  14. Hacking Tools Windows 10
  15. Pentest Tools Subdomain
  16. Hacking Tools Mac
  17. Hacking Apps
  18. Hacking Tools For Windows Free Download
  19. Best Pentesting Tools 2018
  20. Blackhat Hacker Tools
  21. What Are Hacking Tools
  22. Blackhat Hacker Tools
  23. Nsa Hack Tools Download
  24. Hacker Tools Online
  25. Install Pentest Tools Ubuntu
  26. Termux Hacking Tools 2019
  27. Pentest Recon Tools
  28. New Hacker Tools
  29. Hacking Tools Software
  30. Hack Tool Apk
  31. Hacking Tools Hardware
  32. Hacking Tools For Windows Free Download
  33. Hacker Tools Online
  34. Hacker Tools For Pc
  35. Pentest Tools Github
  36. Hacking Tools And Software
  37. Pentest Automation Tools
  38. New Hacker Tools
  39. Hacking Tools Mac
  40. Hacker Tools
  41. Hacker Tools For Pc
  42. Hackrf Tools
  43. Hacker Tools 2019
  44. Hacker Tools Hardware
  45. Hacker Tools Free Download
  46. Tools Used For Hacking
  47. Hack Tools For Windows
  48. Hacker Tools For Ios
  49. Pentest Tools Github
  50. Pentest Tools Open Source
  51. Pentest Tools Kali Linux
  52. Hack Tools 2019
  53. Termux Hacking Tools 2019
  54. Hacking Tools Online
  55. Best Pentesting Tools 2018
  56. Pentest Tools Linux
  57. Hack Tools For Pc
  58. Pentest Tools For Ubuntu
  59. Hacking Tools For Games
  60. Pentest Tools Apk
  61. Pentest Box Tools Download
  62. Pentest Tools Windows
  63. Hak5 Tools
  64. Install Pentest Tools Ubuntu
  65. Hacker Tools Apk Download
  66. Bluetooth Hacking Tools Kali
  67. Hack Apps
  68. Pentest Tools Tcp Port Scanner
  69. Pentest Tools For Android
  70. Hacker Tools Apk
  71. Hacker Tools For Ios
  72. Hack Tools 2019
  73. Hacking Tools For Kali Linux
  74. Hacking Tools
  75. Pentest Automation Tools
  76. Hacker Tools For Ios
  77. Pentest Tools
  78. Pentest Tools Website Vulnerability
  79. Hacking Tools Windows
  80. Hacker Tools Mac
  81. Pentest Tools Android
  82. Hacking Tools Github
  83. Hack Apps
  84. Pentest Tools Url Fuzzer
  85. Nsa Hack Tools Download
  86. Hacker Techniques Tools And Incident Handling
  87. Usb Pentest Tools
  88. Ethical Hacker Tools
  89. Pentest Tools Subdomain
  90. Hacker Tools Free Download
  91. Pentest Tools Nmap
  92. Hacking Tools Kit
  93. Pentest Tools For Android
  94. Hacking Tools Github
  95. Hack Tool Apk
  96. What Are Hacking Tools
  97. Hackers Toolbox
  98. Hacking Tools Software
  99. How To Hack
  100. Pentest Tools Find Subdomains
  101. Pentest Tools Website
  102. Hacker Tools For Pc
  103. How To Make Hacking Tools
  104. Hacking Tools
  105. Free Pentest Tools For Windows
  106. New Hack Tools
  107. Kik Hack Tools
  108. Hacker Tools Linux
  109. New Hack Tools
  110. Nsa Hack Tools Download
  111. What Are Hacking Tools
  112. Hackers Toolbox
  113. Hacking Tools For Games
  114. Hack Rom Tools
  115. Pentest Tools Website Vulnerability
  116. Pentest Tools Open Source
  117. Hacker Tools For Pc
  118. Pentest Automation Tools
  119. Hack Tool Apk
  120. Hacker Hardware Tools
  121. Hacking Tools Name
  122. Hack Tools For Mac
  123. Nsa Hacker Tools
  124. Pentest Tools Online
  125. Hack Tools For Games
  126. Pentest Tools Kali Linux
  127. Pentest Tools Bluekeep
  128. Growth Hacker Tools
  129. Hacking Tools Hardware
  130. Hacker Tools Free
  131. Pentest Tools Online
  132. Hacker Security Tools
  133. Hacking Tools Download
  134. Hacking Tools Mac
  135. Physical Pentest Tools
  136. Hacker
  137. Physical Pentest Tools
  138. Pentest Tools Review
  139. Hacking Tools Name
  140. Hacker Tools Online
  141. Hacker Tools Mac
  142. Hack Tools Github
  143. Pentest Tools Nmap
  144. New Hack Tools
  145. Hacking App
  146. Pentest Tools For Ubuntu
  147. Hacking Tools Pc
  148. Hacking Tools Hardware
  149. Hack And Tools
  150. Tools 4 Hack
  151. Hack Tools Online
  152. Pentest Tools Website
  153. What Is Hacking Tools
  154. Blackhat Hacker Tools
  155. Hack Apps
  156. Pentest Tools Review
  157. Nsa Hack Tools
  158. Hacking Tools Usb
  159. Hacker Tools Apk Download
  160. Hacker Tools For Pc
  161. Hacker Tools Mac
  162. Hacking App
  163. New Hack Tools
  164. Hacker Tools Github
  165. Hak5 Tools
  166. Pentest Tools Github
  167. Free Pentest Tools For Windows
  168. Hack Tools For Ubuntu
  169. Hacking Tools For Mac
  170. Pentest Tools List
  171. Android Hack Tools Github
  172. Top Pentest Tools
  173. Hacking Tools Windows 10
  174. Computer Hacker
  175. Pentest Automation Tools
  176. Hacking Tools Windows 10
  177. Underground Hacker Sites
  178. Hacking Tools For Games

Friday 26 January 2024

perPage: 7,

Last year we presented How to Spoof PDF Signatures. We showed three different attack classes. In cooperation with the CERT-Bund (BSI), we contacted the vendors of affected PDF applications to inform them about the vulnerabilities and to support them in developing countermeasures. Most vendors reacted promptly and closed the reported vulnerabilities promptly.
One of those three attack classes was Incremental Saving Attacks (ISA). The proposed countermeasures aimed to distinguish PDF objects appended to the file via updates into dangerous and non-dangerous. In other words, black and whitelisting approaches were used. 

Naturally, this countermeasure succeeds as long as the PDF update contains evil objects. So we came up with the idea to attack PDFs with only non-dangerous updates. We achieve this by adding invisible, malicious content when creating the PDF document (before it is signed) and to reveal them after signing.
Today, we present Shadow Attacks! Our evaluation of 28 PDF applications reveals that 15 of them, including Adobe Acrobat and Foxit Reader, are vulnerable.
We responsibly disclosed all affected vendors. Together with the CERT-Bund (BSI), we supported the vendors in developing suitable countermeasures. The attacks are documented in CVE-2020-9592 and CVE-2020-9596.
Full results are available in our vulnerability report and on our website.

What are PDF signatures used for and what is the legal status?

PDFs can be secured against manipulations by using digital signatures. This feature enables use-cases such as signing contracts, agreements, payments, and invoices. Regulations like the eSign Act in the USA or the eIDAS regulation in Europe facilitate the acceptance of digitally signed documents by companies and governments. Asian and South American countries also accept digitally signed documents as an equivalent to manually signed paper documents. Adobe Cloud, a leading online service for signing PDF documents, provided 8 billion electronic and digital signature transactions in 2019. The same year, DocuSign processed 15 million documents each day.

What could a Simple Signing Process look like?
The process of digitally signing a contract involves multiple entities and can look as follows: The PDF contract is prepared by the collaborators. The collaborators can be lawyers, designers, typewriters, or members of different companies. Finally, the contract is digitally signed.

PDF Structure and Signature Basics


A PDF consists of three parts: Body, Xref table, and Trailer

The PDF is a platform-independent document format. It starts with a Header, to set the version, and is followed by three main parts, as depicted in the figure.

The first part defines the PDF Body. It contains different objects, which are identified by its object number. The most important object is the root object, which is called the Catalog. In the figure, the Catalog has the object identifier 1 0. The Catalog defines the whole PDF structure by linking to other objects in the Body. In the example given, the Catalog links to form object AcroForm, to some PDF MetaData, and to actual PDF Pages. The latter can reference multiple Page objects, which in turn reference, for example, the actual Content, Font, and Images.
The second part of the PDF is the Xref table. It contains references to the byte positions of all objects used in the PDF Body.
The third part is the Trailer. It consists of two further references: one to the byte position at which the Xref table starts, and another link to the identifier of the root object (1 0).

Incremental Updates and Digitally Signing a PDF



The content of a PDF may be updated for different reasons, for example, by adding review comments or by filling out PDF forms. From a technical perspective, it is possible to add this new content directly into the existing PDF Body and add new references in the Xref table. However, this is not the case according to the PDF specification. Changes to a PDF are implemented using Incremental Updates. An Incremental Update adds new objects into a new PDF Body, which is directly appended after the previous Trailer as shown in the figure to the right. To adequately address the new objects, a new Xref table and Trailer are also appended as well for each Incremental Update. Summarized, a PDF can have multiple Bodies, Xref tables, and Trailers, if Incremental Update is applied.
For protecting the integrity and the authenticity of a PDF, digital signatures can be applied. For this purpose, a Signature object is created and appended to the PDF by using Incremental Update. It is also possible to sign a PDF multiple times (e.g., a contract), resulting in multiple Incremental Updates. The Signature object contains all relevant information for validating the signature, such as the algorithms used and the signing certificate. Once a PDF containing a PDF Signature is opened, the viewer application automatically validates the signature and provides a warning if the content has been modified.

Shadow Attacks

The main idea of the attacks is that the attackers prepare a PDF document containing invisible content. Afterward, the document is sent to a signing entity like a person or a service which reviews the document, signs it and sends it back to the attackers. Despite the integrity protection provided by the digital signature, the attackers can make modifications to the document and change the visibility of the hidden content. Nevertheless, the manipulation is not detected. The digital signature remains valid. Finally, the attackers send the modified signed document to the victim. Although the document is altered, the signature validation is successful, but the victims see different content than the signing entity.

Do the Attacks match a Real-World Scenario?

Of course! In companies and authorities, relevant documents like contracts or agreements are often prepared by the employees who take care of most of the details and technicalities. The document is then signed by an authorized person after a careful review. Another scenario is the signing process of a document within a consortium. Usually, one participant creates the final version of the document, which is then signed by all consortium members. Considering the given examples, an employee or consortium member acting maliciously can hide invisible shadow content during the editing. Consequentially, this content will be signed later.
Additionally, multiple cloud signing services like Adobe Cloud, DocuSign, or Digital Signature Service exist. Among other functionalities, such services receive a document and sign it. This process can also be used also to sign shadow documents.

Different Attack Classes of Shadow Attacks

Shadow Attacks can be divided into the three attack classes Hide, Replace, and Hide-and-Replace, as shown in the figure below. Each class offers the possibility of taking a significant influence on the content of a signed PDF document. In the following, we describe the functionality of the individual classes in more detail.


Shadow Attack: Hide

The concept of this class of shadow attacks is to hide the content relevant for the victims behind a visible layer. For example, the attackers can hide the text "You are fired!" behind a full-page picture showing "Sign me to get the reward!". Once the attackers receive the signed document, they manipulate the document in such a way that the picture is no longer rendered by the viewer application. Hide attacks have two advantages from the attackers' perspective:
  1. Many viewers show warnings if new visible content is added using an Incremental Update. However, they do not warn in most cases if content is removed.
  2. The objects are still accessible within the PDF. In the example above, the text "You are fired!" can still be detected by a search function. This might be important if an online signing service is used and it reviews the document by searching for specific keywords. We identified two variants of this attack class.
Hiding Content via Page.
This attack variant uses an Incremental Update to create a new Page object. It contains all previously used objects except for the overlay, for example, the image. This attack variant is depicted on the left side of figure above.
Hiding Content via Xref.
If the viewer application does not accept changes to PDF structuring objects, such as Page, Pages, or Contents, the second attack variant can be applied. This variant directly affects the overlay object. The simplest method for this is to create an Incremental Update, which only updates the Xref table by setting the overlay object to free. However, making this change is interpreted as a dangerous in many viewers (e.g., Adobe) and an error or a warning is thrown. For this reason, we use another approach: we use the same object ID within the Incremental Update, but we define it as a different object type. For example, we change the overlay type Image to XML/Metadata.

When opening this manipulated document, the overlay is hidden because Metadata cannot be shown. Since adding Metadata to a signed PDF using Incremental Update is considered harmless, the signature remains valid.

Shadow Attack: Replace

In this attack class, specific content of the PDF document is to be exchanged. The first variant uses the visual properties of text fields for this purpose. The second variant is based on a fatal misconception that fonts cannot be used for manipulation purposes.
Replace via Overlay.

This attack targets an interactive feature in PDFs: interactive forms. Forms support different input masks (e.g., text fields, text areas, radio/selection buttons) where users dynamically enter new content and store it in the PDF document. The main idea of the attack is to create a form, which shows one value before (PDF1) and after signing (PDF2), as illustrated on the leftside in the figure below. After the attackers manipulate the PDF and create PDF3, different values are shown in the form (and can be seen on the right side of the figure below). The attack abuses a special property of PDF text fields. A text field can show two different values: the real field value and an overlay value which disappears as soon as the text field is selected. The real value of a form field is contained in an object key named /V. The content of the overlay element is defined within a /BBox object. The /BBox object is comparable to the hint labels known from HTML forms; for example, the hint username to indicate that the username should be entered into a specific login field. In contrast to HTML, in PDF there is no visual difference between the hint and the actual value.


In summary, we can say that this variant allows attackers to manipulate the contents of the text fields for the visible layer arbitrary. As shown in the figure above, this can be used, for example, to maliciously redirect a payment.
Replace via Overwrite.
The main idea of this variant is to append new objects to the signed document which are considered harmless but directly influence the presentation of the signed content. As shown in figure of the three attack classes, the attackers prepare a shadow document that defines a font and includes its description into the document. The font is used for the presentation of specific content. After the document is signed, the attackers append a new font description and overwrite the previous description.  The definition of new fonts is considered harmless, because of that, the applications verifying the signature do not show any warning regarding the made changes. For instance, the (re)definition of fonts does not change the content directly. However, it influences the view of the displayed content and makes number or character swapping possible.

Shadow Attack: Hide-and-Replace

In this attack class, the attackers create a shadow PDF document that is sent to the signers. The PDF document contains a hidden description of another document with different content. Since the signers cannot detect the hidden (malicious) content, they sign the document. After signing, the attackers receive the document and only append a new Xref table and Trailer. Within the Xref table, only one change takes place: the reference to the document Catalog (or any other hidden object), which now points to the shadow document.
In fact, the document contains two independent content paths. One path to show the signer harmless content, and one path with malicious content that replaces the first content after it is signed and activated by the attackers. The figure above visually illustrates the described relationships once again.
This attack variant is the most powerful one since the content of the entire document can be exchanged, including text content, forms, fonts, and annotations. The attackers can build a complete shadow document influencing the presentation of each page and each object.

Evaluation

Overall, 15 out of 28 PDF viewing applications were vulnerable to at least one presented attack. Surprisingly, for 11 PDF viewers, all three attack classes were successful. The Table shows that some applications have limited vulnerabilities. These applications respond to any type of Incremental Update with a post-signature modification note, including modifications that are allowed due to the specification. We have evaluated the latest (at the time of evaluation) available versions of the applications on all supported desktop platforms: Windows, macOS, and Linux.

Evaluation results.


Authors of this Post

Simon Rohlmann 
Christian Mainka
Vladislav Mladenov
Jörg Schwenk

Acknowledgments

Many thanks to the CERT-Bund (BSI) team for the great support during the responsible disclosure. We also want to acknowledge the teams of the vendors which reacted to our report and fixed the vulnerable implementations.

Related articles

Blog Archive

GET THE LOVE OF YOUR LIFE

Popular Posts

Recent Posts