How to exploit the SIP Digest Leak vulnerability

The SIP Digest Leak is a vulnerability that affects a large number of SIP Phones, including both hardware and software IP Phones as well as phone adapters (VoIP to analogue). The vulnerability allows leakage of the Digest authentication response, which is computed from the password. An offline password attack is then possible and can recover most passwords based on the challenge response.

By making use of sipdigestleak.py which is included in VOIPPACK, one can automate the process of getting the phone to ring, obtaining a challenge response and performing a brute-force attack. In this tutorial we shall be looking at how this module makes the whole process an easy task.

Vulnerability scenario

1. An IP Phone (victim) is listening on port 5060, accepting phone calls
2. The attacker sends an INVITE to the IP Phone
3. The victim phone starts ringing and someone picks up and hangs up (because no one answers the phone at the other end)
4. When the phone is hung up, the victim phone sends a BYE to the attacker
5. The attacker issues a 407 response that asks for authentication and issues an authentication challenge
6. The victim phone provides a response to the authentication challenge in a second BYE
7. The attacker can then issue a brute-force attack on the challenge response on his local machine (or distributed network etc) and guess the password.

The entire tutorial is available as a PDF here.

Don't miss