Attacks against SSL
Attack tree
1 SSL stripping
1.1 Configure attack machine for IP forwarding (AND)
1.2 Route all HTTP traffic to SSLStrip (AND)
1.3 Run SSLStrip
2 SSL hijacking
3 SSL beast
Example
IP forwarding:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Route traffic
# iptables –t nat –A PREROUTING -i eth0 –p tcp –dport 80 –j REDIRECT –to-port 54321
Run sslstrip
and write the results to a file (-w strip.log
), listening on port 54321 (-l 54321
):
# sslstrip -w strip.log -l 54321
Notes
SSL stripping
SSL stripping downgrades an HTTPS connection to HTTP by intercepting the TLS authentication sent from the application to the user. The adversary sends an unencrypted version of the application’s site to the user while maintaining the secured session with the application.
It does not do any magical stuff to fulfill the job, it just replaces the protocol of all HTTPS links in the sniffed traffic. The attacker must take care that the traffic of the victim flows over his host by launching some kind of on-path attack first.
SSL hijacking
In SSL hijacking an adversary forges authentication keys and passes those to both the user and application during a TCP handshake. This sets up what appears to user and application to be a secure connection while the man in the middle controls the entire session.
SSL beast
SSL beast is an attack developed by Juliano Rizzo and Thai Duong, which leverages weaknesses in cipher block chaining (CBC) to exploit the Secure Sockets Layer (SSL) protocol. The CBC vulnerability can enable man-in-the-middle (MITM) attacks against SSL in order to silently decrypt and obtain authentication tokens, providing hackers with access to the data passed between a Web server and the Web browser accessing the server.
Tools
Resources
SSL BEAST (Browser Exploit Against SSL/TLS)