Poodle - HoLyVieR/tls-attack GitHub Wiki

Poodle

This implements the Poodle attack as described in numerous papers like This POODLE Bites: Exploiting The SSL 3.0 Fallback. It offers a practical proof of concept which solves many issue when dealing with real-world attack.

An example of the usage of this module can be found in here.

Tested browsers

  • Firefox 16.0.1

Note : The downgrade attack required for Poodle partially works. It has to be the first time the browser connects to the server for it to work.

Tested servers

  • OpenSSL 1.0.1a

Note : The server must of course support SSLv3.

API

PoodleAttack ( https_mitm , force_request )

The constructor of this module requires an instance of two modules. The first one https_mitm is of any module capable of intercepting and modifying the HTTPS traffic of the victim. The second one force_request is of any module capable of forcing the victim to make any request of our choice.

on_vulnerable_connection ( callback_handler ( key, client_ip, server_ip ) )

Whenever the module detects a connection vulnerable to the Poodle attack, it will call the callback_handler with the parameters specified in the constructor.

  • key : Unique identifier of the vulnerable connection between the client and the server.
  • client_ip : IP of the victim
  • server_ip : IP of server the victim is connecting to.

decrypt_byte (key, index, callback_handler ( result, index ) )

Perform the Poodle attack to decrypt a byte at the position index of the header of a forced request. The position 0 of this index is a best guess of where the second line of the HTTP header starts.

  • key : Unique identifier of the vulnerable connection between the client and the server.
  • index : byte position to find
  • result : value of the byte at the position index.