Wednesday, August 26, 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).
Related posts
  1. Kik Hack Tools
  2. New Hack Tools
  3. Pentest Tools Bluekeep
  4. Hack Tools Mac
  5. Pentest Tools Framework
  6. Hacker Tools Apk
  7. Android Hack Tools Github
  8. Pentest Tools Review
  9. Hacking Tools For Pc
  10. Hacking Tools For Kali Linux
  11. Hacking Tools Usb
  12. Hacker Hardware Tools
  13. Game Hacking
  14. Hacker Hardware Tools
  15. Hacker Tools For Ios
  16. Termux Hacking Tools 2019
  17. Hack Tools Online
  18. Pentest Tools Find Subdomains
  19. Hacking Tools For Pc
  20. Hacker Tool Kit
  21. Tools For Hacker
  22. Top Pentest Tools
  23. Pentest Tools Windows
  24. Hacking Tools And Software
  25. Usb Pentest Tools
  26. Pentest Tools Alternative
  27. Pentest Tools Port Scanner
  28. Hacker Tools Apk Download
  29. Beginner Hacker Tools
  30. Pentest Tools Framework
  31. Hack Tools 2019
  32. Pentest Tools Linux
  33. Nsa Hack Tools Download
  34. Hacking Tools Free Download
  35. World No 1 Hacker Software
  36. Pentest Recon Tools
  37. Easy Hack Tools
  38. Tools Used For Hacking
  39. Pentest Tools Website
  40. Best Hacking Tools 2019
  41. Hacking Tools Hardware
  42. Pentest Tools Website
  43. Hack Tool Apk
  44. Hacker Tools Free
  45. Tools Used For Hacking
  46. Hacker Tools 2020
  47. Hacker Tools
  48. Tools 4 Hack
  49. Pentest Automation Tools
  50. Hack Tools For Mac
  51. Hacker Tools Github
  52. Hacking Tools Download
  53. Ethical Hacker Tools
  54. Pentest Tools Online
  55. Hacking Tools For Kali Linux
  56. Hack Tools For Games
  57. Pentest Tools
  58. Hack Tools For Mac
  59. Hack Tools Online
  60. Hack Tools For Games
  61. Pentest Tools For Android
  62. Hacking Tools For Windows Free Download
  63. Hackers Toolbox
  64. Tools For Hacker
  65. New Hacker Tools

No comments: