30 de ago. de 2020

TLS-Attacker V2.2 And The ROBOT Attack

We found out that many TLS implementations are still vulnerable to different variations of a 19-year old Bleichenbacher's attack. Since Hanno argued to have an attack name, we called it ROBOT: https://robotattack.org

Given the new attack variants, we released a new version of TLS-Attacker 2.2, which covers our vulnerabilities.

Bleichenbacher's attack from 1998

In 1998, Daniel Bleichenbacher discovered that the error messages given by SSL servers for errors in the PKCS #1 1.5 padding allow an adversary to execute an adaptive-chosen ciphertext attack. This attack also belongs to the category of padding oracle attacks. By performing the attack, the adversary exploits different responses returned by the server that decrypts the requests and validates the PKCS#1 1.5 padding. Given such a server, the attacker can use it as an oracle and decrypt ciphertexts.
We refer to one of our previous blog posts for more details.

OK, so what is new in our research?

In our research we performed scans of several well-known hosts and found out many of them are vulnerable to different forms of the attack. In the original paper, an oracle was constructed from a server that responded with different TLS alert messages. In 2014, further side-channels like timings were exploited. However, all the previous studies have considered mostly open source implementations. Only a few vulnerabilities have been found.

In our scans we could identify more than seven vulnerable products and open source software implementations, including F5, Radware, Cisco, Erlang, Bouncy Castle, or WolfSSL. We identified new side-channels triggered by incomplete protocol flows or TCP socket states.

For example, some F5 products would respond to a malformed ciphertext located in the ClientKeyExchange message with a TLS alert 40 (handshake failure) but allow connections to timeout if the decryption was successful. We could observe this behaviour only when sending incomplete TLS handshakes missing ChangeCipherSpec and Finished messages.
See our paper for more interesting results.

Release of TLS-Attacker 2.2

These new findings motivated us to implement the complete detection of Bleichenbacher attacks in our TLS-Attacker. Before our research, TLS-Attacker had implemented a basic Bleichenbacher attack evaluation with full TLS protocol flows. We extended this evaluation with shortened protocol flows with missing ChangeCipherSpec and Finished messages, and implemented an oracle detection based on TCP timeouts and duplicated TLS alerts. In addition, Robert (@ic0ns) added many fixes and merged features like replay attacks on 0-RTT in TLS 1.3.
You can find the newest version release here: https://github.com/RUB-NDS/TLS-Attacker/releases/tag/v2.2

TLS-Attacker allows you to automatically send differently formatted PKCS#1 encrypted messages and observe the server behavior:
$ java -jar Attacks.jar bleichenbacher -connect [host]:[port]
In case the server responds with different error messages, it is most likely vulnerable. The following example provides an example of a vulnerable server detection output:
14:12:42 [main] CONSOLE attacks.impl.Attacker - A server is considered vulnerable to this attack if it responds differently to the test vectors.
14:12:42 [main] CONSOLE attacks.impl.Attacker - A server is considered secure if it always responds the same way.
14:12:49 [main] CONSOLE attacks.impl.Attacker - Found a difference in responses in the Complete TLS protocol flow with CCS and Finished messages.
14:12:49 [main] CONSOLE attacks.impl.Attacker - The server seems to respond with different record contents.
14:12:49 [main] INFO attacks.Main - Vulnerable:true
In this case TLS-Attacker identified that sending different PKCS#1 messages results in different server responses (the record contents are different).
More articles
  1. Pentest Tools Tcp Port Scanner
  2. Easy Hack Tools
  3. Ethical Hacker Tools
  4. Hacking Tools Kit
  5. Hacking Tools For Windows
  6. Hacker Tools Mac
  7. What Is Hacking Tools
  8. Best Pentesting Tools 2018
  9. Hack Tools For Games
  10. Pentest Tools List
  11. Hack Rom Tools
  12. Hacker Tools 2020
  13. Hacker Tools For Mac
  14. Hacking Tools Download
  15. Pentest Tools Github
  16. Pentest Box Tools Download
  17. Tools For Hacker
  18. Hack Tools 2019
  19. Hack Tools Download
  20. Hack Tools For Games
  21. Hacker Techniques Tools And Incident Handling
  22. Pentest Tools Github
  23. Hacking Tools Kit
  24. Hacking Tools For Windows Free Download
  25. Pentest Tools Online
  26. Wifi Hacker Tools For Windows
  27. What Is Hacking Tools
  28. Hacker Hardware Tools
  29. Underground Hacker Sites
  30. World No 1 Hacker Software
  31. Hackers Toolbox
  32. Hacker Tools Apk
  33. Pentest Tools Find Subdomains
  34. Pentest Tools Apk
  35. Hacker Tools Mac
  36. Pentest Tools Apk
  37. Pentest Tools Website
  38. Hacking Tools Free Download
  39. Pentest Tools Android
  40. Pentest Tools Find Subdomains
  41. Pentest Tools List
  42. How To Make Hacking Tools
  43. Hacking Tools For Kali Linux
  44. Best Hacking Tools 2020
  45. Pentest Recon Tools
  46. Kik Hack Tools
  47. Hacker Tools 2020
  48. New Hack Tools
  49. Hackers Toolbox
  50. Physical Pentest Tools
  51. Hack Tools For Ubuntu
  52. Hacking Tools Online
  53. Hacking Tools For Windows
  54. Hacker Tools List
  55. Best Hacking Tools 2020
  56. Hacker
  57. Pentest Automation Tools
  58. Pentest Tools Windows
  59. Kik Hack Tools
  60. Pentest Tools Download
  61. Pentest Tools Free
  62. Hack Tools Mac
  63. Hack Tools For Pc
  64. Pentest Tools Online
  65. Nsa Hack Tools Download
  66. Pentest Tools Website Vulnerability
  67. Hack Tools Download
  68. Pentest Tools For Windows
  69. Hacking Tools For Windows 7
  70. Pentest Box Tools Download
  71. Game Hacking
  72. Github Hacking Tools
  73. Bluetooth Hacking Tools Kali
  74. Pentest Tools Linux
  75. Pentest Tools Apk

Nenhum comentário: