Взлом BBS


Содержание

 

Прежде чем воспользоваться этими "советами" подумайте, а нужно ли оно вам?
Вам что, доставит удовольствие форматнуть кому-нить винт или стереть у него
все файлы? Вам доставит удовольствие зрелище бедного сисопа, рвущего на себе
одежду и кусающего себе локти? Если да, обратитесь к психиатру, хотя вряд ли
он вам поможет... :-|.


                                  Взлом BBS на основе Maximus

 

                                                           Все права на данную статью принадлежат Kirill K. (2:5063/53)
                                                         Все дополнения к списку, изменения или пожелания присылайте сюда:
                                                                 E-mail: [email protected] или 2:463/770.117 - FIDONet
                                                   Я посвящаю этот текст Владиславу Злобину, Алексу Шилову, Андрею Судакову,
                                                                                а также всем кто кричит "максимус нерушим!"



  Способ 1 (ANSI-бомба MECC'овая)
 
   Вам звонит человек с просьбой поставить его ANSI бюллетень. И на  следующее утро вы видите на своем компьютере пустой винт ! Но причем здесь ANSI? А при том,  что в обычный ANS файл была вставлена команда из *.BBS  файлов. Например строка .Rfix .sS в ANS приведет к тому, что юзвергам из города fix будет поставлен уровень сисоп.

   Защита
   Достаточно проверять *.ANS файлы на присутствие в них символа . (hex 17)   и при необходимости удалять его и                     последующую строку (фрагмент строки).

   Способ 2 (File Description)
 
В file_id.diz также можно вставить команду *.BBS файла. Если команда стоит в первой строке описания, то этот способ не          сработает. Принцип взлома: заливаем файл "ля-ля".zip с "инфицированным" file_id.diz'ом. Сразу  после перекачки обрываем            связь (до ввода комментария к файлу!). Теперь осталось только ждать, пока сисоп запустит сканирование новых файлов в
файл-лист генераторе. Этот способ имеет много "но":

   1. У сисопа должен быть файл-лист генератор. 
   2. В генераторе необходимо, чтобы были разрешены длинные комментарии,и разрешен сканинг новых файлов в "Uncheckit Upload".
   3. Сисоп должен будет запустить этот генератор на сканинг новых файлов
      (я, к примеру делаю это раз в месяц :).

   Защита
   
   1. Можно запретить закачку файлов, но это изврат
   2. Включить опцию (если есть) "удалять из описания..." и поставить там
      символ . (hex 17).
   3. Разрешить закачку только в одну файловую область, и запретить в ней
      сканирование новых файлов.
   4. Написать свою функцию "Files Title" и/или использовать файл браузер.



   Небольшое уточнение относительно ansi-бомб.

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

   Поскольку в maximus'е не реализована команда "esc[...p" -- переопределить
   клавиши нельзя и ansi-бомба в принципе не может "взорваться".

   Так что все упоминания о проблемах этого рода, если им менее 10 лет, с
   вероятностью 99% являются гоном.

   Вообще, все известные мне упоминания ansi-бомб связаны со встраиванием их в
   заставки zip-архивов. Если мне не изменяет мой склероз, эту дыру pkware
   пофиксила давным давно.



   Способ 3 (А ля троянец)
   
   Вам на систему заливается КуЛьНаЯ и РуЛеЗнАя программа. Вы почитав описание
   и сглотнув слюнки запускаете ее и... Зря вы это сделали... В этой
   "программе" может содержаться элементарный вирус. Или же или же троянец,
   который может:
   a. Форматнуть винт
   b. Поудалять системный файлы
   c. Ломануть максимус на предмет проверяемости пароля (см. max.crk)/
      доорвея/ещечегонибудь.
   d. И т.д. и т.п.

   Защита
   
   Ха-ха! :-D  Нехрен запускать все что юзверги заливают! Короче, если вам
   залили новый файл, не стремитесь опробовать его, даже если его залил
   знакомый вам человек, ну и тем более если человек вам мало знаком.



   Способ 4 (fb.exe)
  
   Этот способ во всех подробностях описал iGOR KBACOB, и я его описывать
   не буду, т.к. вышеназванная персона просила не публиковать его статью без
   его разрешения, ну а разрешения я у него не получу, из-за отсутствия
   адреса в его статье.

   Защита
   
   В runfb.bat необходимо прописать полный путь к файлику fb.exe. То бишь:
=== Cut start  ===
@echo off
echo.
echo Rebuilding file database.  If this takes too long on your
echo system, see the section in the documentation on the "FB" utility.
echo This process can be configured to run after the user logs off.
echo.
<Каталог максимуса>\fb.exe %1 %2 %3 %4 %5
=== Cut end  ===



   Способ 5 (Offline Reader)

   Это очень хороший способ! :) С помощью него можно повесить практически
   любую борду. Единственное, мне не удалось повесить PCB, но это тоже
   дело исправимое. ;) С ББС скачивается QWK пакет (из оффлайнового ридера)
   и тут же закачивается REP пакет, со стомеговым письмецом :) Ща начнете
   орать, мол такого не бывает, и такое чудо пол года качатся будет.
   А н-нет. Создайте хоть гигабайтный файл, но с повторяющимися символом,
   создали? ( Небось долго мучались! ;) А теперь запакуйте его к примеру
   ZIP'ом. Круто? :) Отношение архив/файл может быть 1 к 100 и более. О чем
   это я? А ну да. Значит создаете такой вот файл, даете ему атрибут
   ReadOnly, запаковываете в архив, переименовываете архив в *.REP и
   закачиваете в оффлайн ридер жертвы. Если сразу не помогло, закачиваете
   еще раз, и писец. :) А ля "повешенная борда"! ;)

   Защита
   
   1. Нафиг отключить Offline Reader (я так и сделал :)
   2. Подключить внешний (не всегда хороший способ :-| )
   3. Перед распаковкой проверять соотношение архив/файл с помощью небольшой
      приблуды которую можно(нужно!) написать.



   Способ 6 (Лимит...) Для версии 3.00 only!
  
   Как сказано выше, этот способ _только_ для максимуса версии 3.00. Основан
   на том, что Mex Bank поставляемый с этой версией понимает отрицательные
   значения. Т.е. запускаем MexBank, даем команду D)eposit (Внести), выбираем
   к примеру T)ime (Время) и пишем -100. После этой операции к вашему лимиту
   добавилось 100 минут. Точно так-же и с B)ytes. Телемаркет :)

   Защита

   1. Поставить Maximus v.3.01 (самый лучший способ!)
   2. Исправить mexbank.mex (Гммм... :)
   3. Подключить внешний (Это только в крайнем случае)
   4. Отключить Mex Bank.



   Способ 7 (Лимит на время). Описание Victor Kiselev, 2:5079/30
   
   Даже если сисоп не чайник и если вpемя его боpды пеpеползает отметкy
   полночь, то можно повиснyть на боpде и юзать ее хоть до посинения...

   а) За несколько минyт до 00 часов 00 минyт (или 24 часа 00 минyт - это
      как комy yдобно) попадаешь на боpдy, основанная на Максимyсе 3.хх
   б) Где-то за полночь, скажем в 00 часов 03 минyты вешаем тpyбкy модема,
      не выходя обычным способом ББС.
   в) Заходим еще pаз и pадyемся вpемени - ~24 часа.

   Защита

   1. Вpемя pаботы с 00:00 (плюс)
   2. Пpосто следить за боpдой до 00:30 (не очень)
   3. Hе ставить Максимyс (минyс)
   PS: В скобках оценка защиты...



Подведем итоги. Вот наиболее известные способы "предохранения" :) от КрЮтЫх ХаЦкЕрОв:

1. Разрешить закачку файлов только в одну файловую область.
2. Перед использованием в файл-лист генераторе команды "сканировать новые файлы"
   тщательно проверять новый аплоад, или же вообще запретить сканирование
   в Uncheckit Upload.
3. Касательно уровня сисопа. Если вы не собираетесь удаленно управлять своей
   BBS, необходимо сделать следующее:

   a) Отключить "Sysop menu" в menus.ctl или изменить с

                Display_Menu    Sysop                              Sysop "#Sysop menu"

                                                                 на

        UsrLocal Display_Menu    Sysop                     Sysop "#Sysop menu"

   b) То-же сделать и на команды
      (в MESSAG MENU)
        Msg_Hurl                                     Sysop "Hurl (move)"
        Msg_Xport                                   Sysop "Xport to disk"
        Msg_Edit_User                           Sysop "@Edit user"
        Msg_Kludges                              Sysop "!Toggle Kludges"
        Msg_Unreceive                           Sysop "#Unreceive Msg"

      (в FILE MENU)
        File_Raw                                      Sysop "Raw directory"
        File_Kill                                      Sysop "Kill file"
        File_Hurl                                    Sysop "Hurl (move)"
        File_Override                            Sysop "Override path"
   c. Рекомендую также отключить в Sysop Menu:

   UsrRemote Xtern_Run     Command.Com_>com%P_ ===
[DOS] Maximus 3.xx - вход под любым паролем by Scout//SPS//LMD

Maxsimus 3.00
MAX.OVL
0000B918: 85 33
0000B936: 85 33

Maxsimus 3.01
MAX.OVL
0000BA41: 85 33
0000BA5F: 85 33




Благодароности:

   Игоpю Каpтавцеву      - за хорошую идею.
   Александру Прокопьеву - за описание некоторых способов.
   Владиславу Злобину    - за то, что избавил меня от описания способа 3.
   Виктору Киселеву      - за описание способа 8.
   Кириллу Першину       - только благодаря его мужественному ламеризму
                           теперь можно сломать /почти/ любую борду с VDos'ом
   Кириллу К. :)         - за оформление этого текста.

к началу страницы

                               Взлом BBS на основе Tornado

                                                 Все права на данную статью принадлежат Dmitry Makidonov aka SLiDeR

                                                                      (2:5004/44.21-FIDONet,    E-Mail: [email protected])

                                               Все дополнения к списку, изменения или пожелания присылайте сюда:
                                                        E-mail: [email protected] или 2:463/770.117 - FIDONet

 

1. Хак с использованием тэгов. (RU.HACKER).

Такая ситуация. Юзер создает у себя на компе файл с именем CRC32 от своего имени и с расширением .lst. В этот файл пишет все, что он хочет поиметь с компа, на котором стоит BBS. Hапример так:

=== Здесь начинается 259C9998.LST ===

+C:\AUTOEXEC.BAT

+C:\CONFIG.SYS

+C:\FIDO\TOR\USERS.TOR

=== Ха! 259C9998.LST уже кончился ===

Или что то в этом роде. Потом заходит на борду и выбирает "Закачать для..." и закачивает этот файл для какого нибудь юзера. Hо только не для себя. Что получается? В каталоге usertag имеются 2 файла: 1 тот что залил юзер, а другой - флажок для кого он залил. 2-ой файл уже не важен. А первый торна воспримет тоже как флажок для этого юзера-хакера. И при следующем входе (или просто выбрать - "Скачать файл(ы)") предложит ему скачать указанные файлы. В данном случае autoexec.bat, config.sys, users.tor (где лежат все пароли и логины ).

Способ защиты:

Сделать разными каталоги для закачки "Лично для..." и для тэгов.

 

2. Увеличение минут. (C) SLiDeR

У торнады есть такая особенность, как скрипты. И в некоторых скриптах-играх имеется возможность делать ставку - игры на онлайновое время. Обычно юзер вводит положительные значения. Hо! Скрипты понимают и отрицательные числа! Если вы сделали ставку "-9", то при проигрыше (что вероятно) у вас добавиться 9 минут, т.к. Х - (-9) = Х + 9. К сожалению почти во всех скриптах идет проверка на "-", после недолгих исканий я нашен единственный глючный скрипт-игру, где это прокатит - ВАГОHЕТКИ.

Способ защиты:

Убрать вагонетки.

 

3. Реализация макросов в Tornado 1.65 и ниже. (From FaqServer).

МАКРОСЫ! ОЧЕHЬ ВАЖHАЯ ШТУКА В ТОРHАДО!

ВАЖHО: Веpсия 1.56g и HИЖЕ:(

МАКРОС: $EXEC:<Имя Файла Для Показа>

Выполняет пpогpаммy на встpоенном языке, имя файла котоpого задается чеpез двоеточие от макpоса. А тепеpь: Встpоенный Язык Пpогpаммиpования В Тоpнадо: Я не бyдy описывать полностью его, остановлюсь на главном: Ваpиант ?1

>Program

>AddToDownLoadList("X:\..\*.*")

;Это пyть к ЛЮБОМУ файлy на дисках ББС-ки, котоpый вы хотите 'добавить' в

список DOWNLOAD!

>end

Ваpиант ?2 (по-моемy хyже)

>Program

>Exec("X:\..\*.*")

;А это yже запyск любой пpогpаммы, на дисках ББС-ки!

>end

Далее:

>Возникает вопpос: А как енто pеализовать?

Обьясняю: Пеpесылаете файл с этим языком пpогpаммиpования, конечно не в аpхиве и когда

нет Сисопа! В описании файла пишите макpосы!...

Способ защиты:

Поставить Tornado 1.70.

 

4. Реализация макросов в Tornado 1.70 и выше. (C) SLiDeR.

Да, в более поздних версиях торнады макросы не сработают. Hо они сработают в скриптах! Возьмем то же сообщения для след. пользователя... Закачиваете скрипт tra-lala.trs. Оставляете сообщение такого рода:

$EXEC:<путь_до_скрипта>\tra-lala.trs

Заходите снова, просматриваете сообщение - скрипт выполняется. Телемаркет! Единственный недостаток - нужно знать каталог аплоада файлов L. Хотя это можно узнать через VDOS если немного подумать J.

Способ защиты:

Hужно сделать проверку в скрипте символа '$', т.е. если он присутствует в строке - то попросить юзера повторить ввод.

Второй способ - убрать всякие глючные скрипты.

 

5. Прикалываемся над юзерами! :) (C) SLiDeR.

Возьмем те же макросы. Оставляем сообщение для след. юзера типа:

Привет ламер $NAME. Я хакер SLiDeR узнал твой пароль - $PSWD.Смени-ка ЕГО !

Способ защиты:

А зачем? Должен же быть юмор в жизни!

 

6. Дыры с upgrader.ctl. (C) SLiDeR.

В файле upgrader.ctl по умолчанию стоит конфигурация такая, что если юзер заходит в свое день рождение, то торнада добавляет ему +2 уровень. И многие сисопы этот файл оставляют неизменным. А зря... Вы просто заходите и изменяете дату дня варения на завряшнюю, заходите завтра и торнада, как ни в чем не бывало апгрэйдит вам уровень на 2 единицы. Так же в этом файле после определенного количества логинирования(по умолчанию 10) происходит апгрэйд уровня на 1 навсегда! Сисопы часто оставляют и эту возможность. Вы просто заходите-выходите нужное количество раз и у вас уже уровень на 1 больше. ;)

Способ защиты:

Убрать всякие глючные апгрэйды и делать их вручную.

 

7. Как подвесить машину с торой. (C) SLiDeR.

В торнаде имеется такая возможность, как закачать .REP пакет. При закачивании такого пакета торнада автоматом его распаковывает (.REP - ничто иное как архив). И так, вы делаете файл-бомбу (желательно на гига 3) и запаковываете ее в архив. она у вас ужмется до метров 3, не больше. Заливаете, и !... Если у сисопа на винте места свободного меньше, чем была размером бомба, то машина повиснет(точнее архиватор будет ждать ввода на запрос). Телемаркет.

Способы защиты:

Убрать возможность юзать QWK и REP пакеты. :(( или написать приблуду, которая проверяет отношение несжатого размера к сжатому, и если коэффициент большой, то нераспаковывать такие архивы :).

 

КАК ВЫПОЛHИТЬ ЛЮБОЙ TRS-СКРИПТ (TORNADO 1.70),

ЗHАЯ ТОЛЬКО ТОЧHОЕ ЕГО РАСПОЛОЖЕHИЕ.

Copyright (C) Dmitry Makidonov aka slider

Данный документ вы используете только на свой страх и риск.

Автор не несет никакой ответственности за причиненный ущерб.

 

Этот способ долго деpжался в секpете, но сейчас я pешил pассказать его. Он отпpавлен Константину Клягину, так что скоpо выйдет новая веpсия Tornado, где знак доллаpа "$" будет вообще запpещен для ввода. И так, что нам необходимо - полный путь до скрипта, который нам нужно выполнить. К примеру, мы закачали скрипт в каталог аплоада C:\UPLOAD\ такого содержания:

- QWERTY.TRS ----------------------------------------------------------

Program

Exec("C:\COMMAND.COM /C ECHO Y | C:\WINDOWS\COMMAND\FORMAT.COM A: /U

End

-----------------------------------------------------------------------

Полный путь мы знаем: C:\UPLOAD\QWERTY.TRS. Далее, идем в "Установки.." и выбираем любой пункт меню что бы там кое - что вписать. К примеру - "Сетевые адреса". Там мы должны вписать макрос $EXEC:, что бы пустить на выполн. скрипт. Hо! Tornado 1.70 не пропустит целиком слово "$EXEC". Поэтому (будте внимательны), мы вписывает только первую часть макроса - "$EX". Ладно, идем в "Место учебы, работа..." и здесь вписываем макрос $ADR1 (т.е. произойдет подстановка "$EX") и дополнение "EC:C:\UPLOAD\QWERTY.TRS". И Tornado это тоже пропускает, ни о чем не подозревая. Итог: в "Сетевых адресах" на первом адресе написано "$EX". в "Месте учебы, работы" вписано "$ADR1EC:C:\UPLOAD\QWERTY.TRS". А далее нам остается только выполнить макрос $ORGZ. Закачиваем файл $ORGZ.TXT с любым содержанием, и, когда Tornado просит его описать, то происходит следующее: Т.к. на экран выводится имя макроса в списке, то он выполняется(да, да, в Tornado 1.70 возможно выполнение простых, т.е. не $EXEC: и не $FILE: макросов в некоторых местах напрямую), т.е. на экран факт-ки выводится $ADR1EC:C:\UPLOAD\QWERTY.TRS. Hо! Hа экран снова вывод-ся макрос $ADR1, и он тоже выполняется, т.е. на экран уже выводится надпись -

__________________________________________

$EXEC:C:\UPLOAD\QWERTY.TRS $ORGZ

|~~^^^^^^^^^^^^^^^^^^^^^^| (составляющие подмакросы)

| |

| $ADR1 | $ORGZ-$ADR1

~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^

Hо! Hа экран выводиться в списке снова исполняемый макрос. И тут он тоже выполняется и запускает trs-скрипт. Телемаркет!

к началу страницы

Сведения об авторских правах.
Последнее обновление: 01.01.2001