Заключительные замечания
Прямой взлом систем голосовой почты
В начале 90-х годов появились две программы, предназначенные для взлома систем голосовой почты: Voicemail Box Hacker 3.0 и VrACK 0.51. Авторы этой книги пробовали пользоваться ими, но оказалось, что эти программы подходят для взлома более ранних и менее защищенных систем голосовой почты. Программа Voicemail Box Hacker 3.0 предназначена только для работы с системами, использующими четырехзначные пароли. Программа VrACK 0.51 обладает некоторыми интересными возможностями, однако для нее сложно писать сценарии и, вообще, она рассчитана на старые архитектуры компьютеров на базе процессоров х86, а на современных компьютерах работает нестабильно. Возможно, упомянутые программы в настоящее время не поддерживаются потому, что попытки взлома систем голосовой почты предпринимаются нечасто. Таким образом, для взлома систем голосовой почты лучше всего использовать язык сценариев ASPECT.
Сценарий взлома систем голосовой почты аналогичен сценарию взлома удаленных соединений, но основывается на другом принципе. В данном случае достаточно просто установить связь, а попытки регистрации не требуются. Такой сценарий можно реализовать даже вручную, но тогда поиск ограничится лишь последовательным перебором достаточно простых паролей и их комбинаций, которые могут использоваться в системах голосовой почты.
Чтобы взломать систему голосовой почты вручную или с помощью простого сценария перебора паролей (здесь социальная инженерия не потребуется), необходимо знать основной номер для доступа к самой системе голосовой почты, код доступа к нужному почтовому ящику, включая количество цифр (обычно это 3, 4 или 5), а также иметь разумные предположения относительно минимальной и максимальной длины пароля почтового ящика. В большинстве современных систем используются стандартные предельные значения длины пароля, а также типичные предлагаемые по умолчанию пароли. Только очень беспечные компании не пытаются принять хоть какие-то меры защиты систем голосовой почты, однако, как показывает опыт, встречаются и такие. Однако при написании сценария будем исходить из предположения, что организация предпринимает некоторые меры защиты, и ящики голосовой почты имеют пароли.
Сценарий взлома системы голосовой почты должен выглядеть примерно так, как в листинге 9.7. Сценарий в этом примере устанавливает соединение с системой голосовой почты, ожидает приветственного сообщения от автоответчика, например "Вас приветствует система голосовой почты компании X. Назовите, пожалуйста, номер почтового ящика", вводит номер почтового ящика, символ # для подтверждения окончания ввода, вводит пароль и символ подтверждения, а затем снова возобновляет попытку соединения. В этом примере проверяется шесть паролей для почтового ящика 5019. С помощью несложных приемов программирования можно легко написать сценарий, который последовательно выбирает пароли из некоторого словаря. Возможно, этот сценарий, придется подстраивать под конкретный модем. Да и вообще, один и тот же сценарий может отлично работать в одной системе и неудовлетворительно в другой. Поэтому необходимо внимательно следить за его работой. Протестировав сценарий на небольшом перечне паролей, можно запускать его для более объемного словаря.
Листинг 9.7. Простой сценарий взлома системы голосовой почты на языке ASPECT для Procomm Plus.
proc main transmit "atdt*918005551212,,,,, 5019#,111111*,,50191.2222221,," transmit "^M" WAITQUIET 37 HANGUP transmit "atdt*918005551212,,,,,5019#,333333#,,5019#,555555#,," transmit "^м" WAITQUIET 37 HANGUP transmit "atdt*918005551212,,,,,5019#,666666*,,5019#,7777771,," transmit "^M" WAITQUIET 37 HANGUP endproc
Число вариантов паролей голосовой почты всегда конечно. Конкретное количество возможных паролей зависит от максимально допустимой длины пароля. Чем длиннее пароль, тем больше времени может потребовать его взлом. При этом следует иметь в виду, что за процессом взлома требуется постоянно следить и слушать ответы системы голосовой почты. Однако умный взломщик может записать весь процесс взлома на магнитофон, тогда постоянное его присутствие при работе сценария не потребуется. Независимо от того, когда прослушиваются результаты работы сценария (сразу же или потом), большинство попыток ввода пароля окажутся безуспешными. Успешная попытка должна завершиться сообщением типа "В вашем почтовом ящике имеется X новых сообщений…". Заранее нельзя точно угадать, каким будет это сообщение. Количество возможных попыток находится в экспоненциальной зависимости от длины пароля. Поэтому для ускорения процедуры взлома можно использовать некоторые эмпирические закономерности.
Итак, как же сократить время подбора номера? Во-первых, попробовать легко запоминаемые комбинации символов (цифр). Такие комбинации часто "навеяны" специфическим расположением кнопок телефона. Пользователи часто выбирают в качестве пароля последовательности расположенных определенным образом кнопок телефона, например, цифры 1235789 на клавиатуре телефона образуют букву Z.
В табл. 9.1 приведены наиболее типичные образцы паролей, обусловленные взаимным расположением кнопок телефонного номеронабирателя. Это далеко не полный список, но с него стоит начать. Не стоит игнорировать и очевидные комбинации символов, например 111111, которые могут предлагаться в качестве пароля по умолчанию. Скорее всего, в процессе поиска будут обнаружены установленные ящики голосовой почты, но среди них могут быть и такие, которыми никто никогда не пользовался. Такое выявление почтовых ящиков имеет смысл только для аудиторов, старающихся заставить пользователей более строго соблюдать меры безопасности.