| ||
Ever wonder how hackers break into voicemail systems? Learn about a merger or layoff before it actually happens? One of the oldest hacks in the book involves trying to break into voicemail boxes. No one in your company is immune, and typically the C X Os are at greatest risk because picking a unique code for their voicemail is rarely high on their agenda.
Popularity: | 2 |
Simplicity: | 8 |
Impact: | 9 |
Risk Rating: | 6 |
Two programs that attempt to hack voicemail systems, Voicemail Box Hacker 3.0 and VrACK 0.51, were written in the early 1990s. We have attempted to use these tools in the past, and they were primarily written for much older and less-secure voicemail systems. The Voicemail Box Hacker program would only allow for testing of voicemails with fourdigit passwords, and it is not expandable in the versions we have worked with. The program VrACK has some interesting features. However, it is difficult to script, was written for older x 86 architecture-based machines, and is somewhat unstable in newer environments. Both programs were probably not supported further due to the relative unpopularity of trying to hack voicemail; for this reason, updates were never continued . Therefore, hacking voicemail leads us to using our trusty ASPECT scripting language again.
As with brute-force hacking dial-up connections using our ASPECT scripts, described earlier, voicemail boxes can be hacked in a similar fashion. The primary difference is that using the brute-force scripting method, the assumption bases change because essentially you are going to use the scripting method and at the same time listen for a successful hit instead of logging and going back to see whether something occurred. Therefore, this example is an attended or manual hack, and not one for the wearybut one that can work using very simple passwords and combinations of passwords that voicemail box users might choose.
To attempt to compromise a voicemail system either manually or by programming a brute-force script (not using social engineering in this example), the required components are as follows : the main phone number of the voicemail system to access voicemail, a target voicemail box, including the number of digits (typically three, four, or five), and an educated guess about the minimum and maximum length of the voicemail box password. In most modern organizations, certain presumptions about voicemail security can usually be made. These presumptions have to do with minimum and maximum password length as well as default passwords, to name a few. A company would have to be insane to not turn on at least some minimum security; however, we have seen it happen. Let's assume, though, that there is some minimum security and that voicemail boxes of our target company do have passwords. With that, let the scripting begin.
Our goal is to create something similar to the simple script shown next . Let's first examine what we want the script to do (see Code Listing 6-9). This is a basic example of a script that dials the voicemail box system, waits for the auto-greeting (such as "Welcome to Company X's voicemail system. Mailbox number, please ."), enters the voicemail box number, enters pound to accept, enters a password, enters pound again, and then repeats the process once more. This example tests six passwords for voicemail box 5019. Using some ingenuity with your favorite programming language, you can easily create this repetitive script using a dictionary of numbers of your choice. You'll most likely need to tweak the script, programming for modem characteristics and other potentials. This same script can execute nicely on one system and poorly on another. Hence, listening to the script as it executes and paying close attention to the process is invaluable. Once you have your test prototype down, you can use a much larger dictionary of numbers , which will be discussed shortly.
"ASP/WAS script for Procomm Plus Voicemail Hacking "Written by M4phr1k, www.m4phr1k.com, Stephan Barnes proc main transmit "atdt*918005551212,,,,,5019#,111111#,,5019#,222222#,," transmit "^M" WAITQUIET 37 HANGUP transmit "atdt*918005551212,,,,,5019#,333333#,,5019#,555555#,," transmit "^M" WAITQUIET 37 HANGUP transmit "atdt*918005551212,,,,,5019#,666666#,,5019#,777777#,," transmit "^M" WAITQUIET 37 HANGUP endproc
The relatively good news about the passwords of voicemail systems is that almost all voicemail box passwords are only numbers from 0 to 9, so for the mathematicians, there is a finite number of passwords to try. That finite number depends on the maximum length of the password. The longer the password, the longer the theoretical time it will take to compromise the voicemail box. However, the downside again with this process is that it's an attended hack, something you have to listen to while it is going. But a clever person could tape-record the whole session and play it back later, or take digital signal processing (DSP) and look for anomalies and trends in the process. Regardless of whether the session is taped or live, you are listening for the anomaly and planning for failure most of the time. The success message is usually "You have X new messages. Main menu." Every voicemail system has different auto-attendants, and if you are not familiar with a particular target's attendant, you might not know what to listen for. But don't shy away from that, because you are listening for an anomaly in a field of failures. Try it, and you'll get the point quickly. Look at the finite math of brute forcing from 000000 to 999999, and you'll see the time it takes to hack the whole "keyspace" is long. As you add a digit to the password size , the time to test the keyspace drastically increases . Other methods might be useful to reduce the testing time.
So what can we do to help reduce our finite testing times? One method is to use characters (numbers) that people might tend to easily remember. The phone keypad is an incubator for patterns because of its square design. Users might use passwords that are in the shape of a Z going from 1235789. With that being said, Table 6-1 lists patterns we have amassed mostly from observing the phone keypad. This is not a comprehensive list, but it's a pretty good one to try. Remember to try the obvious things alsofor example, the same password as the voicemail box or repeating characters, such as 111111, that might comprise a temporary default password. The more revealing targets will be those that have already set up a voicemail box, but occasionally you can find a set of voicemail boxes that were set up but never used. There's not much point to compromising boxes that have yet to be set up, unless you are an auditor type trying to get people to listen and practice better security.
Sequence Patterns | |
123456 | 234567 |
345678 | 456789 |
567890 | 678901 |
789012 | 890123 |
901234 | 012345 |
654321 | 765432 |
876543 | 987654 |
098765 | 109876 |
210987 | 321098 |
432109 | 543210 |
123456789 | 987654321 |
Patterns | |
147741 | 258852 |
369963 | 963369 |
159951 | 123321 |
456654 | 789987 |
987654 | 123369 |
147789 | 357753 |
Z's | |
1235789 | 9875321 |
Repeats | |
335577 | 115599 |
775533 | 995511 |
U's | |
U | 1478963 |
Inverted U | 7412369 |
Right U | 1236987 |
Left U | 3214789 |
Angles | |
Angles | 14789 |
Angles | 78963 |
Angles | 12369 |
Angles | 32147 |
0's starting at different points | |
147896321 | 963214789 |
478963214 | 632147896 |
789632147 | 321478963 |
896321478 | 214789632 |
X's starting at different points | |
159357 | 753159 |
357159 | 951357 |
159753 | 357951 |
+'s starting at different points | |
258456 | 654852 |
258654 | 654258 |
456258 | 852456 |
456852 | 852654 |
Z's starting at different points | |
1235789 | 3215987 |
9875321 | 7895123 |
Top | |
Skip over across | 172839 |
Skip over across 1 | 283917 |
Skip over across 2 | 391728 |
Reverse | |
Skip over across | 392817 |
Skip over across 1 | 281739 |
Skip over across 2 | 173928 |
Bottom | |
Skip over across | 718293 |
Skip over across 1 | 829371 |
Skip over across 2 | 937182 |
Reverse | |
Skip over across | 938271 |
Skip over across 1 | 827193 |
Skip over across 2 | 719382 |
Left to right | |
Skip over across | 134679 |
Skip over across 1 | 467913 |
Skip over across 2 | 791346 |
Reverse | |
Skip over across | 316497 |
Skip over across 1 | 649731 |
Skip over across 2 | 973164 |
Once you have compromised a target, be careful not to change anything. If you change the password of the box, it might get noticed, unless the person is not a rabid voicemail user or is out of town or on vacation. In rare instances, companies have set up policies to change voicemail passwords every X days, like computing systems. Therefore, once someone sets a password, they rarely change it. Listening to other people's messages might land you in jail, so we are not preaching that you should try to get onto a voicemail system this way. As always, we are pointing out the theoretical points of how voicemail can be hacked.
Finally, this brute-force method could benefit from automation of listening for the anomaly. We have theorized that if the analog voice could be captured into some kind of digital signal processing (DSP) device, or if a speak-and-type program were trained properly and listening for the anomaly in the background, it might just save you having to sit and listen to the script.
Deploy strong security measures on your voicemail system. For example, deploy a lockout on failed attempts so that if someone were trying to brute force an attack, they could only get to five or seven attempts before they would be locked out.