Сейчас на форуме: Slinger, Rio (+5 невидимых)

 eXeL@B —› Основной форум —› Формат пакетов Network Assistant
Посл.ответ Сообщение

Ранг: 5.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 августа 2006 11:34
· Личное сообщение · #1

Есть такой чат от Gracebyte Software (http://gracebyte.com) для локальной сети на широковещалках. Мейн, личка, пересылка файлов, доска рисования и т. д. Бонусы - удалённое управлене процессам, просмотр копии экрана и т. п. Текущая версия 4.1, однако меня интересует 3.2 (т. к. её юзают в моей локалке). Мне удалось выдрать код шифровки и расшифровки пакета (применяется Blowfish, возможно, сторонний компонент, возможно, от TSM inc.) и в общих чертах разобраться со структурой пакета. В начале следует заголовок: версия пакета - байт, длина данных, как юдп-дейтаграммы - ворд - не шифруются; остальное: байт, всегда не больший двух, счётчик, тип пакета, хост- и ник-нейм, время отправки шифруется. Далее следуют собственно данные пакета (зашифрованы вместе с заголовком). Проблема в том, что интерпретация этих данных зависит от типа пакета, а их существет несколько десятков. Рано или поздно я, конечно, выясню коды наиболее важных, но работа эта абсолютно нетворческая и неинтересная В инете есть несколько глючноватых ботов (я имел дело с vsbot и krbot), есть скрипт посылающий пакет вызывающий аварийное завершение программы, т. е. программу копали. Возможно у кого-то есть полезная информация и он может поделится




Ранг: 103.3 (ветеран), 8thx
Активность: 0.060
Статус: Участник

Создано: 19 августа 2006 05:17
· Личное сообщение · #2

В свое время я разбирал их формат хранения сообщений (как раз для версии 3.2) =) Там тоже был блоуфиш, сбрутить пасс было уже вломы, но всю структуру от и до я восстановил. Авторы не идут на встречу ) Когда я сказал и показал им "отреверсенное" они напряглись и послали меня в лес. Если я не ошибаюсь один из "ботов" - работал с кем-то из команды грейсбайта.

А ваще советую забить на насси и юзать ирк. Насси прошлый век: саппорт убогий, покупать дорого, косяк на косяке. В сад их.



Ранг: 5.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 августа 2006 14:11
· Личное сообщение · #3

Юзать - может быть, но реверсить ирку неинтересно. А народ у нас в сетке консервативный, до сих пор сидит на непропатченной наське 3.2 (той, которую можно вырубить специальным пакетом).
Брутом паса я не занимался, однако идой нашёл функцию, которая вычисляет blowfish-подключи. Всего структура, которую я условно назвал TBlowfish занимает 4184 байта: два блока по 8 байт, всегда заполняются одним и тем же числом, далее идёт 4 кб - S-массив и 72 байта - P-массив инициализируемые числом пи без тройки (как в стандартной реализации). Вычисляются подключи дважды во время запуска программы до крипта и отсылки первого пакета. Первый раз используется ключ длиной 4 байта - тик таймера, второй раз 10-байтный (всегда один и тот же). Зачем нужен 4-байтный ключ я так и не понял, скорее всего с его использованием генерируются данные для первых пакетов типа "я здесь!" (поэтому имхо юзверя не видно, если он некорректно перегрузит наську, не дав ей отослать сообщение о выходе), но все пакеты (в т. ч. и первый) шифруются с 10-байтным ключём.
Т. о. пароль имхо брутить не надо, он прямым текстом лежит в nassi.exe. Другое дело, что их реализация blowfish отличается от описания алгоритма, которое есть у меня. В частности используется непонятный 16-байтный блок из двух одинаковых четверных слов. Это дело напоминает фришный компонент от TSM inc., там он тоже юзается, и в коде можно найти очень похожие строки а-ля проверка ключа if len<1 or len>56 print "лажа" raise exception (строка "лажа" совпадает), возможне gracebyte юзает платную версию. В хелпе к компоненту описывается TBlock - массив 8-ми байт, но зачем он нужен не пишут.

Можешь поделиться структурой "от" и "до"? Жизненный цикл и структуру пакета я уже отследил, но как происходит представление юзверей друг другу и формат зависящих от команды данных для различных команд (кроме нескольких) я ещё не разбирал




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 19 августа 2006 14:18
· Личное сообщение · #4

Mescalito пишет:
В инете есть несколько глючноватых ботов (я имел дело с vsbot и krbot), есть скрипт посылающий пакет вызывающий аварийное завершение программы, т. е. программу копали. Возможно у кого-то есть полезная информация и он может поделится

или попробуй реверснуть самих ботов, хотя это не очень "красиво" %)

-----
Тут не могла быть ваша реклама




Ранг: 5.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 августа 2006 15:25
· Личное сообщение · #5

Они тоже написаны на делфях, причём один из них (vsbot) явно реверснут с оригинала (а может просто писали его люди приближенные к разработчикам), а второй (krbot) включает в себя ещё и код для Vypress чата, оба чата запакованы (хотя, это совсем не проблема), глючны и т. п. Да и главный недостаток - для работы требуют сам чат: они снифят его пакеты и самостоятельно расшифровуют




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 19 августа 2006 15:39
· Личное сообщение · #6

Mescalito пишет:
Да и главный недостаток - для работы требуют сам чат: они снифят его пакеты и самостоятельно расшифровуют

ведь нужен же именно код расшифровки.. какие проблемы7

-----
Тут не могла быть ваша реклама




Ранг: 5.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 августа 2006 15:47
· Личное сообщение · #7

Код расшифровки и шифровки я и так уже выдрал идой и компильнул (он небольшой, несколько килобайт в бинарнике). Осталось прифигачить снифер и можно самому читать пакеты (правда, это теоретически, на практике могут возникнуть проблемы). Меня сейчас больше интересует значение командно-зависимых полей пакета.




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 19 августа 2006 15:55
· Личное сообщение · #8

Mescalito пишет:
Меня сейчас больше интересует значение командно-зависимых полей пакета.

krbot вроде бы имеет PDK, там есть некая структура пакета, которую можно заполнять самому из своего плагина.. вот и посмотри как он формирует пакет в заисимости от заполненной плугом структуры

-----
Тут не могла быть ваша реклама




Ранг: 5.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 августа 2006 16:19
· Личное сообщение · #9

Хм... а ведь действительно... Спасибо за идею, покопаю ещё и в этом направлении




Ранг: 327.3 (мудрец)
Активность: 0.250
Статус: Участник

Создано: 19 августа 2006 18:47
· Личное сообщение · #10

Mescalito пишет:
(krbot) включает в себя ещё и код для Vypress чата,

так вроде исходники есть
angel5a.narod.ru/krbot/nassi2irc_src.rar

-----
in search of sunrise




Ранг: 5.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 августа 2006 19:07
· Личное сообщение · #11

Это исходник плагина для krbot'а



Ранг: 5.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 октября 2006 12:58
· Личное сообщение · #12

Наконец-то дописал статью...
wasm.ru/print.php?article=nassi




Ранг: 104.1 (ветеран)
Активность: 0.070
Статус: Участник
искатель истЕны

Создано: 05 октября 2006 20:32
· Личное сообщение · #13

Ст0тья полезная, только неясно почему 3.х. Он уже давно не актуален. Во всяком случае в нашем городе.




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 05 октября 2006 20:55
· Личное сообщение · #14

напиши и про 4, там не так уж много сильных изменений ;)

-----
Тут не могла быть ваша реклама




Ранг: 5.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 октября 2006 15:43
· Личное сообщение · #15

В моей сети пользуются 3.х, поэтому его. Подозреваю, что в 4.х просто перетасовали поля и номера и используют другой ключ. Может посмотрю, когда (если) будет время и желание


 eXeL@B —› Основной форум —› Формат пакетов Network Assistant
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати